Лабораторная работа №3. Программирование циклических алгоритмов
Цель работы Закрепить практические навыки работы с системой PascalABC.net, научиться правильно использовать различные операторы циклов; научиться составлять программы решения задач с использованием циклических структур. Общие сведения Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений этих операторов может быть задано в явной (цикл с известным заранее числом повторений) или неявной (цикл с неизвестным заранее числом повторений) форме. Примеры решения задач по теме «Программирование циклических алгоритмов» Задание 1 Вычислить значение: Для организации вычислений суммы и произведения использовать оператор цикла с параметром For.... Этапы решения задачи 1. Для упрощения расчетов разобьем выражение на две составляющие: Окончательное значение y вычислим по формуле 2. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла for...
4. Выполним программу в среде Pascal ABC.NET (см. п.3.1.4). Задание 2 Написать программу для вычисления приведенной ниже функции с использованием операторов: a) FOR…; b) While…do; c) Repeat…until. Этапы решения задачи 1. Определим переменные, которые будем использовать в программе: S – сумма ряда, b – степень числителя x, a – степень очередного слагаемого в знаменателе, z –знак слагаемого.
2. Для вычисления N – числа повторений цикла for.. –используем формулу
3. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла for...
4. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла while..do. Этот цикл называется циклом с предусловием, так как проверка проводится до начала очередной итерации. До первого входа в цикл переменной b уже должно быть присвоено начальное значение. Затем сравним его с конечным значением. Цикл будет выполняться, пока условие истинно. Как только условие нарушается, выполнение цикла завершается.
5. Составляем блок-схему алгоритма и программу расчета, используя оператор цикла Repeat…until.
3. Выполним программу в среде Pascal ABC.NET (см. п.3.1.4).
Задание 3 Составить программу, которая вычисляет сумму ряда с заданной точностью. Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем данное малое положительное число e. . х =1,7, e=10–3 . Этапы решения задачи 1. Определим переменные, которые будем использовать в программе: S – сумма ряда, SL – текущее слагаемое, F – знаменатель(факториал), eps – заданная точность, N – номер слагаемого. По условию задачи слагаемое требуется сравнивать с заданной точностью. Наиболее удобным для данного вида вычислений является оператор цикла Repeat…until, так как проверка условия осуществляется после каждого выполнения тела цикла. 2. Составим блок-схему алгоритма и программу расчета.
4. Выполним программу в среде Pascal ABC.NET (см. п.3.1.4). Задание 4 Затабулировать функцию двух переменных внутри квадрата и и области существования функции . Шаги табуляции Δ х = Δ у. Результаты вывести в виде таблицы. В точках, где функция не определена, вывести 4 символа «*».
Этапы решения задачи 1. Для вычисления функции определим область допустимых значений функции: , так как «подкоренное» выражение должно быть положительным. 2. Так как функция зависит от двух переменных , будем использовать конструкцию из вложенных циклов while..do. Составим блок-схему алгоритма и программу расчета. Program zadanie4; var Z, x, Y:real; N:integer; Begin WRITELN(‘ | N | X | Y | Z |’); N:=0; {Номер точки} X:=-1; {начальное значение Х} WHILE (X<=2) DO {Цикл по Х} BEGIN Y:=0; {начальное значение Y} WHILE (Y<=1) DO {Цикл по Y} BEGIN N:=N+1; d:= 3-SQR(X); {Область существования Z} IF ((d>0) THEN BEGIN Z:=SQRT(d)+2*Y; WRITELN(‘ ‘,N:2,’ ’,X:5:2,’ ‘,Y:5:2, ‘ ‘, Z:5:2); writeln(‘__________________________’); END ELSE begin WRITELN(‘*****’); writeln(‘__________________________‘); end; Y:=Y+0.1; END;
X:=X+0.1; END; end. Варианты заданий по теме «Циклические алгоритмы» Задание 1 Вычислить значение функции y. Значение x задать произвольно.
Задание 2 Написать программу для вычисления значения функции F (x) с использованием операторов: For…; While…do; Repeat…until. Значение x задать произвольно.
Задание 3 Составить программу, которая вычисляет сумму ряда с заданной точностью. Нужная точность считается полученной, если очередное слагаемое оказалось по модулю меньше, чем e (это и все последующие слагаемые учитывать не надо).
Задание 4 Затабулировать функцию двух переменных внутри квадрата и и области существования функции . Шаги табуляции Δ х = Δ у. Результаты вывести в виде таблицы. В точках, где функция не определена вывести 4 символа «*».
Лабораторная работа №4.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|