Лекция 3 Операторы Цикла 1 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики»

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



Advertisements
Похожие презентации
Программирование циклических алгоритмов. Цикл - многократное повторение последовательности действий по некоторому условию.
Advertisements

ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Циклические конструкции 1. Цикл с предусловием предусловием 2. Цикл с постусловием постусловием 3. Цикл с параметром параметром 4. Вложенные циклы Вложенные.
Циклические алгоритмы. Цикл - это такая алгоритмическая структура, в которой осуществляется многократное повторение одной ( или нескольких ) команд.
Операторы языка Паскаль. Операторы повтора (цикла)
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Pascal Алгоритмы циклической структуры, программирование на языке Pascal 9 класс.
Организация циклических процессов начало К:=1 S:=1 N:=5 K<=N S:=S*K K:=K+1 S конец данет При решении многих задач вычислительный процесс имеет циклический.
1 Тема 4. Циклы на языке Паскаль.
В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Циклы бывают 2 типов: 1.Цикл со счетчиком. Используется когда заранее.
Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд. Сам блок команд называется.
ЦИКЛЫ ОПРЕДЕЛЕНИЕ, ВИДЫ, ПРИМЕРЫ. ОПРЕДЕЛЕНИЕ Группа этапов, повторяющаяся в процессе решения задачи несколько раз, называется циклом или циклическим.
Операторы цикла в Pascal. Многократно повторяющийся участок вычислительного процесса называется циклом. Если заранее известно количество необходимых повторений,
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Программирование на языке Паскаль Операторы повторений.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Базовые алгоритмические конструкции. Выделяют три базовые структуры алгоритмической конструкции: - Линейные алгоритмы (последовательное выполнение); Линейные.
Циклические вычислительные процессы. Процессы, в которых ряд действий повторяются многократно по одним и тем же математическим зависимостям, называются.
Операторы цикла. Циклический процесс, или просто цикл, – это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле,
Транксрипт:

Лекция 3 Операторы Цикла 1 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики»

2 Циклы Цикл - алгоритмическая структура для многократного выполнения одной и той же последовательности действий. Любой цикл характеризуется условием его прерывания.

3 ОПЕРАТОРЫ ЦИКЛА. ( операторы повторений ) с заданным числом повторений For итерационные циклы Repeat.. Until, While.. do

4 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Итерационные циклы

5 Вычислить и напечатать значение функции для 2 <= X <= 3, с шагом h = 0.1

6 h=0,1 x=2 y=Ln(x) x,y x=x+h x > 3 конец начало истина ложь Алгоритм решения с постусловием

7 Оператор цикла REPEAT (с постусловием) Оператор цикла Repeat организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Формат записи : REPEAT UNTIL ; Repeat, Until – зарезервированные слова (повторять до тех пор, пока не будет выполнено условие ); - произвольная последовательность операторов; - выражение логического типа.

8 Оператор цикла REPEAT Repeat y:=ln(x); str:=str+format('%6.1f',[x])+ format('%8.3f',[y])+#13; x:=x+h; until x>b; Тело цикла выполняется хотя бы один раз если условие FALSE -ложь, то операторы тела цикла повторяются если условие True – истина, то цикл завершается

9 h=0,1 x=2 y=Ln(x) x,y x=x+h конец начало истина ложь Алгоритм решения с предусловием x <= 3

10 Оператор цикла WHILE ( с предусловием) Формат записи : WHILE DO ; While, Do - зарезервированные слова ( пока выполняется условие, делать); - выражение логического типа; - оператор (может быть составным) ;

11 Оператор цикла WHILE While x<=b do begin y:=ln(x); str:=str+format('%6.1f',[x])+ format('%8.3f',[y])+#13; x:=x+h; end; тело цикла может не выполняться ни разу если условие True – истина, то операторы тела цикла повторяются если условие FALSE – ложь, то цикл не выполняется

12 Вычислить значения функции y=ln(x) на интервале 2 <= x <= 3 с шагом h=0.1; а). с оператором Repeat : begin x:=2; Repeat y:=ln(x); {Вывод x и y } x:=x+h; Until x>3; end; б). с оператором While begin x:=2; While x<=3 do begin y:=ln(x); {Вывод x и y } x:=x+h; end end; В теле итерационного цикла должен присутствовать оператор, влияющий на условие выхода из цикла!

13 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Цикл с параметром

14 задача Вычислить сумму первых N натуральных чисел: S=1+2+3+…+N

15 алгоритм S=1 S=1+2 = S+2 S=1+2+3 = S S=1+2+3+…+N = S+ N S=0 = S+1

16 алгоритм S=0 S= S+1 S= S+2 S= S+3... S= S+N Введем параметр i i= 1 i= 2 i= 3... i= N S=0 S= S+i... S= S+i

17 Оператор S:=0; For i:=1 to n do S:=S+i;

18 Цикл For (цикл с параметром). используется, если количество итераций (повторений) цикла можно определить до начала его выполнения. FOR := TO DO ; FOR := DOWNTO DO ; параметр цикла - переменная любого порядкового типа; начальное значение –выражение, определяющее начальное значение параметра цикла; конечное значение -выражение, определяющее конечное значение параметра цикла; оператор – простой или составной оператор (тело цикла);

