Xreferat.com » Рефераты по информатике и программированию » Основы алгоритмизации и программирования (кр№1, вар1)

Основы алгоритмизации и программирования (кр№1, вар1)

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)


Заочный факультет

(дистанционная форма обучения)


Кафедра автоматизированных систем управления (АСУ)


ПРОГРАММИРОВАНИЕ


Контрольная работа №1


Дата выполнения работы: 04.08.2003


Дата проверки:_________


Оценка:_________


Преподаватель:__________________


Подпись преподавателя:___________


2003 г.


Контрольная работа № 1


№ варианта – 1.


Задание:


Задан массив чисел X[1..15].

Определить значение переменной у. Исходные данные и результат напечатать с пояснительным текстом.


у=

0,000135А4, если А10.


Где А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]

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;

  1. Листинг программы:


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.

Похожие рефераты: