Презентация "Алгоритмы, программирование. Решение задач ОГЭ" 9 класс
Подписи к слайдам:
Задание 8. Умение исполнить линейный алгоритм, записанный на алгоритмическом языке
Пример
В программе «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной a после выполнения алгоритма. В ответе укажите одно целое число – значение переменной a.
a := 6
b := 2
b := a/2*b
a := 2*a+3*b
Решение
Трассируем программу:
Ответ: 30
Номер команды |
a |
b |
1. a := 6 |
6 |
|
2. b := 2 |
6 |
2 |
3. b := a/2*b |
6 |
6 |
4. a := 2*a+3*b |
30 |
6 |
1. Символ «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики.
Определите значение переменной b после выполнения данного алгоритма:
a := 4
b := 10
a := b-a*2
b := 24/a*4
В ответе укажите одно целое число – значение переменной b.
Ответ: 48
2. Определите значение переменной a после исполнения данного алгоритма. Порядок действий соответствует правилам арифметики.
a:= –3
a:= –a – a
b:= a + 2
a:= –b + a*b
В ответе укажите одно целое число – значение переменной a.
Ответ: 40
3. Определите значение переменной с после исполнения данного алгоритма. Порядок действий соответствует правилам арифметики.
a:= 6
a:= (a + 3) – a – a
b:= 21 + a*a
c:= b/(–a) + 5
В ответе укажите одно число – значение переменной с.
Ответ: 15
4. Определите значение переменной с после исполнения данного алгоритма. Порядок действий соответствует правилам арифметики.
a:= 8
a:= –5 + (a + 2)
b:= –a +(a*2)
c:= (b – a)*(2 – a)
В ответе укажите одно число – значение переменной с.
Ответ: 0
5. Определите значение переменной a после исполнения данного алгоритма. Порядок действий соответствует правилам арифметики.
a:= 4
a:= a *(–a)
b:= –a/2
a:= (a + b) + 13
В ответе укажите одно число – значение переменной a.
Ответ: 5
6. Определите значение переменной b после исполнения данного алгоритма. Порядок действий соответствует правилам арифметики.
a := 5
b := 4
b := 100 - а * b
а := b / 16 * a
В ответе укажите одно число – значение переменной b.
Ответ: 25
Задание 9. Умение исполнить простейший циклический алгоритм, записанный на алгоритмическом языке
Пример Определите значение переменной с после выполнения фрагмента алгоритма:
Значение переменной цикла |
b |
c |
0 |
0 |
|
1 |
1 |
0 |
2 |
2 |
1 |
3 |
3 |
3 |
4 |
4 |
6 |
5 |
5 |
10 |
6 |
6 |
15 |
7 |
7 |
21 |
8 |
8 |
28 |
9 |
9 |
36 |
10 |
10 |
45 |
11 |
11 |
55 |
Ответ: 55
Задача 8 из демоверсии 2015 (ЕГЭ)
Паскаль
var s, n: integer;
begin
s := 33;
n := 1;
while s > 0 do
begin
s := s – 7;
n := n * 3
end;
writeln (n)
end.
Решение
Трассируем программу:
Номер команды |
s |
n |
1 |
33 |
1 |
2 |
26 |
3 |
3 |
19 |
9 |
4 |
12 |
27 |
5 |
5 |
81 |
6 |
-2 |
243 |
7 -2 > 0 |
Ответ: 243
аналогично
Паскаль |
Паскаль |
Паскаль |
Паскаль |
var n, s: integer; begin n := 0; s := 0; while s <= 257 do begin s := s + 25; n := n + 2 end; write(n) end.
|
var n, s: integer; begin n := 0; s := 0; while s <= 257 do begin s := s + 25; n := n + 4 end; write(n) end. |
var n, s: integer; begin n := 0; s := 301; while s > 0 do begin s := s - 10; n := n + 2 end; write(n) end. |
var n, s: integer; begin n := 0; s := 301; while s > 0 do begin s := s - 10; n := n + 3 end; write(n) end. |
Ответы |
Запишите число, которое будет напечатано в результате выполнения каждой из следующих программ.
22 44 62 93
Определите, что будет напечатано в результате работы следующей программы. Текст программы приведен на двух языках программирования.
Паскаль |
Алгоритмический язык |
var s, i: integer; begin s:=0; for i:=2 to 10 do s:=s+i; write (s); end. |
алг нач цел s, i s:=0 нц для i от 2 до 10 s:=s+i кц вывод s кон |
Паскаль |
Алгоритмический язык |
var s, k: integer; begin s:=50; for k:=0 to 8 do s:=s – 4; write (s); end. |
алг нач цел s, k s:=50 нц для k от 0 до 8 s:=s - 4 кц вывод s кон |
Ответы: 54 14
Определите, что будет напечатано в результате работы следующей программы. Текст программы приведен на двух языках программирования.
Паскаль |
Алгоритмический язык |
var a, b: integer; begin a:=2; b:=0; while a<>10 do begin a:=a+2; b:=b+3*a; end; write (b); end. |
алг нач цел a, b a:=2 b:=0 нц пока a<> 10 a:=a+2 b:=b+3*a кц вывод b кон |
Ответ: 84
Задание 10. Умение исполнить циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке. Пример
В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat[1] – количество голосов, поданных за первого исполнителя; Dat[2] – за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы.
Алгоритмический язык |
Бейсик |
Паскаль |
алг нач целтаб Dat[1:10] цел k, m Dat[1] := 16 Dat[2] := 20 Dat[3] := 20 Dat[4] := 41 Dat[5] := 14 Dat[6] := 21 Dat[7] := 28 Dat[8] := 12 Dat[9] := 15 Dat[10] := 35 m := 0 нц для k от 1 до 10 если Dat[k]>m то m := Dat[k] все кц вывод m кон |
DIM Dat(10) AS INTEGER DIM k,m AS INTEGER Dat(1) = 16: Dat(2) = 20 Dat(3) = 20: Dat(4) = 41 Dat(5) = 14: Dat(6) = 21 Dat(7) = 28: Dat(8) = 12 Dat(9) = 15: Dat(10) = 35 m = 0 FOR k = 1 TO 10 IF Dat(k)>m THEN m = Dat(k) ENDIF NEXT k PRINT m |
Var k, m: integer; Dat: array[1..10] of integer; Begin Dat[1] := 16; Dat[2] := 20; Dat[3] := 20; Dat[4] := 41; Dat[5] := 14; Dat[6] := 21; Dat[7] := 28; Dat[8] := 12; Dat[9] := 15; Dat[10] := 35; m := 0; for k := 1 to 10 do if Dat[k]>m then begin m := Dat[k] end; writeln(m); End. |
Решение
Проанализировав программу, определяем, что данный алгоритм – поиск максимального элемента в массиве (заносим в переменную m число 0, затем каждый элемент массива сравниваем со значением переменной m, и, если очередной элемент больше m, меняем значение m на значение элемента массива).
Ответ: 41
1. В массиве Day хранятся данные о количестве израсходованных денег за телефон за неделю (Day [1] — данные за понедельник, Day [2] — за вторник и т.д.). Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на двух алгоритмических языках.
Алгоритмический язык |
Паскаль |
алг нач целтаб Day[1:7] цел i, m, d Day [1]:=79 Day [2]:=25 Day [3]:=67 Day [4]:=80 Day [5]:=63 Day [6]:=17 Day [7]:=68 d:= 1; m:= Day [1] нц для i от 2 до 7 если Day[i] > m то m:= Day[i]; d:=i все кц вывод d кон |
var i, m, d: integer; Day: array[1..7] of integer; begin Day [1]:=79; Day[2]:=25; Day [3]:=67; Day[4]:=80; Day [5]:=63; Day[6]:=17; Day [7]:=68; d:= 1; m:= Day [1]; for i:=2 to 7 do begin if Day [i] > m then begin m:= Day [i]; d:=i end end; write(d); End. |
Ответ: 4
2. В массиве E хранятся данные измерений среднемесячного расхода электроэнергии за год в киловаттах (Е[1] — данные за январь, Е[2] — за февраль и т.д.). Определите, что будет напечатано в результате выполнения следующего алгоритма, записанного на двух алгоритмических языках.
Алгоритмический язык |
Паскаль |
алг нач целтаб E[1:12] цел i, k, d E[1]:=125 E[2]:=234 E[3]:=168 E[4]:=89 E[5]:=108 E[6]:=86 E[7]:=108 E[8]:=648 E[9]:=259 E[10]:=386 E[11]:=250 E[12]:=367 d:= 1; k:=E[1] нц для i от 2 до 12 если E[i] < k то k:=E[i]; d:=i все кц вывод d кон |
var i, k, d: integer; E: array[1..12] of integer; begin E[1]:=125; E[2]:=234; E[3]:=168; E[4]:=89; E[5]:=108; E[6]:=86; E[7]:=108; E[8]:=648; E[9]:=259; E[10]:=386; E[11]:=250; E[12]:=367; d:= 1; k:=E[1]; for i:=2 to 12 do begin if E[i] < k then begin k:=E[i]; d:=i end end; write(d); end. |
Ответ: 6
3. В таблице Dat хранятся данные о количестве сделанных учениками заданий (Dat[1] заданий сделал первый ученик, Dat[2] – второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на двух языках.
Алгоритмический язык |
Паскаль |
алг нач целтаб Dat[1:10] цел k, m Dat[1] := 7; Dat[2] := 9; Dat[3] := 10; Dat[4] := 5; Dat[5] := 6; Dat[6] := 7; Dat[7] := 9; Dat[8] := 8; Dat[9] := 6; Dat[10] := 9; m := 0 нц для k от 1 до 10 если Dat[k] < 7 то m := m + 1 все кц вывод m кон |
Var k, m: integer; Dat: array[1..10] of integer; Begin Dat[1] := 7; Dat[2] := 9; Dat[3] := 10; Dat[4] := 5; Dat[5] := 6; Dat[6] := 7; Dat[7] := 9; Dat[8] := 8; Dat[9] := 6; Dat[10] := 9; m := 0; for k := 1 to 10 do if Dat[k] < 7 then begin m := m + 1 end; |
Ответ: 3
4. В таблице Dat хранятся данные о количестве сделанных учениками заданий (Dat[1] заданий сделал первый ученик, Dat[2] – второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на двух языках. программирования.
Алгоритмический язык |
Паскаль |
алг нач целтаб Dat[1:11] цел k, m Dat[1] := 20; Dat[2] := 25; Dat[3] := 19 Dat[4] := 25; Dat[5] := 26; Dat[6] := 22 Dat[7] := 24; Dat[8] := 28; Dat[9] := 26 Dat[10] := 21; Dat[11] := 27; m := 0 нц для k от 1 до 11 если k > 9 то m := m + Dat[k] все кц вывод m кон |
Var k, m: integer; Dat: array[1..11] of integer; Begin Dat[1] := 20; Dat[2] := 25; Dat[3] := 19; Dat[4] := 25; Dat[5] := 26; Dat[6] := 22; Dat[7] := 24; Dat[8] := 28; Dat[9] := 26; Dat[10] := 21; Dat[11] := 27; m := 0; for k := 1 to 11 do if k > 9 then begin m := m + Dat[k] end; writeln(m) end. |
Ответ: 48
5. В таблице Dat хранятся данные о количестве сделанных учениками заданий (Dat[1] заданий сделал первый ученик, Dat[2] – второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на двух языках.
Алгоритмический язык |
Паскаль |
алг нач целтаб Dat[1:11] цел k, m Dat[1] := 20; Dat[2] := 25; Dat[3] := 19 Dat[4] := 25; Dat[5] := 26; Dat[6] := 22 Dat[7] := 24; Dat[8] := 28; Dat[9] := 26 Dat[10] := 21; Dat[11] := 27; m := 30 нц для k от 1 до 11 если Dat[k] < m то m := Dat[k] все кц вывод m кон |
Var k, m: integer; Dat: array[1..11] of integer; Begin Dat[1] := 20; Dat[2] := 25; Dat[3] := 19; Dat[4] := 25; Dat[5] := 26; Dat[6] := 22; Dat[7] := 24; Dat[8] := 28; Dat[9] := 26; Dat[10] := 21; Dat[11] := 27; m := 30; for k := 1 to 11 do if Dat[k] < m then begin m := Dat[k] end; writeln(m) end. |
Ответ: 19
6. В таблице Dat хранятся данные о количестве сделанных учениками заданий (Dat[1] заданий сделал первый ученик, Dat[2] – второй и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на двух языках.
Алгоритмический язык |
Паскаль |
алг нач целтаб Dat[1:11] цел k, m Dat[1] := 20; Dat[2] := 25; Dat[3] := 19 Dat[4] := 25; Dat[5] := 26; Dat[6] := 22 Dat[7] := 24; Dat[8] := 28; Dat[9] := 26 Dat[10] := 21; Dat[11] := 27; m := 0 нц для k от 1 до 11 если k < 5 то m := m + Dat[k] все кц вывод m кон |
Var k, m: integer; Dat: array[1..11] of integer; Begin Dat[1] := 20; Dat[2] := 25; Dat[3] := 19; Dat[4] := 25; Dat[5] := 26; Dat[6] := 22; Dat[7] := 24; Dat[8] := 28; Dat[9] := 26; Dat[10] := 21; Dat[11] := 27; m := 0; for k := 1 to 11 do if k< 5 then begin m := m + Dat[k] end; writeln(m) End. |
Ответ: 89
Источники:- Открытый банк заданий по информатике ФИПИ http://opengia.ru/subjects/informatics-9/topics/1
- Демоверсии оГЭ и ГИА по информатике прошлых лет http://www.fipi.ru/oge-i-gve-9/demoversii-specifikacii-kodifikatory
- Блог http://galinabogacheva.livejournal.com/
- Картинка: http://rover.info/