Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.
При выполнении работы необходимо знать:
Знать и уметь строить алгоритмы циклической структуры.
Знать операторы цикла (смотри лаб. работу № 5).
Уметь составить схему программы (алгоритм) циклической структуры для данной задачи и записать программу по готовому алгоритму.
Теоретический минимум:
При программировании алгоритмов циклической структуры с неизвестным числом повторений можно пользоваться оператором цикла while p do s; (с предусловием) или оператором цикла repeat s until p; (с постусловием).
Напомним синтаксис этих операторов на примере вычисления суммы ряда:
Цикл WHILE Цикл REPEAT
i:=2; S:=0; i:=2; S:=0;
while i<100 do repeat
begin S:=S+1/i;
S:=S+1/i; i:=i+1;
i:=i+1; until i>=100;
end;
Задача 7.
Вычислить приближенное значение числа с заданной точностью, если известно, что сумма ряда: приближается к значению при достаточно большом количестве членов ряда.
Математическая формулировка задачи:
Сумму ряда можно определить при помощи цикла с неизвестным числом повторений, который закончится при достижении необходимой точности вычислений.
Каждый член ряда вычисляется по формуле и помножается на -1, если n четное, и на +1, если n нечетное. Вычисления заканчиваются тогда, когда значение очередного члена ряда становится меньше, чем заданная точность вычислений.
Алгоритм решения задачи 7: Текст программы:
Program Ex_7;
Uses Crt;
Var
P: real; { сумма }
t: real; { точность вычислений }
el: real; { элемент ряда }
n: integer; { знаменатели дробей }
Begin
ClrScr;
P:=0;
n:=1;
el:=1;
write(‘ Задайте точность вычислений ’);
readln(t);
While el>=t do
begin
el:=1/(2*n-1);
if (n mod 2)=0
then P:=P-el;
else P:=P+el;
n:=n+1;
End;
P:=P*4;
Writeln(‘Значение ПИ равно ’ ,P);
Readln;
End.
- 230401 «Информационные системы»
- 230115 «Программирование в компьютерных системах»
- Лабораторная работа №1. Организация ввода-вывода информации
- Алфавит языка Turbo Pascal.
- Переменные и константы.
- Основные типы переменных.
- Структура программы.
- Оператор присваивания, операторы ввода с клавиатуры и вывода на экран.
- Процедуры управления выводом на экран.
- Компиляция и выполнение программы.
- Лабораторная работа №2. Арифметические выражения. Программирование алгоритмов линейной структуры.
- Арифметические выражения в языке Turbo Pascal.
- Стандартные арифметические функции.
- Генератор случайных чисел.
- Составление алгоритма и программы для решения задачи.
- Лабораторная работа № 3. Программирование алгоритмов разветвленной структуры. Оператор ветвления if … then … else
- Условный оператор if … then … else.
- Составной оператор.
- Лабораторная работа № 4. Программирование алгоритмов разветвленной структуры. Оператор ветвления case.
- Условный оператор Case.
- Лабораторная работа № 5. Программирование алгоритмов циклической структуры с известным числом повторений.
- Оператор циклаWhile.
- Оператор цикла repeat.
- Вложенные циклы
- Оператор перехода
- Лабораторная работа № 6. Обработка строк с использованием операторов цикла.
- Лабораторная работа № 7. Программирование алгоритмов циклической структуры с неизвестным числом повторений.
- Лабораторная работа № 8. Обработка одномерных числовых массивов.
- Лабораторная работа № 9. Обработка двумерных числовых массивов.
- Лабораторная работа № 10. Использование процедур и функций при обработке массивов.
- Лабораторная работа № 11. Тип запись. Массивы записей.
- Лабораторная работа № 12. Обработка информации из файлов последовательного доступа.
- Лабораторная работа № 13. Обработка информации из файлов прямого доступа.
- Лабораторная работа № 14. Модуль программиста. Многомодульный проект.
- Текст модуля программиста к задаче 14.