Анализ программы с подпрограммами
презентация к уроку по информатике и икт (11 класс) по теме

Коротун Ольга Викторовна

Разбор заданий В14 ЕГЭ по информатике. В презентации подробно описываются примеры решения задач и приводятся варианты заданий с ответами.

Скачать:

ВложениеРазмер
Файл analiz_programmy_s_podprogrammami.pptx425.11 КБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Анализ программы с подпрограммами Коротун О.В., учитель информатики МОУ «СОШ № 71» B 14 (повышенный уровень)

Слайд 2

Анализ программы с подпрограммами Что нужно знать. Примеры заданий: Пример 1 Пример 2 Пример 3 Задания для тренировки.

Слайд 3

Нужно знать, что: Функция – это вспомогательный алгоритм, который возвращает некоторое значение –результат. В Паскале функция располагается выше основной программы и оформляется следующим образом (вместо многоточия могут быть любые операторы): function F(x: integer):integer; begin ... F := < результат функции > end ;

Слайд 4

function F(x: integer):integer; begin ... F:= < результат функции > end; В заголовке функции записывают имя функции, в скобках – список параметров, далее через двоеточие – тип возвращаемого значения; в приведенном примере функция F принимает один целый параметр, к которому внутри функции нужно обращаться по имени x , и возвращает целое число.

Слайд 5

function F (x: integer):integer; begin ... F := < результат функции > end; Результат функции записывается в специальную переменную, имя которой совпадает с именем функции; объявлять эту переменную не нужно.

Слайд 6

Если параметров несколько, для каждого из них указывают тип : function F( x: integer ; y: integer ):integer ; Если несколько соседних параметров имеют одинаковый тип, можно их объединить в список : function F( x, y: integer ):integer;

Слайд 7

Следующая программа ищет наименьшее значение функции F(x) на отрезке [ a,b ] , просматривая значения от a до b с шагом 1 : M :=a; R:=F(a); for t:=a to b do if F(t) < R then begin R :=F(t); M:=t; end;

Слайд 8

Цикл для поиска наибольшего значения выглядит точно так же, только знак < нужно заменить на знак > : M:=a; R:=F(a); for t:=a to b do if F(t) > R then begin R:=F(t); M:=t; end;

Слайд 9

Если функция представляет собой квадратный трехчлен вида , то абсцисса, соответствующая точке минимума, вычисляется по формуле Если квадратный трехчлен задан в виде то абсцисса, соответствующая точке минимума, вычисляется по формуле ,

Слайд 10

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 11

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 12

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 13

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a :=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 14

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 15

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 16

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 17

F:=4 *( t -1)* (t -3 ) По таблице находим, что минимальное значение –4 достигается при t=2 Таким образом, ответ: 2 . Пример 1.

Слайд 18

Возможные проблемы: заполнение таблицы, особенно при большом интервале, очень трудоемко, велика возможность ошибки Рассмотрим решение 2 (математический анализ ):

Слайд 19

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 20

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 21

График этой функции – парабола, оси которой направлены вверх, поэтому функция имеет минимум. Найдем абсциссу точки минимума, которая совпадает с абсциссой точки минимума функции: Таким образом, ответ: 2 . Пример 1. -20 20

Слайд 22

Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 23

График этой функции – парабола, оси которой направлены вверх, поэтому функция имеет минимум. Парабола симметрична относительно вертикальной прямой, проходящей через вершину, поэтому абсцисса вершины – это среднее арифметическое корней: Таким образом, ответ: 2 . Пример 1. 1 3

Слайд 24

Определите , какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R : integer ; Function F( x:integer ): integer ; begin F:= x*x + 4*x + 8 ; end; BEGIN a:=-10; b:=10; M:=a; R:=F(a); for t:=a to b do begin if ( F(t)> R ) then begin M :=t; R:=F(t); end; end ; write (R); END. Решение : Рассуждая так же, как и в предыдущем примере, можно показать, что программа ищет наибольшее значение функции F(t) на интервале от a до b Пример 2.

Слайд 25

Определите , какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R : integer ; Function F( x:integer ): integer ; begin F:= x*x + 4*x + 8 ; end; BEGIN a:=-10; b:=10; M:=a; R:=F(a); for t:=a to b do begin if (F(t)> R ) then begin M :=t; R:=F(t); end; end ; write (R); END. Решение : Заметим , что выводится не абсцисса, а именно это найденное наибольшее значение функции!!! Пример 2.

