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