Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.

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



Advertisements
Похожие презентации
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Advertisements

Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ АЛГОРИТМИЧЕСКАЯ СТРУКТУРА ЦИКЛ В TURBO PASCAL Условие Оператор ДаНет Учитель информатики: Коваленко Татьяна Викторовна
Цикл с параметрами. Операторы цикла в Паскале Операторы цикла используются для многократного повторения входящих в их состав операторов. В языке Турбо.
Операторы цикла © М.Е.Макарова
Циклы в языке программирования Pascal
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Операторы циклаОператоры циклаЦиклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать эти.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Операторы цикла © М.Е.Макарова. Цикл - это команда исполнителю повторить заданное количество раз, указанную последовательность команд В языке программирования.
Тема: Цикл с параметром (цикл «Для») На естественном языке Для i от А до В повторять Тело цикла i,a,b- параметры цикла тело цикла – это команды, которые.
Циклические конструкции 1. Цикл с предусловием предусловием 2. Цикл с постусловием постусловием 3. Цикл с параметром параметром 4. Вложенные циклы Вложенные.
Оператор цикла с предусловием. Оператор цикла с предусловием используется в тех случаях, когда заранее неизвестно число повторений цикла. Форма записи.
1 Тема 4. Циклы на языке Паскаль.
ОПЕРАТОРЫ ПОВТОРА (ЦИКЛА). ЦИКЛ-одна из важнейших алгоритмических структур. ЦИКЛ представляет собой последовательность операторов, которая выполняется.
Операторы цикла. n := 10; For i := 1 to n do Begin Write (i); n := 100; End; Тело цикла будет выполняться 10 раз, хотя уже после первого выполнения тела.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Организация программ циклической структуры. Виды циклов: Цикл с предусловием (while) Цикл с постусловием (repeat) Цикл с параметром (for)
1 Программирование на языке Паскаль 1. Циклы с параметром.
Циклические алгоритмы. Цикл - это такая алгоритмическая структура, в которой осуществляется многократное повторение одной ( или нескольких ) команд.
Транксрипт:

Организация повторений в Паскале

Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.

Выполните счёт по блок-схеме для чисел: 11, 18, 21 начало х < 19? + 15 X 5 результат конец да нет Х = Р =

Виды циклов

For i:= a1 to a2 do begin тело цикла end; i - параметр цикла, выполняет роль счетчика; a1 - начальное значение счетчика; a2 - конечное значение счетчика. i := a1, a2, s тело цикла нет да Цикл со счетчиком (с известным числом повторений)

i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие1; действие2; END; FOR i:=1 TO N DO действие1; действие2; Блок-схема цикла с параметром Виды циклов

I. Цикл с параметром Выполняется заранее определенное количество раз. FOR – для TO – до DO - выполнить ДЛЯ i:=1 ДО N ВЫПОЛНЯТЬ действие; FOR i:=1 TO N DO действие; FOR i:=1 TO N DO BEGIN действие1; действие2; END; FOR i:=N DOWNTO 1 DO действие; Виды циклов если переменная i убывает если в теле цикла несколько действий если в теле цикла одно действие

ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫПОЛНЕНИЯ КОМАНД ОПЕРАТОРА FOR...TO...DO... 1.Определяются значения переменных a1 и a2 ; 2.Переменной i присваивается значение переменной a1 ; 3.Проверяется условие выполнения тела цикла i a2; 4. Если это условие истинно, то выполняется тело цикла; 5.Увеличивается значение переменной i на 1; 6.Переход к пункту 3. Тело цикла будет выполнено a2 – a1 + 1 раз.

Найти сумму 4 произвольных чисел

В операторе For... значение счетчика может не только увеличиваться, но и уменьшаться. Условие выполнения тела цикла: i a1. Тело цикла будет выполнено a2 – a1 + 1 раз.

Примеры Выполнение цикла-фрагмента программы: For i:=14 downto 10 do write(i:3); Выведет на экран последовательность чисел в виде: Если переменная-счётчик имеет символьный char тип, то оператор For ch:=a to e do write (ch:2); Выведет на экран последовательность букв в виде: a b c d e Оператор For ch:=e to a downto write (ch:2); Выведет на экран последовательность букв в виде: e d c b a

