Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
циклические алгоритмы.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
450.56 Кб
Скачать

Лабораторная работа № 5

 

ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ. ОПЕРАТОРЫ ЦИКЛА

 

Время выполнения – 4 часа.

 

Цель работы

 

Научиться составлять программы, используя операторы цикла. Научиться оформлять циклические схемы алгоритма.

 

Задачи лабораторной работы

 

После выполнения работы студент должен:

– знать правила написания текста программы как на формальном языке (псевдокоде), так и на языке программирования;

– знать, как по схеме алгоритма написать текст программы и, наоборот - по тексту программы составить схему её алгоритма;

– знать правила использования операторов условия и циклов;

– уметь организовывать циклы с помощью операторов условия;

– знать назначение и работу каждого оператора в программе;

– уметь проводить тестирование программы.

 

Перечень обеспечивающих средств

 

Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система Windows 2003 и выше, язык программирования С++ и Pascal.

 

Общие теоретические сведения

 

Циклическим является алгоритм, если определенная последовательность шагов выполняется некоторое целое число раз. Рис. 9 иллюстрирует циклические алгоритмы (а – цикл с предусловием, б – с постусловием, в – с параметром).

                      а)                                         б)                                       в)

 Рис. 9  Циклические алгоритмы

 

У каждого из операторов цикла имеются особенности в их использовании (табл. 9): условные циклы выполняются пока условие истинно (в Pascal – цикл с постусловием выполняется пока условие ложно), а цикл с параметромработает, пока управляющая переменная цикла (так называемый параметр) не достигнет своего конечного значения.

 

                                                                                                               Таблица 9

Операторы циклов

 

 

Для  С

Для Pascal

Условные циклы

while (условие)

  { операторы }

while  условие  do

 begin операторы end;

do 

 { операторы }

while (условие)

repeat

 begin операторы end

 until  условие;

С

парамет-ром

for ( переменная  = нач_знач;

переменная <= кон знач;  шаг)

 

{ операторы }

for  переменная  = нач_знач   to  кон_ знач    do

 begin операторы end;

 

 

Пример 6. Вычислить функциональный ряд с известным количеством элементов.

Ряд, как известно, состоит из элементов, каждый из которых вычисляется по единой формуле. Для решения подобных задач удобно использовать оператор цикла с параметром.

Например, вычислить функцию если условие истинно, иначе найти сумму ряда.

 

 

В данном примере это знакопеременный ряд, значения элементов ряда которого вычисляются в цикле (где n – порядковый номер элемента ряда).

Схема алгоритма задачи представлена на рис. 10. Ниже даны программы на языках СPascal и Псевдокод.

              Программа на C

 

#include <iostream.h>        

#include <math.h>

main ()

float xsint n;

   cout << ” Введите значение x :” ;  cin >> x;

   if  ( х > 0)  cos (x) / sin (x);

else { s = 0; 

          for ( n = 2; n <=10; ++)

s = s+((pow (1, n) * n) / ((n*n-1)))*sin (n*x);

        }

cout << ”s =” << s <<endl;

}

 

           Программа на Pascal

 

Program a_3a;             

var xs : real;  integer;

begin write ( ‘Введите значение x’ );

readln (x);

if  x > 0 then  s := cos (x) / sin (x)

            else

        begin s := 0;

                 for n := 2 to 10 do

s:=s+((exp(n*ln(abs(-1)))*n/((n*n-)))* sin(n*x);

        end;

writeln (‘ Результат = ’, s);

end.         

       Рис. 10.  Схема циклического алгоритма