Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.

Презентация:



Advertisements
Похожие презентации
Тема урока: Операторы цикла. Решение задач со счетчиком. Выполнила: Троегубова Татьяна Сергеевна учитель МОУ «СОШ 87»
Advertisements

1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Программирование на языке Паскаль. 3 Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл.
1 Тема 4. Циклы на языке Паскаль.
1 Программирование на языке Паскаль Тема 4. Циклы.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
1 Программирование на языке Паскаль 1. Циклы с параметром.
Цикл со счетчиком. Циклы Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом.
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal Часть 2 8 «Б» и 10 «Б» классы.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Организация циклов в языке программирования Паскаль. Подготовила Семенова Н.С., учитель информатики МБОУ «Средняя общеобразовательная школа 26 с углублённым.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ.
1 Программирование на языке Паскаль Тема: Циклы по счётчику. © К.Ю. Поляков,
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
1 Программирование на языке Паскаль Тема 4. Циклы.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Транксрипт:

Программирование на Pascal

Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия Циклы. Введение Цикл со счетчиком

Повторение. Составные логические условия Написать программу, в которой нужно проверить, лежит ли число x на числовой оси между числами a и b (случай x=a или x=b недопустим). Числа x, a, b являются натуральными, и известно, что a отлично от b (но неизвестно: a>b или b>a). Входная информация вводится с клавиатуры, а на выходе должно быть сообщение вида "x между a и b" (если это действительно так), в противном случае никакой выходной информации не выдается. 3

Повторение. Составные логические условия Программист торопился и написал программу некорректно. VAR a,b,x: integer; p: integer; BEGIN readln(a,b,x); if (a>x) AND (x>b) then writeln('x между a,b'); END. 4

Последовательно выполните три задания: 1).Приведите пример таких чисел a, x, b при которых программа работает неправильно. a=2, b=6, x=5 Повторение. Составные логические условия 5

2).Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами). Дописать условие: (a>x) AND (x>b) or (b>x) AND (x>a) Повторение. Составные логические условия 6

ОТВЕТ 2) Возможные доработки: a) if ax) and (x>b) then writeln(' x между a,b'); b) if (a>x) and (x>b) оr (a

3).Укажите, как можно доработать программу, соблюдая дополнительное условие: доработанная программа не должна использовать логических операций AND или OR. Повторение. Составные логические условия 8 if a>x then if x>b then writeln('x между a,b'); if b>x then if x>a then writeln('x между a,b');

ОТВЕТ 9 3) Возможные доработки: a) if a>x then if x>b then writeln('x между a,b'); if b>x then if x>a then writeln('x между a,b'); b) p:=(x-a)*(x-b); if p

10

Программирование на Pascal Циклы. Введение 11

12 Циклы. Введение Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов цикл с неизвестным числом шагов (цикл с условием) В Паскале реализованы три оператора цикла. Формально эти операторы называют «цикл с параметром» (For), «цикл с предусловием» » (While), «цикл с постусловием» » (Repeat).

Операторы цикла Если вычислительный процесс содержит многократные вычисления по одним и тем же математическим зависимостям, то его называют циклическим процессом. Многократно повторяемые участки вычислений называют циклами, а переменные, изменяющиеся в цикле – переменной цикла (параметром). 13

Операторы цикла «цикл с параметром» For «цикл с предусловием» While «цикл с постусловием» Repeat For i:=1 to 10 do WriteLn(i); While not KeyPressed do ReadKey; Repeat Ch := ReadKey; Until Ch=Y; Используется, если число повторений заранее известно! Используется, если число повторений оператора заранее неизвестно, а задано лишь условие его повторения (или окончания). выполнить увеличивая для пока повторить до 14

15

Цикл со счетчиком 16

17 Цикл с переменной for := to do begin {тело цикла} end; for := to do begin {тело цикла} end; Увеличение переменной на 1: for := downto do begin {тело цикла} end; for := downto do begin {тело цикла} end; Уменьшение переменной на 1:

Надо знать: 1.Тип переменной: В качестве параметра цикла может быть переменная целого (Integer, Word, LongInt и т.д.) или литерного типа. Не допускается переменная вещественного типа. Начальное и конечное значение – выражение того же типа, что и параметр цикла. 18

Надо знать: 2. Шаг изменения переменной цикла всегда равен 1 ( to ) или -1 ( downto ) 3. Составной оператор: если в теле цикла только один оператор, слова begin и end можно не писать: for i:=1 to 8 do writeln('Привет'); for i:=1 to 8 do writeln('Привет'); 19

Надо знать: 4. Количество итераций: если конечное значение меньше начального, цикл (to) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием); если начальное значение совпадает с конечным значением, то цикл выполняется один раз; цикл For выполняется столько раз, сколько различных значений есть между и включительно. Например, при записи вида: For I:=0 to 10 do Write(I, ); На экране будет напечатано 11 чисел от 0 до 10:

Надо знать: 5. Значение параметра цикла в теле цикла, т.е. внутри оператора, стоящего после DO, не должно изменяться. 6. Не забывайте, что счетчику присваивается начальное значение, т.е. K := начальное значение 21

Надо знать: 7. При изменении начального и конечного значения внутри цикла количество шагов не изменится: n := 8; for i:=1 to n do begin writeln('Привет'); n := n + 1; end; n := 8; for i:=1 to n do begin writeln('Привет'); n := n + 1; end; нет зацикливания 22

Синтаксис оператора: Порядок выполнения цикла с параметром оператора For -to For I:= := to do Здесь: - переменная-параметр цикла. Она описывается в разделе переменных, обязательно должна быть целого типа (Integer, Word, LongInt и т.д.). Эта переменная при выполнении тела цикла при каждом выполнении последовательно принимает значения от до., – начальное и конечное значение счетчика. – последовательность операторов, которая выполняется в цикле. Тело цикла может содержать один оператор или несколько. В случае нескольких операторов их заключают в операторные скобки begin – end. Таким образом, можно сделать следующий вывод: цикл For выполняется столько раз, сколько различных значений есть между и включительно. Например, при записи вида: For I:=0 to 10 do Write(I, ); На экране будет напечатано 11 чисел от 0 до 10:

For i:= N1 to N2 do тело цикла; i – параметр цикла, счетчик N1 – начальное значение N2 – конечное значение Если в теле цикла – не один оператор, то Begin …End; For i:= N1 to N2 do Begin тело цикла; несколько команд; End; 24

Порядок выполнения цикла с параметром оператора For -downto For I: = := downto do Синтаксис оператора: Данная форма цикла используется, если требуется менять значения счетчика в сторону уменьшения – от большего к меньшему. Таким образом, можно сделать следующий вывод: цикл For выполняется столько раз, сколько различных значений есть между и включительно. Например, при записи вида: For I:=10 downto 1 do Write(I, ); На экране будет напечатано 11 чисел от 10 до 0:

Сколько раз повторится цикл? FOR I:=1 to 5 Do… FOR I:=10 to 15 Do… FOR I:=1 to 3 Do… FOR I:=10 downto 5 Do… ? раз ? раза ? раз 26

27 Пример Вывести на экран 5 раз слово «Привет». program qq; begin writeln('Привет'); end. program qq; begin writeln('Привет'); end.

28 Алгоритм начало Привет! конец да нет i = 5?i = 5? i := 0 ; i := i + 1; еще не сделали ни одного раза проверить, все ли сделали вывод на экран считаем очередной шаг

for i:=1 to 5 do begin write('Привет'); writeln(', Вася!'); end; for i:=1 to 5 do begin write('Привет'); writeln(', Вася!'); end; 29 Циклы program qq; var i: integer; begin for i:=1 to 5 do writeln('Привет'); end. program qq; var i: integer; begin for i:=1 to 5 do writeln('Привет'); end. «Для всех i от 1 до 5 делай …» «Для всех i от 1 до 5 делай …» for i:=1 to 5 do Если в цикле более одного оператора: begin end;

Program MULTI_1; Var A, Y : real; I, N : integer; Begin Write (Введите число А -); Readln (A); Write (Введите степень числа А -); Readln(N); Y:=1; Write (Результат -, Y); end. Program MULTI_1; Var A, Y : real; I, N : integer; Begin Write (Введите число А -); Readln (A); Write (Введите степень числа А -); Readln(N); Y:=1; Write (Результат -, Y); end. Пример Вычислить значение функции y=a n, где а- действительное число с натуральным показателем. For I:=1 to N do Y:=Y *A; 30

Пример. Способ 2 Program MULTI_2; Var A, Y : real; I, N : integer; Begin Write (Введите число А -); Readln (A); Write (Введите степень числа А -); Readln (N); Y:=1; For I:= N downto 1 do Y:=Y *A; Write (Результат -, Y); end. Вычислить значение функции y=a n, где а- действительное число с натуральным показателем. 31

Решение задач Подсчитать сумму 10 чисел, введенных с клавиатуры. Блок-схема Решение 32

БЛОК - СХЕМА Ввести А S нач кон S:=S+А S:=0 I:=1 to10 К условию 33

РЕШЕНИЕ Program my; Var I,S,A: integer; Begin S:=0; FOR I:=1 TO 10 DO Begin WRITELN ( Введите число); READLN (A); S:=S+A; End; WRITELN (S); End. К условию 34

Задача Подсчитать произведение 10 чисел введенных с клавиатуры. Блок-схема Решение 35

БЛОК - СХЕМА Ввести А S нач кон S:=S*А S:=0 I:=1 to10 К условию 36

РЕШЕНИЕ Program my; Var I,S,A: integer; Begin S:=1; FOR I:=1 TO 10 DO Begin WRITELN ( Введите число); READLN (A); S:=S*A; End; WRITELN (S); End. К условию 37

Задача Подсчитать сумму положительных чисел среди 10 чисел введенных с клавиатуры. Блок-схема Решение 38

БЛОК - СХЕМА нач кон S:=S+A S :=0 A>0 Ввести А да нет S I:=1 to10 К условию 39

РЕШЕНИЕ Program my; Var I,S,A: integer; Begin S:=0; FOR I:=1 TO 10 DO Begin WRITELN ( Введите число); READLN (A); IF A>0 THEN S:=S+A; End; WRITELN (S); End. К условию 40

Задача Подсчитать количество положительных чисел среди 10 чисел введенных с клавиатуры. Блок-схема Решение 41

БЛОК - СХЕМА нач кон k:=k+1 k:=0 A>0 Ввести А да нет k I:=1 to10 К условию 42

РЕШЕНИЕ Program my; Var I,K,A: integer; Begin K:=0; FOR I:=1 TO 10 DO Begin WRITELN ( Введите число); READLN (A); IF A>0 THEN K:=K+1; End; WRITELN (K); End. К условию 43

Задача Подсчитать сумму 20 слагаемых 1+2+3…+20 Блок-схема Решение 44

БЛОК - СХЕМА нач кон S:=S+I S:=0 S да нет I:=1 to 20 К условию 45

РЕШЕНИЕ Program my; Var I,S: integer; Begin S:=0; FOR I:=1 to 20 DO Begin S:=S+I; End; WRITELN (S); End. К условию 46

Задача Подсчитать сумму 20 слагаемых 1-1/2+1/3…-1/20 Блок-схема Решение 47

БЛОК - СХЕМА нач кон P:=-P S:=0 S P:=1 S:=S+P/I I:=1 to 20 К условию 48

РЕШЕНИЕ Program my; Var I,Р: integer; S: real; Begin S:=0; P:=1; FOR I:=1 TO 20 DO Begin S:=S+P/I; P:=-P; End; WRITELN (S); End. К условию 49

Домашнее задание: 1.Составьте программу вычисления квадратов чисел от 1 до

2.Напечатать все двухзначные числа, сумма которых равна

52