Правила Оператор for используется для организации циклов с фиксированным, заранее известным числом повторений; Количество повторений определяется начальным и конечным значением переменной-счётчика. Переменная-счётчик должна быть порядкового типа: чаще integer, реже – char, boolean и т.д. Начальное и конечное значение должны быть константами и должны принадлежать к одному и тому же типу. Параметр цикла for может изменяться(увеличиваться или уменьшаться) каждый раз при выполнении тела цикла только на единицу. Если нужен другой шаг изменения параметра, предпочтительнее циклы repeat или while

Задача 1. Написать программу, которая вычисляет сумму положительных из n введённых с клавиатуры чисел. начало n S=0 1,n,1 x x>0 S=S+x S конец Да Нет

Program summa; Var i, n, x: integer; Begin Writeln (ввести количество чисел); Readln(n); s :=0; For i := 1 to n do Begin Writeln(ввести число); Readln(x); If x > 0 then s := s + x; End; Writeln (сумма >0 =, s); Readln; End.

начало y:=1, 10 Kw:=sqr(y) Y,kw конец y:=10, 1 Kw:=sqr(y) Y,kw Program KWADRAT; Uses crt; Var kw, y: integer; Begin Clrscr; For y:=1 to 10 do Begin kw:= sqr(y); Writeln (y:3,kw:5); End; Writeln; For y:=10 downto 1 do Begin kw:=sqr(y); Writeln (y:3,kw:5); End; Readln; End. Задача 2. Вывести на экран значение y 2 (y=1,2,…,10) в возрастающем и убывающем порядке

Правильно записаны фрагменты под номерами 1 и 4. Во фрагментах 2 и 3 в операторах тела цикла производится изменение значение счетчика цикла. Значение счетчика цикла может использоваться в выражениях, входящих в операторы тела цикла, но изменение значения счетчика цикла этими операторами недопустимо.

Задача 3.Среди всех двузначных чисел найти те, сумма цифр которых равна n (0

1.Сколько раз будет выполнено тело цикла? for i:= –5 to 5 do тело цикла; for i:= 6 to 2 do тело цикла; for i:= 3 to 3 do тело цикла; for i:= 3 downto 4 do тело цикла; for i:= 3 downto 1 do тело цикла;

Задача 4. Написать программу, которая вычисляет среднее арифметическое вводимой с клавиатуры последовательности дробных чисел. Количество чисел должно задаваться во время работы программы.

WHILE (УСЛОВИЕ ИСТИННО) DO BEGIN действие1; действие2; END; II. Цикл с предусловием Может не выполнится ни разу. Выполняется пока условие истинно. WHILE – пока DO – выполнять ПОКА (УСЛОВИЕ ИСТИННО) ВЫПОЛНЯТЬ НАЧАЛО действие1; действие2; КОНЕЦ; нет условие Действие 1 Действие 2 да Виды циклов

Цикл с предусловием тело цикла нет да Условие Тело цикла выполняется, пока условие пока условие Чтобы не было зацикливания, переменные, зацикливания, переменные, входящие в условие, должны входящие в условие, должны изменяться в теле цикла. изменяться в теле цикла.

WHILE (УСЛОВИЕ ИСТИННО) DO BEGIN действие1; действие2; END; условие Действие 1 Действие 2 да нет WHILE (УСЛОВИЕ ИСТИННО) DO действие1; действие2; условие Действие 1 Действие 2 да нет Виды циклов

Выполните счёт по блок-схеме для чисел : 5, 9, 12 начало х < 53? - 2 X 3 результат конец да нет Х = Р =

Задача 4. Вычислить сумму ряда чисел … Program sum; var a, s: integer; Begin writeln ( вычисление суммы ряда); a:=0; s:=0; while a

Задача 5. Найти количество цифр в введенном с клавиатуры числе (n > 0).... Write(n=); Readln(n ); m := n; k :=0; While m o do Begin m := m div 10; k := k +1; End; Writeln (количество цифр в числе, n, =, k); Readln; End. Постройте блок-схему решения данной задачи

Задача 6. Вычислить сумму ряда чисел Program sum; var a, s: integer; Begin writeln ( вычисление суммы ряда); a:=0; s:=0; while a

III. Цикл с постусловием Выполняется всегда хотя бы один раз. Выполняется пока условие ложно. REPEAT – повторять UNTIL – до тех пор ПОВТОРЯТЬ действие1; действие2; ДО ТЕХ ПОР (ПОКА УСЛОВИЕ ЛОЖНО); REPEAT действие1; действие2; UNTIL (ПОКА УСЛОВИЕ ЛОЖНО); условие Действие 1 Действие 2 да нет Виды циклов

Цикл с постусловием Тело цикла Условие НетДа

Задача 7. Найти количество цифр в введенном с клавиатуры числе (n > 0). Решим эту задачу с оператором R epeat... Задача 7. Найти количество цифр в введенном с клавиатуры числе (n > 0). Решим эту задачу с оператором R epeat Write(n=); Readln(n); m := n; k :=0; Repeat m := m div 10; k := k +1; Until m = 0; Writeln (количество цифр в числе, n, =, k); Readln; End. 1.Операторные скобки (begin... end) здесь не нужны; здесь не нужны; 1.Операторные скобки (begin... end) здесь не нужны; здесь не нужны; 2. Тело цикла выполнится хотя бы раз независимо от условия. Постройте блок-схему решения данной задачи

Построить таблицу значений функции y = 3 sin x + cos 2x на интервале [-1 ; 1] с шагом Δх = 0,1. Задача 8. Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat y:= 3*sin(x) + cos(2*x); writeln ('x= ',x:7:5,' y= ',y:7:5); x:=x+dx; until (x>1); end. Расчетные задачи на циклы Постройте блок-схему решения данной задачи

Задача 8. Построить таблицу значений функции y = 1/х на интервале [-1; 1] с шагом 0,1 Program n1; Uses Crt; var x,y,dx:real; begin ClrScr; x:= -1; dx:=0.1; repeat if (x0) then begin y:= 1/x; writeln ('x= ',x,' y= ',y:7:5); end; x:=x+dx; until (x>1); end. Расчетные задачи на циклы Постройте блок-схему решения данной задачи и выполните её на компьютере

Задание 9. Сформулируйте условие задачи, для которой составлена следующая программа Program n4; Uses Crt; var i,n:integer; a,s,sr:real; Begin ClrScr; write('N=');readln(n); s:=0; for i:=1 to n do begin write( Введи [, i, ] = );Readln(a); s:=s+a; end; sr:=s/n; writeln(sr= ',sr:10:5) end. Расчетные задачи на циклы

Задача 10. Дано целое число N (N>0). Используя один цикл найти сумму 1+ 1/2 + 1/3 +…+1/N Program n1; Uses crt; var s:real; i,n:Integer; begin Clrscr; Write(Введи n=');Readln(n); s:=0; For i:=1 to N do s:=s+1/i; writeln('s=',s:10:5); End. Расчетные задачи на циклы

program dogadka; uses crt; var k, s, n : integer; begin clrscr ; writeln( 'Введите K' ); readln (k); s:=0; n:=1; repeat s :=s+n*n; n := n+1; until s > k; writeln ('N= ', n : 3, ' s= ', s : 5 ); readln; end. Задание 11. Сформулируйте условие задачи, для которой составлена следующая программа

Пример задачи III. С использованием цикла "С параметром". Program Ex3; Var A : Integer; S : Longint; Begin S:=0; For A:=1 To 100 Do S:=S+A*A; Writeln(S) End Пример. Найти сумму квадратов всех натуральных чисел от 1 до 100. Решим эту задачу с использованием всех трех видов циклов I. С использованием цикла "Пока". Program Ex1; Var A : Integer; S : Longint; Begin A:=1; S:=0; While A100; Writeln(S) End.

Program n10; Uses crt; var i,s:Integer; begin Clrscr; s:=0; For i:=2 to 100 do if (i mod 2 = 0) then s:=s+i; writeln('s=',s:10); End. Задание 12. Постройте по данной программе блок-схему решения задачи и сформулируйте её условие

Вопросы

Задача 13. Собрать код программы, которая выводит «столбиком» все целые числа от 20 до 35. Задача 14. В 1998 году на счету было 10 долларов, каждый год сумма увеличивалась на 11%, через сколько лет на счету будет 100 долларов.