Язык программирования Pascal Повторение А. Жидков

Содержание

Слайд 2

Оператор цикла for

Оператор цикла for имеет одну из двух форм:
СИНТАКСИС:
1 форма. for

Оператор цикла for Оператор цикла for имеет одну из двух форм: СИНТАКСИС:
переменная := начальное значение to конечное значение do оператор
(начальное значение < конечное значение)
2 форма. for переменная := начальное значение downto конечное значение do  оператор
(начальное значение > конечное значение)
Заголовок цикла - текст от слова for до слова do включительно,
Тело цикла - оператор после слова do, в том числе составной оператор (begin…end).
Параметр цикла - переменная после слова for.
СЕМАНТИКА:
Для 1 формы цикла со словом to параметр цикла, увеличивается всякий раз на единицу.
Для 2 формы со словом downto - параметр цикла уменьшается на единицу.

Примеры: for k=3 to 7 do write (k,k*k,’ПРИВЕТ’);
for n=9 downto 4 do write (n,2*n,’ответ’);

Слайд 3

Оператор цикла for

СЕМАНТИКА 1 форма:
for переменная := начальное значение to конечное значение

Оператор цикла for СЕМАНТИКА 1 форма: for переменная := начальное значение to
do оператор
Шаг 1. При входе в цикл <переменной> присваивается <начальное значение>.
Шаг 2. Проверяется условие
переменная <= конечное значение
Если условие TRUE - исполняется тело цикла
Если условие FALSE – цикл завершается, исполняется оператор за телом цикла
Шаг 3. После исполнения тела цикла переменная модифицируется
переменная:=переменная +1
Шаг 4. Цикл продолжается с шага 2

Слайд 4

Оператор цикла FOR

1. For1. Даны целые числа K и N (N > 0). Вывести N раз число K.

Оператор цикла FOR 1. For1. Даны целые числа K и N (N

Дано: K и N – целые
Найти: Write (‘k=‘,k) N-раз

program NK;
var N,K,I:integer;
begin
write ('введите целое N=');
readln (N);
write ('введите целое K=');
readln (K);
for I:=1 to N do writeln ('K=',K,' I=',I);
end.

Слайд 5

Оператор цикла FOR

Напечатать свое имя, столько раз сколько тебе лет.

Дано: name –

Оператор цикла FOR Напечатать свое имя, столько раз сколько тебе лет. Дано:
имя (текст)
V – возраст (целое)
Найти: write (name) V - раз

program NK;
var v,I:integer;
name:string;
begin
write ('введите своё имя Name=');
readln (Name);
write ('введите свой возраст в годах V=');
readln (V);
for I:=1 to V do writeln('Name=',Name,' I=',I);
end.

Слайд 6

Задание на самоподготовку

Задание 1. For2. Даны два целых числа A и B (A < B). Вывести

Задание на самоподготовку Задание 1. For2. Даны два целых числа A и
в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.
Задание 2. For3. Даны два целых числа A и B (A < B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.
Задание 3. For4. Дано вещественное число — цена 1 кг конфет. Вывести стоимость 1, 2, …, 10 кг конфет.
Задание 4. Задать произвольное слово. Напечатать на экране слово N раз. Лесенкой (со сдвигом вправо).
Вася
Вася
Вася

Слайд 7

Оператор цикла FOR

Задание 1. For2. Даны два целых числа A и B (A < B). Вывести

Оператор цикла FOR Задание 1. For2. Даны два целых числа A и
в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также их квадраты, кубы и количество N этих чисел.

program AIB;
var A,B,i,N:integer;
begin
writeln ('введите А и В - целые A < B');
readln (A,B);
for i:=A to B do
writeln (i:10, i*i:10, i*i*i:10);
N:=B-A+1;
writeln ('N=',N);
end.

Слайд 8

Оператор цикла FOR

Задание 2. For3. Даны два целых числа A и B (A < B). Вывести

Оператор цикла FOR Задание 2. For3. Даны два целых числа A и
в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

program AIB;
var A,B,i,N:integer;
begin
writeln ('введите А и В - целые A < B');
readln (A,B);
N:=0;
for i:=B-1 downto A+1 do
begin
writeln (i:10, i*i:10, i*i*i:10);
N:=N+1;
end;
writeln ('N=',N);
end.

Слайд 9

Оператор цикла FOR

Задание 3. For4. Дано вещественное число — цена 1 кг конфет.

Оператор цикла FOR Задание 3. For4. Дано вещественное число — цена 1
Вывести стоимость 1, 2, …, 10 кг конфет.

program konf;
var i :integer;
C:real;
begin
writeln ('введите цену 1 кг конфет = ');
read (C);
for i:=1 to 10 do
writeln (i, ' кг конфет стоят',i*c:8:2,' рублей');
end.

Слайд 10

Оператор цикла FOR

Задание 4. Задать произвольное слово. Напечатать на экране слово N

Оператор цикла FOR Задание 4. Задать произвольное слово. Напечатать на экране слово
раз лесенкой (со сдвигом вправо).
Вася
Вася
Вася

program NK;
var N,i,k:integer;
sl:string;
begin
write ('введите слово');
readln (sl);
write ('введите N>0-целое');
readln (n);
for i:=1 to N do
begin
write('I=',I);
for k:=1 to i do write (' ');
writeln(sl);
end;
end.

Слайд 11

Оператор цикла FOR

For9. Даны два целых числа A и B (A < B). Найти сумму квадратов

Оператор цикла FOR For9. Даны два целых числа A и B (A
всех целых чисел от A до B включительно.

program ABSUM2;
var A,B,I,S:integer;
begin
write ('введите целое A=');
readln (A);
write ('введите целое B=');
readln (B);
s:=0;
for I:=A to B do s:=s+I*I;
writeln('сумма квадратов S=',S);
end.

Слайд 12

Оператор цикла FOR

For20°. Дано целое число N (> 0). Используя один цикл, найти сумму

Оператор цикла FOR For20°. Дано целое число N (> 0). Используя один
1! + 2! + 3! + … + N!
(выражение N! — N–факториал — обозначает произведение всех целых чисел от 1 до N:  N! = 1·2·…·N). Чтобы избежать целочисленного переполнения, проводить вычисления с помощью вещественных переменных и вывести результат как вещественное число.

program NK;
var S,F:real;
N,I:integer;
begin
write ('введите целое N=');
readln (N);
S:=0;
F:=1;
for I:=1 to N do
begin
F:=F*I;
S:=S+F;
end;
writeln('S=',S);
end.

Слайд 13

Оператор цикла FOR

For39. Даны целые положительные числа A и B (A < B). Вывести все целые

Оператор цикла FOR For39. Даны целые положительные числа A и B (A
числа от A до B включительно; при этом каждое число должно выводиться столько раз, каково его значение (например, число 3 выводится 3 раза).

program ABSUM2;
var A,B,I,K:integer;
begin
write ('введите целое A=');
readln (A);
write ('введите целое B=');
readln (B);
for I:=A to B do
begin
for K:=1 to I do write(I);
writeln;
end
end.

Слайд 14

Задание на самоподготовку

1. For14. Дано целое число N (> 0). Найти квадрат данного числа,

Задание на самоподготовку 1. For14. Дано целое число N (> 0). Найти
используя для его вычисления следующую формулу:
N2 = 1 + 3 + 5 + … + (2·N − 1).
После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).
2. For40. Даны целые числа A и B (A < B). Вывести все целые числа от A до B включительно; при этом число A должно выводиться 1 раз, число A + 1 должно выводиться 2 раза и т. д.
3. For21. Дано целое число N (> 0). Используя один цикл, найти сумму
1 + 1/(1!) + 1/(2!) + 1/(3!) + … + 1/(N!)
(выражение N! — N–факториал — обозначает произведение всех целых чисел от 1 до N:  N! = 1·2·…·N). Полученное число является приближенным значением константы e = exp(1).

Слайд 15

Оператор цикла while ( цикл с предусловием )

СИНТАКСИС:
while <условие> do <оператор>;
<Условие> -

Оператор цикла while ( цикл с предусловием ) СИНТАКСИС: while do ;
выражение логического типа.
<Оператор> после do называется телом цикла.
<Оператор> может быть составным (begin…end)

СЕМАНТИКА:
1. Вычисляется <условие>,
2. Если <условие> истинно (TRUE), выполняется тело цикла, в противном случае (FALSE) происходит выход из цикла.
Если <условие> всегда истинно, будет зацикливание, например: while 2>1 do write(1);
Прервать зацикливание - клавиш или кнопку«stop» .
Тело цикла while в Pascal ABC не может быть пустым.

Слайд 16

Оператор цикла while

Распечатать квадраты чисел, находящихся в диапазоне от 0 до 1

Оператор цикла while Распечатать квадраты чисел, находящихся в диапазоне от 0 до
с шагом 0,2

Дано: XH=0
XK=1
dX=0,2
Найти X2

var k,s:real;
begin
s := 0;
while s <= 1 do
begin
k := s*s;
writeln ('s=',s,' k=',k);
s := s + 0.2;
end;
end.

Слайд 17

Оператор цикла while

Составьте таблицу значений функции y = 5x2 – 2x +

Оператор цикла while Составьте таблицу значений функции y = 5x2 – 2x
1 на отрезке [-5; 5]  с шагом     Δx = 2.

Дано: XH= - 5
XK= 5
dX= 2
Найти: y = 5x2 – 2x + 1

var y,x:real;
begin
x := -5;
while x <= 5 do
begin
y := 5*x*x-2*x+1;
writeln ('x=', x ,'y=', y);
x := x + 2;
end;
end.

Слайд 18

Задание на оператор while

Даны целые положительные числа N и K. Используя только операции сложения

Задание на оператор while Даны целые положительные числа N и K. Используя
и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.
Дано целое число N (> 1). Найти наибольшее целое число K, при котором выполняется неравенство 2K < N.
Дано целое число N (> 0). Используя операции деления нацело и взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц).
Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).
Даны два положительных целых числа A и B (1

Слайд 19

Задание на оператор while

Даны целые положительные числа N и K. Используя только операции сложения

Задание на оператор while Даны целые положительные числа N и K. Используя
и вычитания, найти частное от деления нацело N на K, а также остаток от этого деления.

Дано: N и K – целые положительные
Найти: N div K, N mod K

Пусть N=13 K=4
13 – 4 = 9 (9>=4, продолжать)
9 – 4 = 5 (5>=4, продолжать)
5 – 4 = 1 (1<4, завершить)

N div K

N mov K

program divmod;
var N,K,N1,S:integer;
begin
writeln ('введите N и K - целые');
readln (N,K);
N1:=N;
S:=0;
while N1>=K do
begin
N1:=N1-K;
S:=S+1;
end;
writeln (N,' div ',K,' = ',S);
writeln (N,' mod ',K,' = ',N1);
end.

Слайд 20

Задание на оператор while

Дано целое число N (> 1). Найти наибольшее целое число K, при

Задание на оператор while Дано целое число N (> 1). Найти наибольшее
котором выполняется неравенство 2K < N.

program NK;
var N,K,P: integer;
begin
writeln ('введите N - целое');
readln (N);
P:=1;
k:=0;
while P<=N do
begin
p:=2*P;
K:=K+1;
end;
write ('k=',K-1);
end.

Слайд 21

Задание на оператор while

Дано целое число N (> 0). Используя операции деления нацело и

Задание на оператор while Дано целое число N (> 0). Используя операции
взятия остатка от деления, вывести все его цифры, начиная с самой правой (разряда единиц).

program cifra;
var N,sifra,ost: integer;
begin
writeln ('введите N - целое');
readln (N);
ost:=N;
while ost<>0 do
begin
sifra:=ost mod 10;
write (' ',sifra);
ost:=(ost-sifra) div 10;
end;
end.

Слайд 22

Задание на оператор while

Начальный вклад в банке равен 1000 руб. Через каждый месяц

Задание на оператор while Начальный вклад в банке равен 1000 руб. Через
размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).

program vklad;
var v,p, vk, s, k: real;
begin
write ('Величина вклада V= '); readln (V);
write ('Процент по вкладу P= '); readln (P);
write ('Порог вклада Vk= '); readln (VK);
k:=0; S:=V;
while Sbegin
S:=S+S*P/100;
k:=k+1;
end;
writeln ('Конечный размер вклада S= ',S);
writeln (' через ', k , ' месяцев');
end.

Слайд 23

Задание на оператор while

Даны два положительных целых числа A и B (1

Задание на оператор while Даны два положительных целых числа A и B (1
Вывести все простые числа, расположенные между A и B, в порядке их возрастания, а также количество этих чисел.

Слайд 24

Оператор цикла repeat

Оператор цикла repeat имеет следующую форму:
СИНТАКСИС:
repeat   <операторы>

Оператор цикла repeat Оператор цикла repeat имеет следующую форму: СИНТАКСИС: repeat until
until <условие>

СЕМАНТИКА:
1. <Условие> вычисляется после очередной итерации цикла,
2. Если <условие> истинно (TRUE), то происходит выход из цикла.
Тело цикла оператора repeat, выполняется по крайней мере один раз.
Оператор repeat используют, когда <условие> нельзя проверить, не выполнив тело цикла. Например: проверка данных при вводе
repeat   read(x); until x=0;
Если условие всегда ложно (FALSE) происходит зацикливание:
repeat   write(1); until 2=1;

Слайд 25

Задание на самоподготовку

Задание 1. Определить  число n, при котором сумма квадратов натурального

Задание на самоподготовку Задание 1. Определить число n, при котором сумма квадратов
ряда чисел от 1 до n не превысит величину K.
Задание 2. Напечатать таблицу функций sin x и cos x на отрезке [0,1] с шагом 0.1 в следующем виде:
    x              sin(x)          cos(x) ---------------------------------
0.0000        0.0000        1.0000
0.1000        0.0998        0.9950
Задание 3. Вычислить значения функции f(x)= x3 – 3x на интервале [-2,2] с шагом Δx=0,2.

Слайд 26

Задание на оператор repeat

Задание 1. Определить  число n, при котором сумма квадратов

Задание на оператор repeat Задание 1. Определить число n, при котором сумма
натурального ряда чисел от 1 до n не превысит величину K.

program sum_sqr;
var k, s, n : integer;
begin
writeln( 'Введите K' );
readln (k);
s:=0; n:=0;
repeat
n := n+1;
s:=s+n*n;
until s > k;
s:= s-n*n;
n:=n-1;
writeln('N= ', n, ‘ s=' ,s );
end.

Слайд 27

Задание на самоподготовку

Задание 2. Напечатать таблицу функций sin x и cos x

Задание на самоподготовку Задание 2. Напечатать таблицу функций sin x и cos
на отрезке [0,1] с шагом 0.1 в следующем виде:
    x              sin(x)          cos(x) ---------------------------------
0.0000        0.0000        1.0000
0.1000        0.0998        0.9950

Program Table;
Const xn=0; xk=1; dx=0.1;
Var x: Real;
Begin
x:=xn;
Writeln(' x  sin(x)  сos(x)');
Writeln('----------------------------');
While x<=xk Do
Begin
Writeln(x:8:4,sin(x):8:4,cos(x):8:4);
x:=x+dx
End;
End.

Имя файла: Язык-программирования-Pascal-Повторение-А.-Жидков.pptx
Количество просмотров: 2191
Количество скачиваний: 6