Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
PAGE 5
Программирование алгоритмов циклической структуры на языке Турбо Паскаль. Простые циклы
Продолжительность:
80 мин.
Цель:
Изучить процесс построения алгоритмов циклической структуры. Научиться составлять программы, организующие циклические вычисления на языке Турбо Паскаль.
Результат обучения:
После успешного завершения занятия пользователь должен:
Используемые программы:
ИСР - TURBO PASCAL 7.0.
План занятия:
I. Работа под руководством преподавателя.
Изучение организации циклических вычислений на примерах. 20 минут
II. Самостоятельная работа 60 минут
ЗАПУСК ПРОГРАММЫ:
Предполагается, что требуемые программы уже инсталлированы на диске.
(См. «Инструкцию по установке программы на ПК»)
I. Изучение организации циклических вычислений на примерах.
Рекомендуемое время
20 минут
Цикл типичная структура, характерная для программ, реализуемых на ЭВМ. Возможны три способа организации циклических структур алгоритмов:
Тело цикла это повторяющаяся последовательность действий. Логический блок предназначен для управления циклом. Логический блок определяет количество проходов в цикле.
В цикле «До» условие окончания цикла расположено после тела цикла. Это означает, что тело цикла выполниться хотя бы один раз. В цикле «Пока» условие окончания цикла расположено до тела цикла, поэтому возможны варианты, когда цикл не выполнится ни разу.
В Паскале эти структуры реализуются с помощью оператора с постусловием и оператора с предусловием.
Синтаксис оператора с постусловием:
Repeat <последовательность операторов> Until <логическое выражение>;
Тело цикла расположено между служебными словами Repeat и Until. Это любая последовательность операторов языка. Операторы выполняются в цикле до тех пор, пока логическое выражение имеет значение False. Как только выражение примет значение True, цикл закончит свою работу и осуществится переход к выполнению следующего оператора, расположенного после оператора цикла.
Синтаксис оператора с предусловием:
While <логическое выражение> Do <оператор>;
До тех пор, пока логическое выражение имеет значение True, выполняется тело цикла. Телом цикла может быть любой оператор языка, в том числе и составной.
Пример 1.
Условие задачи:
Написать программу табулирования функции Y = x sin x 0.25.
Схема алгоритма:
Переменная Х изменяется в цикле и по значению этой переменной определяется условие окончания цикла.
Программа, организующая цикл с помощью оператора цикла с постусловием:
Program Tabl1;
Var x, xn, xk, dx, y: Real;
{x текущее значение аргумента}
{xn начальное значение аргумента}
{xk конечное значение аргумента}
{dx шаг изменения аргумента}
{y значение функции}
Begin
Write(Начальное значение аргумента ); Readln(xn);
Write(Конечное значение аргумента ); Readln(xk);
Write(Шаг изменения аргумента ); Readln(dx);
x := xn; {Присвоили начальное значение аргументу}
Repeat
{Начало тела цикла}
Y := x sin (x) 0.25; {Рассчитали значение функции}
Writeln ( x:8:2, y:10:2); {Вывели результат на экран}
X := x + dx; {Текущее значение аргумента увеличили на шаг}
{Конец тела цикла}
Until x>xk; {Проверка условия окончания цикла}
End.
Программа, организующая цикл с помощью оператора цикла с предусловием:
Program Tabl2;
Var x, xn, xk, dx, y: Real;
Begin
Write(Начальное значение аргумента ); Readln(xn);
Write(Конечное значение аргумента ); Readln(xk);
Write(Шаг изменения аргумента ); Readln(dx);
х:= xn;
While x<= xk Do {Цикл выполняется до тех пор, пока выполняется условие}
Begin {В цикле выполняется один составной оператор}
Y := x sin (x) 0.25;
Writeln ( x:8:2, y:10:2);
X := x + dx;
End; {Конец тела цикла}
End.
Цикл с параметром в программах на Турбо Паскале реализуется с помощью оператора For ... To ... Do. Синтаксис оператора цикла с параметром:
For <идентификатор> := <выражение1> To <выражение2> Do <оператор>;
Идентификатор переменной и выражение должны иметь один и тот же порядковый тип. Переменная изменяется в цикле от значения <выражение1> до значения <выражение2> с шагом 1. Эта переменная управляет циклом и называется параметром цикла. В цикле выполняется один любой оператор языка, в том числе и составной. Шаг изменения параметра цикла постоянен и равен 1. Возможна другая интерпретация оператора:
For <идентификатор> := <выражение1> Downto <выражение2> Do <оператор>;
В этом случае шаг изменения параметра равен 1.
Оператор For чаще используется в случаях, когда при организации циклов необходимо использовать счетчик.
Пример 2.
Условие задачи:
Вычислить сумму квадратов первых N чисел натурального ряда.
Схема алгоритма:
Параметром цикла является переменная i. Значение переменной i изменяется от 1 до N с шагом 1. Каждое значение i, возведенное в квадрат прибавляется к переменной Sum и результат присваивается значению Sum. Таким образом, в переменной Sum накапливается сумма квадратов i. Так как при первом проходе значение Sum в правой части выражения должно быть равно нулю, до начала цикла значение Sum обнуляется. Тот же прием используется при подсчете произведения. Очевидно, что начальное значение произведения должно равняться 1.
Программа:
Program Summa;
Var i, n, Sum: integer;
Begin
Write(Введите n); Readln(n);
Sum := 0; {Начальное обнуление суммы}
For i := 1 To n Do
Sum := Sum + i*i;
{Тело цикла оператор присваивания для накопления суммы}
Writeln(Сумма =,Sum);
End.
II. Самостоятельная работа
Рекомендуемое время
60 минут
Задание:
Составить схему алгоритма, написать и отладить программу в соответствии с вариантом.
№ варианта |
Задача |
1 |
Подсказка: в интервале, где расположен корень, функция меняет знак.
|
2 |
|
3 |
|
4 |
|
5 |
Подсказка: в интервале, где расположен корень, функция меняет знак.
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
Дополнительные задачи: