
- •Перечень обеспечивающих средств
- •Псевдокод алгоритма
- •Задание 1. Запись математических выражений на алгоритмическом языке
- •Задание 2. Запись арифметических выражений в математической форме
- •Задание 3. Циклические вычислительные процессы. Вычисление значений функции при различных значениях аргумента (табулирование функции)
- •1 Способ: Цикл с использованием операторов условного (if) и безусловного переходов (goto)
- •2 Способ: Организация цикла с предусловием (while) Общий вид алгоритма цикла с предусловием
- •3 Способ: Организация цикла с постусловием (repeat…until) Общий вид алгоритма цикла с постусловием
- •4 Способ: Организация цикла с параметром (for) Общий вид алгоритма цикла с параметром
- •Задание 4. Циклические вычислительные процессы. Решение задач, содержащих вычисление конечных сумм и произведений
- •1 Способ: Цикл с предусловием (while)
- •2 Способ: Цикл с постусловием (repeat…until)
- •3 Способ: Цикл с параметром (for) со счётчиком (с шагом 1)
- •1Способ: Цикл с предусловием (while)
- •Индивидуальные задания
Лабораторная работа № 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 x, s; int n; cout << ” Введите значение x :” ; cin >> x; if ( х > 0) s = cos (x) / sin (x); else { s = 0; for ( n = 2; n <=10; n ++) s = s+((pow (–1, n) * n) / ((n*n-1)))*sin (n*x); } cout << ”s =” << s <<endl; }
Программа на Pascal
Program a_3a; var x, s : real; n : 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. Схема циклического алгоритма |
|