Слайд 26

График этой функции – парабола, ветви которой направлены вверх, то есть она имеет точку минимума, но не точку максимума!!! Поэтому нужно проверить значения функции на концах отрезка и выбрать из них наибольшее: при t=-10 получаем F(t)=68 при t=10 получаем F(t)= 148 Таким образом, ответ: 148. -10 1 0 Пример 2. 148 68

Слайд 27

Пример 3. Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R : integer ; Function F( x:integer ): integer ; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=0; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R) then begin M :=t; R:=F(t); end ; end; write (M); END.

Слайд 28

Пример 3. Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R : integer ; Function F( x:integer ): integer ; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=0; M:=a; R:=F(a); for t:=a to b do begin if ( F(t)< R ) then begin M :=t; R:=F(t); end ; end; write (M); END. Решение: Рассуждая так же, как и в примере 1, определяем, что программа ищет значение t , при котором функция F(t) принимает минимальное значение на интервале от a до b .

Слайд 29

Пример 3. Определите, какое число будет напечатано в результате выполнения следующего алгоритма: Var a,b,t,M,R : integer ; Function F( x:integer ): integer ; begin F:=4*(x-1)*(x-3); end; BEGIN a:=-20; b:=0; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R) then begin M :=t; R:=F(t); end ; end; write (M); END. Решение: Рассуждая так же, как и в примере 1, определяем, что программа ищет значение t , при котором функция F(t) принимает минимальное значение на интервале от a до b . Запишем функцию в виде квадратного трёхчлена:

Слайд 30

График этой функции – парабола, оси которой направлены вверх, поэтому функция имеет минимум. Найдем абсциссу точки минимума, которая совпадает с абсциссой точки минимума функции: -20 0 Пример 2. Однако это значение не входит в интервал [-20; 0], поэтому нужно проверить значения функции на концах отрезка и выбрать из них наименьшее; ответом будет соответствующее значение t .

Слайд 31

-20 0 Пример 2. При t=-20 получаем F(-20)=4*(-21)*(-23)=1932 П ри t=0 получаем F(0)= 4*(-1)*(-3)=12 , это значение меньше, чем F(-20) , поэтому минимум на заданном интервале достигается при t=0 Таким образом, ответ: 0 . 1932 12

Слайд 32

Задачи для тренировки: Источники заданий: Демонстрационные варианты ЕГЭ 2012-2013 гг. Тренировочные работы МИОО . Разработки К. Полякова

Слайд 33

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ): integer ; begin F:=4*(x- 5 )*(x +3 ); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 34

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=-(x + 4)*(x+2); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)>R)then begin M:=t; R:=F(t); end; end; write (M); END. Пример 2. Ответ: -3

Слайд 35

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=3*(x-2)*(x+6); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 36

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(5-x)*(x+3); end; BEGIN a:=-20; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)>R)then begin M:=t; R:=F(t); end; end; write ( R ); END. Пример 4. Ответ: 16

Слайд 37

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(x-5)*(x+3); end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)>R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 5. Ответ: -5

Слайд 38

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(x+5)*(x+3); end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)>R)then begin M:=t; R:=F(t); end; end; write ( R ); END. Пример 6. Ответ: 80

Слайд 39

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(x+7)*(1-x); end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 7. Ответ: 5

Слайд 40

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(x+5)*(1-x); end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 8. Ответ: 5

Слайд 41

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=(x+3)*(1-x); end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( R ); END. Пример 9. Ответ: -32

Слайд 42

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:= 2*x*x + 8*x + 10; end; BEGIN a:=-10; b:=10; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 10. Ответ: -2

