1 Блок - схемыспособ (цикл - пока) 2 способ (цикл - до)
Программы
Program a1;
Var x, y: real;
Begin
x := 1;
while x<=5 do
begin
y := sqr (x);
writeln (‘x=’, x, ‘_y=’, y);
x := x+0.5;
end;
end.
Program a2;
Var x, y: real;
Begin
x := 1;
Repeat
y: =sqr(x);
writeln (‘x=’, x, ‘_y=’, y);
x := x+0.5;
until x>5;
end.
ЗаданиеНайти значение функцииy=f(x), еслиxизменяется отAдоBс шагом 0,5 (или с шагом -0,5). Написать программу, алгоритм на алгоритмическом языке и блок – схему для решения задачи с помощью циклов с предусловием и постусловием (должно быть 2 программы, 2 алгоритма и 2 блок – схемы).
№ варианта |
Функция |
А |
В |
|
№ варианта |
Функция |
А |
В |
1 |
|
10 |
17 |
19 |
|
10 |
17 | |
2 |
|
1 |
8 |
20 |
|
1 |
7 | |
3 |
|
1 |
9 |
21 |
|
12 |
2 | |
4 |
|
5 |
12 |
22 |
|
11 |
4 | |
5 |
|
-12 |
-4 |
23 |
|
2 |
9 | |
6 |
|
1 |
9 |
24 |
|
3 |
9 | |
7 |
|
-2 |
7 |
25 |
|
12 |
7 | |
8 |
|
5 |
-4 |
26 |
|
5 |
11 | |
9 |
|
1 |
12 |
27 |
|
-4 |
3 | |
10 |
|
1 |
7 |
28 |
|
12 |
1 | |
11 |
|
10 |
3 |
29 |
|
14 |
9 | |
12 |
|
6 |
13 |
30 |
|
2 |
7 | |
13 |
|
4 |
12 |
31 |
|
15 |
10 | |
14 |
|
10 |
5 |
32 |
|
16 |
4 | |
15 |
|
1 |
8 |
33 |
|
5 |
12 | |
16 |
|
8 |
17 |
34 |
|
12 |
9 | |
17 |
|
12 |
5 |
35 |
|
6 |
12 | |
18 |
|
4 |
9 |
|
|
|
|
Контрольные вопросы:
Как записываются операторы While, Repeat?
Как изображается циклы в блок-схемах?
Практическая работа 11
Тема:Составление программ циклических вычислительных процессов. Циклы Repeat и While
Цель: Научиться решать задачу с помощью циклов с предусловием и с постусловием.
ЗадачаВычислить значение функции
при x=a·sin a, значение a изменяется от –0,3 до 0,4 с шагом 0,1.
Решим задачу с помощью условного оператора и оператора безусловного перехода.
program prim;
uses crt;
label n;
var a, x, y: real;
begin
clrscr;
a:=-0.3;
n: x:=sin(a);
if x>=2 then y:=sqr(x) else y:=exp(x);
writeln ('y(',x:6:3,')=',y:6:3,' pri a=',a:6:3);
a:=a+0.1;
if a<=0.4 then goto n ;
readkey
end.
Решите задачу с помощью цикла с помощью операторов WhileиRepeatпо заданным блок-схемам.
Задание для самостоятельного решения.
Напишите программу решения задачи. Запишите решение задачи на алгоритмическом языке и составьте блок-схему для обоих видов циклов: цикла While и Repeat.
Вариант 1
Вычислить значение функции:
Вариант 2
Вычислить значение функции:
Вариант 3
Вычислить значение функции:
Вариант 4
Вычислить значение функции:
Вариант 5
Вычислить значение функции:
Вариант 6
Вычислить значение функции:
Вариант 7
Вычислить значение функции:
Вариант 8
Вычислить значение функции:
Вариант 9
Вычислить значение функции:
Вариант 10
Вычислить значение функции:
Вариант 11
Вычислить значение функции:
Вариант 12
Вычислить значение функции:
Вариант 13
Вычислить значение функции:
Вариант 14
Вычислить значение функции:
Вариант 15
Вычислить значение функции:
Вариант 16
Вычислить значение функции:
Вариант 17
Вычислить значение функции:
Вариант 18
Вычислить значение функции:
Вариант 19
Вычислить значение функции:
Вариант 20
Вычислить значение функции:
Вариант 21
Вычислить значение функции:
Вариант 22
Вычислить значение функции:
Вариант 23
Вычислить значение функции:
Вариант 24
Вычислить значение функции:
Вариант 25
Вычислить значение функции:
Вариант 26
Вычислить значение функции:
Вариант 27
Вычислить значение функции:
Вариант 28
Вычислить значение функции:
Вариант 29
Вычислить значение функции:
Вариант 30
Вычислить значение функции:
Вариант 31
Вычислить значение функции:
Вариант 32
Вычислить значение функции:
Вариант 33
Вычислить значение функции:
Вариант 34
Вычислить значение функции:
Вариант 35
Вычислить значение функции:
Контрольные вопросы:
Опишите формат оператора цикла с предусловием.
Опишите формат оператора цикла с постусловием.
Как записывается оператор ветвления?
Практическая работа 12
Тема: Составление программ циклических вычислительных процессов. Цикл For - do, For - down
Цель: Научиться применять оператор цикла по параметру.
Теория
for i:=A to В do {для i от А до В выполнять (шаг равен 1)}
begin {начало цикла}
тело цикла {операторы}
end; {конец цикла}
for i:=A downto В do {для i от А до В выполнять (шаг равен -1)}
begin {начало цикла}
тело цикла {операторы}
end; {конец цикла}
Оператор цикла с параметром применяют тогда, когда известно число повторений одного и того же действия или когда заданы первоначальное и конечное значение цикла.
Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями целого типа.
Рассмотрим, как выполняется оператор цикла с параметром вида For i:=A to В do. Сначала вычисляются значения выражений А и В. Если А <= В, то <параметр> последовательно принимает значения, равные А, А+1,..., В - 1, В, то есть с шагом 1, и для каждого из этих значений выполняется «тело цикла». Если А > В, то <тело цикла> не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.
For i:=A downto В do и выполняется аналогичным образом, но значение <параметра> изменяется с шагом, равным -1.
Пример.
Составить программу вычисления значений функции для x от 1 до 20 с шагом 1.
Решение.
Вданном случае целесообразно организовать цикл с параметром, изменяющимся от 1 до 20, то есть шаг изменения параметраравен +1.
Алг
пример1
арг
x
(цел)
рез
y
(вещ) нач
для
x
от
1 до
20 выполнять
нц
вывод
у
кц кон
Program prim1; {название}
Var x: integer ; y : real; {список переменных}
Begin {начало}
for x:=1 to 20 do {параметры цикла}
begin {начало цикла}
y:= 1/x; {оператор тела цикла – расчет y}
writeln (‘y=’, y); {оператор тела цикла – вывод y}
end; {конец цикла}
end. {конец}
Задание на дом Найти и вывести на экран значения данной функции для х от А до В. Оформить в отчет задание, блок-схему, алгоритм, программы. Например, для 1 варианта:
Найти и вывести значения функции
для х от 10 до17.
№ варианта |
Функция |
А |
В |
|
№ варианта |
Функция |
А |
В |
1 |
|
10 |
17 |
18 |
|
4 |
9 | |
2 |
|
1 |
8 |
19 |
|
1 |
7 | |
3 |
|
1 |
9 |
20 |
|
12 |
2 | |
4 |
|
5 |
12 |
21 |
|
11 |
4 | |
5 |
|
-12 |
-4 |
22 |
|
2 |
9 | |
6 |
|
1 |
9 |
23 |
|
12 |
7 | |
7 |
|
-2 |
7 |
24 |
|
5 |
11 | |
8 |
|
5 |
-4 |
25 |
|
-4 |
3 | |
9 |
|
1 |
12 |
26 |
|
12 |
1 | |
10 |
|
1 |
7 |
27 |
|
14 |
9 | |
11 |
|
10 |
3 |
28 |
|
2 |
7 | |
12 |
|
6 |
13 |
29 |
|
15 |
10 | |
13 |
|
4 |
12 |
30 |
|
16 |
4 | |
14 |
|
10 |
5 |
31 |
|
5 |
12 | |
15 |
|
1 |
8 |
32 |
|
12 |
9 | |
16 |
|
8 |
17 |
33 |
|
6 |
12 | |
17 |
|
12 |
5 |
34 |
|
2 |
15 |
Контрольные вопросы:
Как записывается цикл по параметру на языке Паскаль?
В каком случае пишется слово to, в каком – downto при написании оператора цикла по параметру?
Чему равен шаг в цикле по параметру в Паскаль?
Практическая работа 13
Тема. Вычисление суммы и произведения.
ЦЕЛЬ: Научиться вычислять сумму, произведение числовых рядов.
Теория
Задача: Вычислить значение функции приx=1.
Дан числовой ряд, каждый k-ый член ряда вычисляется по формуле: x+2k, где x заданное число (в нашем случае x=1, получается ряд чисел: 3, 5, 7, 9, 11, 13…). Найти сумму второго, третьего и четвертого члена ряда (т.е. y=5+7+9).
Заметим, что вычисление выражения m = x + 2k повторяется для k от 2 до 4. В ячейке памяти, выделенной для переменной Y, будем «накапливать» значение суммы. Сначала присвоим Y значение 0, так как 0 не влияет на сумму чисел. Затем к нему прибавим первое вычисленное значение m =x+2k (ячейка памяти для вычисления промежуточного значения – значения члена ряда), потом второе и т.д. Таким образом, переменной Y присвоим значение суммы числового ряда.
алг вычисление суммы
вещ x, m, y
нат k
нач
ввод x
y:=0
для k:=2 до 4 выполнять
нц
m:=x+2k
y:=y+m
кц
вывод y
кон
Задание. Запишите y без знака и. Напишите программу нахождения суммы и произведения числовых рядов для своего варианта. Постройте блок – схему задачи и заполните таблицу исполнения одной из программ.
Образец начала заполнения таблицы исполнения для программы нахождения суммы ряда приведен ниже.
Шаг |
В памяти |
На экране |
Действие компьютера |
1 |
x=1 |
_1 |
Ввод x: с клавиатуры 1 |
2 |
y=0 |
- |
присвоение |
3 |
k=2 |
- |
Начало цикла, k=2, 2≤4 (и) |
4 |
m=1+2·2=5 |
- |
Вычисление значения m |
… |
… |
… |
… |
№ варианта |
Задание |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Контрольные вопросы:
Как найти сумму сумму членов числового ряда?
Как найти произведение членов числового ряда?
Как можно упростить прорамму?
Практическая работа 14
Тема. Вложенные циклы
ЦЕЛЬ: Приобретение навыков программирования, используя вложенные циклы.
Теория
Внутри одного цикла могут содержаться другие циклы. В этом случае говорят о вложенных циклах.