Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемДенис Талагаев
1 Программирование Задания В2, В5
2 Оператор присваивания в языке программирования Задание В2 – базовый уровень, время – 2 мин
3 Что нужно знать: переменная – это величина, которая имеет имя, тип и значение; переменная может изменяться во время выполнения программы оператор присваивания служит для записи значения в переменную если в переменную записывают новое значение, старое стирается знаки +, -, *, / используются для обозначения операций сложения, вычитания, умножения и деления запись вида a div b означает результат целочисленного деления a на b (остаток отбрасывается) запись вида a mod b означает остаток от деления a на b запись вида a := b + 2*c + 3; означает «вычислить значения выражения справа от знака присваивания := и записать результат в переменную a»; при этом значения других переменных (кроме a) не изменяются
4 Что нужно знать: для многократного выполнения одинаковых операций используют циклы; цикл с переменной выполняется N раз, в этом примере переменная i принимает последовательно все значения от 1 до N с шагом 1 for i:=1 to N do begin { что-то делаем } end; цикл с условием выполняется до тех пор, пока условие в заголовке цикла не нарушится; while { условие } do begin { что-то делаем } end; главная опасность при использовании цикла с условием – зацикливание; эта такая ситуация, когда цикл работает бесконечно долго из-за того, что условие все время остается истинным
5 Пример задания Определите значение переменной c после выполнения следующего фрагмента программы. a := 40; b := 10; b := - a / 2 * b; if a < b then c := b - a else c := a - 2 * b; Ответ: 440
6 Задание В2 (Демо 2013) Определите значение переменной c после выполнения следующего фрагмента программы (записанного ниже на разных языках программирования). Ответ запишите в виде целого числа. a := 30; b := 14; a := a – 2 * b; if a > b then c := b + 2 * a else c := b - 2 * a; Ответ: 10
7 Задание В3 (Демо 2012) Определите, что будет напечатано в результате работы следующего фрагмента программы: Var k, s : integer; BEGIN s:=0; k:=0; while s
8 Анализ программы Задание В5 – базовый уровень, время – 2 мин
9 Что нужно знать: основные конструкции языка программирования: –объявление переменных –оператор присваивания –оператор вывода –циклы уметь выполнять ручную прокрутку программы уметь выделять переменную цикла, от изменения которой зависит количество шагов цикла уметь определять количество шагов цикла уметь определять переменную, которая выводится на экран
10 Что нужно знать: формулу для вычисления -ого элемента арифметической прогрессии: формулу для вычисления суммы первых членов арифметической прогрессии: где a i – i-ый элемент последовательности, d – - шаг (разность) последовательности
11 Пример задания Определите, что будет напечатано в результате работы следующего фрагмента программы: var k, s: integer; begin k:=5; s:=2; while k < 120 do begin s:=s+k; k:=k+2; end; write(s); end.
12 Решение 1.начальные значения переменных k и s равны соответственно 5 и 2 2.цикл заканчивается, когда нарушается условие k < 120, то есть количество шагов цикла определяется изменением переменной k 3.после окончания цикла выводится значение переменной s 4.с каждым шагом цикла значение s увеличивается на k, а затем значение k – на 2, так что к начальному значению s добавляется сумма членов арифметической прогрессии с начальным значением a 1 =5 и разностью d=2 5.поскольку начальное значение k равно 5 и с каждым шагом оно увеличивается на 2, переменная k принимает последовательно нечётные значения: 5, 7, 9, … 6.цикл заканчивается, когда значение k становится не меньше 120; поскольку k всегда нечётное, конечное значение k равно 121
13 7.поскольку значение k увеличивается после того, как увеличивается значение s, значение 121 уже не входит в сумму, то есть последний элемент последовательности : 8.количество членов последовательности, которые входят в сумму, можно вычислить: чтобы из 5 получить 119 нужно 57 раз добавить шаг 2, поэтому общее число элементов последовательности равно 58 (на один больше) 9.теперь используем формулу для вычисления суммы членов арифметической прогрессии: 10.к этой сумме нужно добавить начальное значение переменной s, равное 2: Решение Ответ: 3598
14 Задание В5 (Демо 2013) Определите, что будет напечатано в результате выполнения программы: var n, s: integer; begin n := 0; s := 0; while s
15 Задание В6 (Демо 2012) Определите значение переменной c после выполнения следующего фрагмента программы: a := 40; b := 80; b := - a - 2 * b; if a < b then c := b - a else c := a - 2 * b; Ответ: 440
16 Анализ программы, содержащей подпрограммы, циклы и ветвления Задание В8 – повышенный уровень, время – 5 мин
17 операции целочисленного деления (div) и взятия остатка (mod) как работают операторы присваивания, циклы и условные операторы в языке программирования Что нужно знать:
18 Задание В8 (Демо 2013) Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21. var x, a, b: integer; begin readln(x); a:=0; b:=1; while x>0 do begin a:=a+1; b:=b*(x mod 10); x:= x div 10 end; writeln(a); write(b); end. Ответ: 37
19 Задание В7 (Демо 2012) Получив на вход число x, этот алгоритм печатает два числа L и M. Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7. var x, L, M: integer; begin readln(x); L:=0; M:=0; while x>0 do begin L:=L+1; if M < (x mod 10) then begin M:=x mod 10; end; x:= x div 10; end; writeln(L); write(M); end. Ответ: 777
20 Анализ программы с подпрограммами Задание В14 – повышенный уровень, время – 6 мин
21 функция – это вспомогательный алгоритм, который возвращает некоторое значение–результат в Паскале функция располагается выше основной программы и оформляется следующим образом (вместо многоточия могут быть любые операторы): function F (x: integer): integer; begin... F:= end; в заголовке функции записывают имя функции, в скобках – список параметров, далее через двоеточие – тип возвращаемого значения; в приведенном примере функция F принимает один целый параметр, к которому внутри функции нужно обращаться по имени x, и возвращает целое число результат функции записывается в специальную переменную, имя которой совпадает с именем функции; объявлять эту переменную не нужно Что нужно знать:
22 если параметров несколько, для каждого из них указывают тип: function F(x: integer; y: integer):integer; если несколько соседних параметров имеют одинаковый тип, можно их объединить в список: function F(x, y: integer):integer; следующая программа ищет наименьшее значение функции 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; Что нужно знать:
24 Задание В14 (Демо 2013) Определите, какое число будет напечатано в результате выполнения следующего алгоритма Ответ: 8
25 Задание В14 (Демо 2012) 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)
26 Определите, какое число будет напечатано в результате выполнения следующего алгоритма: 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)
27 Определите, какое число будет напечатано в результате выполнения следующего алгоритма: 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; write(R); END. Ответ: 148
28 Определите, какое число будет напечатано в результате выполнения следующего алгоритма: 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)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.