19 шаг для параметра цикла равен +1: for i:=1 to 5 do s:=s+i; шаг для параметра цикла равен -1: for i:=5 downto 1 do s:=s+i; Параметр цикла, нач. и кон. значения должны быть одного типа! В теле цикла нельзя изменять значение параметра цикла, а также его нач. и кон. значения!

20 Вычислить и напечатать значение функции для 2 <= X <= 3, с шагом h = 0.1

21 Алгоритм решения с заданным числом повторений h=0,1 x=2 y=Ln(x) i,x,y x=x+h конец начало i=1,N,1

22 Фрагмент программы n:=round((b-a)/h)+1; //число узлов x:=a; str:=' x y=Ln(x) '+#13+#13; for i:=1 to n do begin y:=ln(x); str:=str+format('%3d',[i])+ format('%6.1f',[x])+ format('%8.3f',[y])+#13; x:=x+h; end;

23 Var i,s:integer; begin S:=0; For i:=2 to 5 do S:=S+sqr(i+1); {вывод S} end; начало S=0 i=2,5,1 S=S+(i+1) 2 S конец s=86

24 var i,s:integer; begin s:=0; for i:=2 to 5 do begin s:=s+sqr(i+1); {Вывод I и s } end; i=2 s= 9 s= = 9 i=3 s=25 s= = 25 i=4 s=50 s= = 50 i=5 s=86 s= = 86

25 p = 1 j = 1, 4 начало останов p=p * (j+1) 2 j, p var j,p:integer; begin p:=1; for j:=1 to 4 do begin p:=p*sqr(j+1); {вывод j и p} end; j=1 p= 4 p= 1 * (1+1) 2 = 4 j=2 p=36 p= 4 * (2+1) 2 = 36 j=3 p=576 p= 36 * (3+1) 2 = 576 j=4 p=14400 p= 576 * (4+1) 2 = 14400

26 Несколько структур цикла в программе Расположены последовательно

27 Несколько структур цикла в программе вложенные внутренний внешний

28 Несколько структур цикла в программе Запрещенное расположение

29 S = 0 i = 1, 5, 1 начало S=S+sqr(i+j) вывод S j = 1, 3, 1 останов

30 var i,j,s:integer; begin s:=0; for i:=1 to 5 do {внешний цикл} begin {вывод i} for j:=1 to 3 do { внутренний цикл } begin s:=s+sqr(i+j); {вывод j и s} end; i=1 j=1 s= 4 j=2 s=13 j=3 s=29 i=2 j=1 s=38 j=2 s=54 j=3 s=79 i=3 j=1 s=95 j=2 s=120 j=3 s=156 i=4 j=1 s=181 j=2 s=217 j=3 s=266 i=5 j=1 s=302 j=2 s=351 j=3 s=415

31 for i:=1 to 5 do for j:=1 to 3 do s:=s+sqr(i+j); { вывод s} s=415

32 Компонент Chart ( Палитра Additional ) Поместить на форму компонент Chart1 Перейти в редактор диаграмм Chart1. (двойным щелчком на компоненте Chart )

33 редактор диаграмм Chart1

Построение диаграммы procedure TForm1.N3Click(Sender: TObject); begin x:=a; repeat y:=ln(x); series1.AddXY(x,y); x:=x+h; until x>b+1e-6; end; 34

35 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Лекция 3 часть 2 Пользовательские функции

36 Примеры стандартных функций : Функция Описание Arctan() Вычисляет арктангенс числа. Date() Возвращает текущую дату. FloatToStr() Преобразовывает величину с плавающей точкой в строку. StrToInt() Преобразует строку в целое число

37 Функции пользователя Подпрограмма, созданная пользователем, должна быть описана в разделе описаний использующей её программы (или программной единицы). Главным атрибутом подпрограммы является ее заголовок.

38 Структура функции. Function Имя_функции(список параметров):тип; Разделы описания типов, констант, переменных, процедур, функций, меток begin Раздел операторов Имя_функции:= ; Или result := ; end;

39 функция вычисляет площадь треугольника по формуле Герона function S_tr(x,y,z:real):real; var p: real; begin p:=(x+y+z)/2; S_tr:=sqrt(p*(p-x)*(p-y)*(p-z)); end;

40 Блок-схема подпрограммы-функции поиска максимального из двух чисел. f_max(p1,p2) возврат p1>p2 f_max=p1;f_max=p2; truefalse

41 функция поиска максимального из двух чисел. function f_max(p1,p2:real):real; begin if p1>p2 then f_max:=p1 else f_max:=p2; end;

42 Список формальных параметров. function S_tr(x,y,z:real):real; function f_max(p1,p2:real):real; Формальные параметры описываются в заголовке подпрограммы сразу после ее имени.

43 Фактические параметры. Подставляются при вызове функции Например : S1 := S_tr(3,4,5) ; Фактический параметр может быть константой или выражением. S1:= S_tr(3*a,4-b,5);