ЛАБОРАТОРНАЯ РАБОТА № 4 (8 часов)
ЛАБОРАТОРНАЯ РАБОТА № 4 (8 часов)
ТЕМА: « Программирование алгоритмов циклической структуры »
Необходимые технические средства:
Персональный компьютер Пентиум-4.
Необходимые программные средства:
Система программирования Турбо Паскаль.
Цель работы: Обучить студентов методам построения блок-схем и составления программ на языке Паскаль для алгоритмов циклической структуры.
ЗАДАНИЕ: Вычислить значение функции. Осуществить вывод значений вводимых исходных данных и результатов вычисления.
Задания к вариантам
1. R= a=3, t=2.3, x=[0;4]; Dx=0,25
2. U= c=1.25, a=3, b=0.7 i=[0;3]; Di=0,3
3. P= c=2.3, x=[0;8]; Dt=0,5
4. G= a=2, b=2.9, c=12 x=[0;3]; Dx=0,15
5. F= a=12, b=23, t=[0.5;8]; Dt=0,25
6. W= t=[-1;1]; Dt=0,2; a=2,5; b=0,4
7. Z= i=[1;10]; Di=1; a=0,3; N=10
8. W= i=[0;12]; Di=1; a=2,1; b=1,8; c=-20,5
9. Y= x=[0,8;2]; Dx=0,1; a=0,9
10. S= x=[0;7]; Dx=0,5; a=2,6;b=-0,39
11. Z= x=[0,2;2]; Dx=0,2; t=2,2
12. F= x=[0,5;2]; Dx=0,1; a=20,3
13. Y= x=[2;5]; Dx=0,25; a=2,5; b=-1,5
14. Q= x=[0,1;1]; Dx=0,1; b=1,5
15. W= x=[1;5]; Dx=0,5; a=2,5
16. Y= x=[0,2;2,8]; Dx=0,2; a=2,3
17. Q= x=[0,7;2]; Dx=0,1; a=1,65
18. W= x=[1;2];Dx=0,05; a=2,8;b=-0,3; c=4
19. Y= x=[0,8;2]; Dx=0,1; a=1,5
20. W= t=[0;3]; Dt=0,15; a=-0,5; b=2
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Программы циклической структуры позволяют производить многократные вычисления группы операторов при изменении одного или нескольких параметров одновременно. Для организации повторов в языке Паскаль используются операторы цикла FOR , WHILE, REPEAT.
Оператор цикла FOR используется для организации цикла с известным числом повторений.
Общий вид записи:
При увеличении значения параметра:
FOR i:=m1 to m2 do s;
при уменьшении значения параметра:
FOR i:=m1 downto m2 do s;
где i – параметр цикла (не можеть быть величиной действительного типа);
m1 и m2- начальное и конечное значения параметра цикла соответственно;
S – тело цикла, состоящее из простого или составного оператора.
1- пример. Определите число повторов в цикле.
.
Вид программы:
program FUNY1 (input, output);
var n,i,: integer;
x,y,a,b,h: real;
begin
read(a,b,h);
n:=trunc((b-a)/h)+1;
x:=a;
for i:=1 to n do
begin
y:=(x*x*x-4*x+1)/(abs(x)+1);
writeln(‘x=’,x:4:2,’y=‘,y:4:2);
x:=x+h;
end;
end.
Оператор цикла WHILE используется для организации цикла с неизвестным числом повторений. Общий вид записи оператора:
WHILE b DO s ;
где b- логическое повторение: s- тело цикла.
Значения переменных, входящих в условие, должны изменяться в теле цикла, иначе цикл не будет завершен.
С помощью оператора While 1-задание можно записать в таком виде:
program FUNY2 (input, output);
var x,y,a,b,h: real;
begin
read(a,b,h);
x:=a;
while x<=b do
begin
y:=(x*x*x-4*x+1)/(abs(x)+1);
writeln(‘x=’,x:4:2,’y=’,y:4:2);
x:=x+h;
end;
end.
Оператор цикла REPEAT используется для организации цикла с неизвестным числом повторений.
Общий вид записи оператора:
REPEAT S UNTIL b;
где S – тело цикла; b-логическое выражение.
В отличие от оператора While в операторе Repeat проверка условия выполняется в конце оператора, поэтому он обеспечивает хотя бы одно вычисление при значении логического выражения True.
2-пример. Программа имеет следующий вид:
program FUNY2 (input, output);
var x,y,a,b,h: real;
begin
read(a,b,h);
x:=a;
repeat
y:=(x*x*x-4*x+1)/(abs(x)+1);
writeln(‘x=’,x:4:2,’y=’,y:4:2);
x:=x+h;
until p/k<a;
end.
Порядок выполнения работы:
1. Построить блок-схему алгоритма решения задачи.
2. Составить программу на языке Паскаль согласно построенной блок-схеме.
3. Набрать программу в среде Турбо-Паскаль.
4. Сохранить программу в памяти компьютера.
5. Отладить программу (найти синтаксические и логические ошибки в программе и исправить их).
6. Запустить программу.
7. Ввести исходные данные.
8. Переписать результаты.
9. Провести анализ полученного решения.
10. Оформить лабораторную работу.
Вопросы для проверки:
1. Какие алгоритмы называются циклическими?
2. Какие операторы используются при программировании алгоритмов циклической структуры?
3. Какова структура условного оператора FOR?
4. Как используется оператор WHILE?
5. Как используется оператор REPEAT?
Автор: Ташходжаев Султанмурат Акмалович