Основы алгоритмизации и программирования кр 1, вар1
Основы алгоритмизации и программирования кр 1, вар1
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Заочный факультет
(дистанционная форма обучения)
Кафедра автоматизированных систем управления (АСУ)
ПРОГРАММИРОВАНИЕ
Контрольная работа №1
Дата выполнения работы: 04.08.2003
Дата проверки:_________
Оценка:_________
Преподаватель:__________________
Подпись преподавателя:___________
2003 г.
Контрольная работа № 1
№ варианта – 1.
Задание:
Задан массив чисел X[1..15].
Определить значение переменной у. Исходные данные и результат напечатать с пояснительным текстом.
у=
0,000135А4, если А10.
Где А1 – сумма элементов массива Х;
А4 – сумма косинусов положительных элементов массива Х;
М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] 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; Листинг программы: 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] 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.

Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