Слайд 43

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:= x*x + 6*x + 10; end; BEGIN a:=-10; b:=10; M:=a; R:=F(a); for t:=a to b do begin if (F(t)> R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 11. Ответ: 10

Слайд 44

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:= x*x - 8*x + 10; end; BEGIN a:=-5; b:=5; M:=a; R:=F(a); for t:=a to b do begin if (F(t)> R)then begin M:=t; R:=F(t); end; end; write ( R ); END. Пример 12. Ответ: 75

Слайд 45

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:= x*x + 2*x + 10; end; BEGIN a:=-10; b:=10; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( M ); END. Пример 13. Ответ: - 1

Слайд 46

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=4*(x-5)*(x+3); end; BEGIN a:=-20; b:=0; M:=a; R:=F(a); for t:=a to b do begin if (F(t)

Слайд 47

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:= 2*x*x + 8*x + 10; end; BEGIN a:=0; b:=10; M:=a; R:=F(a); for t:=a to b do begin if (F(t)< R)then begin M:=t; R:=F(t); end; end; write ( R ); END. Пример 15. Ответ: 10

Слайд 48

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : Var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F:=-(x+4)*(x+2); end; BEGIN a:=-2; b:=20; M:=a; R:=F(a); for t:=a to b do begin if (F(t)>R)then begin M:=t; R:=F(t); end; end; write (M); END. Пример 16. Ответ: -2

Слайд 49

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := 2*(x-9)*(x-9) +12 ; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do if (F(t)

Слайд 50

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := 9*(x-15)*(x+17)+2; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do if (F(t)

Слайд 51

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := -3*(x-10)*(x+2)+2; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do if (F(t)>R) then begin M := t; R := F(t); end; write(M); END. Пример 19. Ответ: 4

Слайд 52

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := 5*(x+10)*(x+2)+2; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do if (F(t)

Слайд 53

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := -2*(x+2)*(x-6); end; Begin a := -11; b := 11; M := a; R := F(a); t:=a; while t < b do begin if (F(t)>R) then begin M := t; R := F(t); end; t:=t+2; end; write(R); End. Пример 21. Ответ: 30

Слайд 54

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := -2*(x+2)*(x-6); end; Begin a := -11; b := 11; M := a; R := F(a); t:=a; while t < b do begin if (F(t)>R) then begin M := t; R := F(t); end; t:=t+2; end; write(M); End . Пример 22. Ответ: 1

Слайд 55

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := -2*(x+2)*(x-6); end; Begin a := -11; b := 11; M := a; R := F(a); t:=a; while t < b do begin if (F(t)>=R) then begin M := t; R := F(t); end; t:=t+2; end; write(M); End . Пример 23. Ответ: 3

Слайд 56

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F( x:integer ):integer; begin F := 3*(x-8)*(x-8) end; begin a := -20; b := 20; M := a; R := F(a); for t := a to b do begin if (F(t)

Слайд 57

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := 19*(16-x)*(16-x)+27; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do begin if (F(t) < R) then begin M := t; R := F(t); end; end; write(M); END. Пример 25. Ответ: 16

Слайд 58

Определите, какое число будет напечатано в результате выполнения следующего алгоритма : var a,b,t,M,R :integer; Function F(x: integer):integer; begin F := 19*(11-x)*(11-x)+27; end; BEGIN a := -20; b := 20; M := a; R := F(a); for t := a to b do begin if (F(t) < R) then begin M := t; R := F(t); end; end; write(R); END. Пример 26. Ответ: 27

Слайд 59

В презентации использованы материалы сайта К.Полякова http:// kpolyakov.narod.ru/index.htm Удачи на экзамене!


По теме: методические разработки, презентации и конспекты

Статья:"Анализ программ по изобразительному искусству и музейно-педагогической программы "Здравствуй, музей!" па предмет интеграции.

Статья  посвящена анализу некоторых аспектов  государственных программ по изобразительному искусству под редакцией В.С. Кузина и Б.М. Неменского  на предмет интеграции  раздела "Яз...

Учебно-методический комплекс к учебному плану комплексной образовательной программы «Семицветик» подпрограммы «Мир вокруг нас»

Учебно-методический комплекс подпрограммы "Мир вокруг нас" является одним из элементов комплексной образовательной программы "Семицветик" в организации образовательной деятельности предшкольной подгот...

Анализ программы "Одаренные дети"

Реализация программы в школе...

Анализ программы информатизации по школе

Информационно-образовательное пространство – это пространство, в котором информация используется для образовательных целей. Предназначение информационного пространства шире, чем информационно-образова...

Деловая игра «Анализ программ физического воспитания учащихся образовательных организаций»

Цель игры:      В результате анализа существующих программ по физическому воспитанию необходимо:    1) определить программу наиболее полно решающую современные задач...

Тема занятия: Работа с программным обеспечением «ПиктоМир». Занятие 4. Делаем программу короче – подпрограммы.

В учебной программной системе Пиктомир программой называют план управления Роботом, записанный по определенным правилам. Программа в ПиктоМире состоит из частей, называемых алгоритмами. В программе вс...