|
||||||||||||
|
||||||||||||
|
|||||||||
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Основы алгоритмизации и программирования (кр№1, вар1)Основы алгоритмизации и программирования (кр№1, вар1)ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Заочный факультет (дистанционная форма обучения) Кафедра автоматизированных систем управления (АСУ) ПРОГРАММИРОВАНИЕ Контрольная работа №1 Дата выполнения работы: 04.08.2003 Дата проверки:_________ Оценка:_________ Преподаватель:__________________ Подпись преподавателя:___________ 2003 г. Контрольная работа № 1 № варианта – 1. Задание: Задан массив чисел X[1..15]. Определить значение переменной у. Исходные данные и результат напечатать с пояснительным текстом. [pic] у= 0,000135(А4, если А1(0. Где А1 – сумма элементов массива Х; А4 – сумма косинусов положительных элементов массива Х; М1 – количество элементов массива Х, значения которых меньше А1. 1. Для решения задачи составим структурную схему алгоритма. Для этого определиим используемые переменные и их тип. Х[1..15] – массив, состоящий из 15 элементов, каждый из которых записан в экспоненциальной форме и имеет вещественный тип данных; i – номер очередного элемента; n – номер конечного элемента массива; М1 - количество элементов массива, значения которых меньше суммы всех элементов массива. Переменные i, n, M1 имеют целочисленный тип данных; А1 – используется для подсчета суммы всех элементов массива Х; А4- используется для подсчета сумм косинусов положительных элементов массива Х; у - искомая по условию задачи переменная. Переменные А1, А4, у имеют вещественный тип данных. Алгоритм выполнения: Для генерации элементов массива используем процедуру Randomize; n:=15; i:=1; Генерируем элементы массива Х с помощью функции random и выводим их на экран while i<=n do begin writeln (i,'-й член массива',random:10); x[i]:=random; i:=i+1; end; Цикл будет повторятся n раз (в данном случае 15), генерируя новый элемент массива Х и заполняя таким образом массив данных. Задаем начальные вычисляемые значения и выводим их на экран. A1:=0; A4:=0; y:=0; M1:=0; Для вычисления суммы всех элементов массива Х и занесения этой суммы в переменную А1 используем цикл i:=1; while i<=n do begin A1:=A1+X[i]; i:=i+1; end; Определение на положительность каждого элемента массива. Если элемент положителен, определяем его косинус и суммируем его значение в переменную А4 i:=1; while i<=n do begin if X[i]>0 then A4:=A4+cos(X[i]); i:=i+1; end; Определяем, меньше ли значения каждого элемента массива Х[i] по сравнению с суммой всех элементов массива A1. Те элементы, значения которых меньше A1, суммируются количественно в переменную М1 i:=1; while i<=n do begin if X[i]<A1 then M1:=M1+1; i:=i+1; end; Проверка условия задачи и определение искомого значения у в соответствии с условием. if A1<0 then y:=(A4*2.8E-03+A1)/(M1*A1+3E-01) else y:=A4*1.35E-04; 2. Листинг программы: program kr1var1; uses crt; var {задаем переменные и их тип} X: array [1..15] of real; i,n,M1:integer; A1,A4,y:real; s1:string; begin clrscr; {используем процедуру генерации элементов массива} randomize; writeln; n:=15; i:=1; {генерируем элементы массива Х и выводим их на экран} while i<=n do begin writeln (i,'-й член массива',random:10); x[i]:=random; i:=i+1; end; {задание начальных значений и вывод их на экран} A1:=0; A4:=0; y:=0; M1:=0; writeln; writeln ('A1: ',A1:10); writeln ('A4: ',A4:10); writeln ('M1: ',M1); writeln ('y: ',y:10); {суммирование элементов массива и определение А1} i:=1; while i<=n do begin A1:=A1+X[i]; i:=i+1; end; {определение на положительность каждого элемента массива, если элемент положителен, определяем его косинус и суммируем значение записывается в переменную А4} i:=1; while i<=n do begin if X[i]>0 then A4:=A4+cos(X[i]); i:=i+1; end; {определяем, меньше ли значения каждого элемента массива по сравнению с суммой всех элементов массива. Те элементы, значения которых меньше суммы всех элементов массива,суммируются количественно в переменную М1} i:=1; while i<=n do begin if X[i]<A1 then M1:=M1+1; i:=i+1; end; {проверка условия задачи и определение искомого значения у Вывод на экран результатов вычислений} if A1<0 then y:=(A4*2.8E-03+A1)/(M1*A1+3E-01) else y:=A4*1.35E-04; writeln; writeln; writeln ('A1: ',A1:10); writeln ('A4: ',A4:10); writeln ('M1: ',M1); writeln ('y: ',y:10); readln; end. |
РЕКЛАМА
|
|||||||||||||||||
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА | ||
© 2010 |