Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 8 лет назад пользователемКравцов Кравцов
1 Лекция 3 Операторы Цикла 1 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики»
2 2 Циклы Цикл - алгоритмическая структура для многократного выполнения одной и той же последовательности действий. Любой цикл характеризуется условием его прерывания.
3 3 ОПЕРАТОРЫ ЦИКЛА. ( операторы повторений ) с заданным числом повторений For итерационные циклы Repeat.. Until, While.. do
4 4 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Итерационные циклы
5 5 Вычислить и напечатать значение функции для 2 <= X <= 3, с шагом h = 0.1
6 6 h=0,1 x=2 y=Ln(x) x,y x=x+h x > 3 конец начало истина ложь Алгоритм решения с постусловием
7 7 Оператор цикла REPEAT (с постусловием) Оператор цикла Repeat организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Формат записи : REPEAT UNTIL ; Repeat, Until – зарезервированные слова (повторять до тех пор, пока не будет выполнено условие ); - произвольная последовательность операторов; - выражение логического типа.
8 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 9 h=0,1 x=2 y=Ln(x) x,y x=x+h конец начало истина ложь Алгоритм решения с предусловием x <= 3
10 10 Оператор цикла WHILE ( с предусловием) Формат записи : WHILE DO ; While, Do - зарезервированные слова ( пока выполняется условие, делать); - выражение логического типа; - оператор (может быть составным) ;
11 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 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 13 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Цикл с параметром
14 14 задача Вычислить сумму первых N натуральных чисел: S=1+2+3+…+N
15 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 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 17 Оператор S:=0; For i:=1 to n do S:=S+i;
18 18 Цикл For (цикл с параметром). используется, если количество итераций (повторений) цикла можно определить до начала его выполнения. FOR := TO DO ; FOR := DOWNTO DO ; параметр цикла - переменная любого порядкового типа; начальное значение –выражение, определяющее начальное значение параметра цикла; конечное значение -выражение, определяющее конечное значение параметра цикла; оператор – простой или составной оператор (тело цикла);
19 19 шаг для параметра цикла равен +1: for i:=1 to 5 do s:=s+i; шаг для параметра цикла равен -1: for i:=5 downto 1 do s:=s+i; Параметр цикла, нач. и кон. значения должны быть одного типа! В теле цикла нельзя изменять значение параметра цикла, а также его нач. и кон. значения!
20 20 Вычислить и напечатать значение функции для 2 <= X <= 3, с шагом h = 0.1
21 21 Алгоритм решения с заданным числом повторений h=0,1 x=2 y=Ln(x) i,x,y x=x+h конец начало i=1,N,1
22 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 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 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 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 26 Несколько структур цикла в программе Расположены последовательно
27 27 Несколько структур цикла в программе вложенные внутренний внешний
28 28 Несколько структур цикла в программе Запрещенное расположение
29 29 S = 0 i = 1, 5, 1 начало S=S+sqr(i+j) вывод S j = 1, 3, 1 останов
30 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 31 for i:=1 to 5 do for j:=1 to 3 do s:=s+sqr(i+j); { вывод s} s=415
32 32 Компонент Chart ( Палитра Additional ) Поместить на форму компонент Chart1 Перейти в редактор диаграмм Chart1. (двойным щелчком на компоненте Chart )
33 33 редактор диаграмм Chart1
34 Построение диаграммы 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 35 Российский государственный университет нефти и газа имени И.М. Губкина Кафедра «Информатики» Лекция 3 часть 2 Пользовательские функции
36 36 Примеры стандартных функций : Функция Описание Arctan() Вычисляет арктангенс числа. Date() Возвращает текущую дату. FloatToStr() Преобразовывает величину с плавающей точкой в строку. StrToInt() Преобразует строку в целое число
37 37 Функции пользователя Подпрограмма, созданная пользователем, должна быть описана в разделе описаний использующей её программы (или программной единицы). Главным атрибутом подпрограммы является ее заголовок.
38 38 Структура функции. Function Имя_функции(список параметров):тип; Разделы описания типов, констант, переменных, процедур, функций, меток begin Раздел операторов Имя_функции:= ; Или result := ; end;
39 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 40 Блок-схема подпрограммы-функции поиска максимального из двух чисел. f_max(p1,p2) возврат p1>p2 f_max=p1;f_max=p2; truefalse
41 41 функция поиска максимального из двух чисел. function f_max(p1,p2:real):real; begin if p1>p2 then f_max:=p1 else f_max:=p2; end;
42 42 Список формальных параметров. function S_tr(x,y,z:real):real; function f_max(p1,p2:real):real; Формальные параметры описываются в заголовке подпрограммы сразу после ее имени.
43 43 Фактические параметры. Подставляются при вызове функции Например : S1 := S_tr(3,4,5) ; Фактический параметр может быть константой или выражением. S1:= S_tr(3*a,4-b,5);
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.