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

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

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

 

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

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

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

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

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

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

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

Оценка:_________

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

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

2003 г.


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

№ варианта – 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<=ndo

                    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;

     whilei<=n do

                    begin

                         if     X[i]<A1

                         then   M1:=M1+1;

                         i:=i+1;

                    end;

Проверка условия задачи и определение искомого значения у всоответствии с условием.

     if A1<0then

                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;

end.

еще рефераты
Еще работы по информатике, программированию