СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Решение задании 9 и 10 ОГЭ по Информатике

Категория: Информатика

Нажмите, чтобы узнать подробности

Доступный и понятный материал для изучения задании 9 и 10 ОГЭ по Информатике + задания для отработки

Просмотр содержимого документа
«Решение задании 9 и 10 ОГЭ по Информатике»

Решение задач типа 9 ГИА по информатике

Запишите  значение  переменной  s,  полученное  в  результате  работы следующей  программы.  Текст  программы  приведён  на  трёх  языках программирования.

Алгоритмический язык

Бейсик

Паскаль

алг
нач
цел  s, k
s := 8
нц для k от 3 до 8
s := s + 8
кц
вывод s
кон

DIM k, s AS INTEGER
s = 8
FOR k = 3 TO 8
s = s + 8
NEXT k
PRINT s

Var s,k: integer;
Begin
s := 8;
for k := 3 to 8 do
s := s + 8;
writeln(s);
End.

Ответ: ___________________________.

Решение:

Итак, рассмотрим этот алгоритм, записанный на разных языках.

Вначале объявляется, что будут использованы переменные k и s целочисленного типа

Алгоритмический язык

Бейсик

Паскаль

цел  s, k

DIM k, s AS INTEGER

Var s,k: integer;

 Далее переменной s присваивается значение 8.

Алгоритмический язык

Бейсик

Паскаль

s := 8

s = 8

s := 8

 После этого описывается цикл, где в качестве параметра выступает переменная k, которая изменяется от 3 до 8 с шагом 1 (т. е. будет принимать последовательно значения 3, 4, 5, 6, 7 и 8).

Алгоритмический язык

Бейсик

Паскаль

нц для k от 3 до 8
s := s + 8
кц

FOR k = 3 TO 8
s = s + 8
NEXT k

for k := 3 to 8 do
s := s + 8;

 

Как видим, в теле цикла только одна команда s := s + 8. Т. е. эта операция будет выполняться на каждой итерации (на каждом шаге) цикла.

И в самом конце на экран выводится значение переменной s

Алгоритмический язык

Бейсик

Паскаль

вывод s

PRINT s

writeln(s);

В теле цикла происходит увеличение значения переменной s на 8. Так как параметр цикла увеличивается от 3 до 8 с шагом 1, то при выполнении программы тело цикла будет выполняться 6 раз ( k будет равно 3, 4, 5, 6, 7, 8). Т. е. переменная s увеличитая на 8 * 6 = 48. А так как начальное значение переменной s = 8 и после выполнения программы оно увеличится на 48, то в конечном итоге значение переменной s станет равным 56.

Ответ: 56



Решение задач типа 10 ГИА по информатике

В таблице 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

если Dat[k] 22 то

m := m + 1

все

кц

вывод m

кон

 

DIM Dat(11) AS INTEGER

DIM k,m AS INTEGER

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

IF Dat(k) 22 THEN

m = m + 1

END IF

NEXT k

PRINT 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 Dat[k] 22 then

begin

m := m + 1

end;

writeln(m)

End.

Ответ: ___________________________.

Решение:

Рассмотрим программу пошагово. Итак, в самом начале объявляются переменные, которые будут использоваться (переменные k и m), а так же массив Dat, содержащий 11 элементов (от 1 до 11).

Примечание. В массиве Dat, который описан на языке Basic будет 12 элементов, так как нумерация начинается не с первого элемента, а с нулевого.

Алгоритмический язык

Бейсик

Паскаль

целтаб Dat[1:11]
цел k, m

DIM Dat(11) AS INTEGER
DIM k,m AS INTEGER

Var k, m: integer;
Dat: array[1..11] of integer;

 

Далее идет заполнение массива. Например, элементу массива с индексом 1 присваивается значение 20, элементу с индексом 2 — 25 и так далее. В итоге полученный массив можно представить в таком виде:

Массив Dat

Индекс

1

2

3

4

5

6

7

8

9

10

11

Значение

20

25

19

25

26

22

24

28

26

21

27

 

Далее переменной m присваивается значение 0. После чего начинается цикл с параметром k, при этом k изменяется от 1 до 11 с шагом 1.

В теле цикла происходит проверка условия

Алгоритмический язык

Бейсик

Паскаль

если Dat[k] 22 то

m := m + 1

все

IF Dat(k) 22 THEN

m = m + 1

END IF

if Dat[k] 22 then

begin

m := m + 1

end;

 

Значение элемента массива с индексом k сравнивается с числом 22. Если элемент массива больше 22, то переменная m увеличивается на 1. В противном случае ничего не происходит.

В самом конце программы на экран выводится значение переменной m.

Итак, мы перевели программу на человеческий язык, теперь давайте подумаем, что же в итоге получим после ее выполнения. Нас интересует цикл — именно там происходит изменение значения переменной m. До цикла ее значение равно нулю. Далее программа перебирает все элементы массива и сравнивает их с числом 22. И если элемент массива больше 22, то переменная m увеличивается на 1. Таким образом, нам необходимо посчитать все элементы массива, которые больше 22 — их число и будет равно значению переменной m. Таких элементов 7 — это элементы с индексами 2, 4, 5, 7, 8, 9 и 11.

Следует обратить внимание на элемент под номером 6, который равен 22. Так как сравнение у нас строгое ( знак ), то его мы не учитываем, так как 22 не больше 22. Учитывать его можно было бы в том случае, если бы в сравнении стоял знак =.

Итак, правильный ответ 7.



Просмотр содержимого презентации
«Решение задании 9 и 10 ОГЭ по Информатике»

Решение задании 9 и 10 ОГЭ по информатике

Решение задании

9 и 10

ОГЭ

по информатике

Решение задач типа 9 ГИА по информатике Алгоритмический язык Бейсик алг  нач  цел  s, k  s := 8  нц для k от 3 до 8  s := s + 8  кц  вывод s  кон Паскаль DIM k, s AS INTEGER  s = 8  FOR k = 3 TO 8  s = s + 8  NEXT k  PRINT s Var s,k: integer;  Begin  s := 8;  for k := 3 to 8 do  s := s + 8;  writeln(s);  End. Запишите  значение  переменной  s,  полученное  в  результате  работы следующей  программы.  Текст  программы  приведён  на  трёх  языках программирования. Ответ: ___________________________.

Решение задач типа 9 ГИА по информатике

Алгоритмический язык

Бейсик

алг нач цел  s, k s := 8 нц для k от 3 до 8 s := s + 8 кц вывод s кон

Паскаль

DIM k, s AS INTEGER s = 8 FOR k = 3 TO 8 s = s + 8 NEXT k PRINT s

Var s,k: integer; Begin s := 8; for k := 3 to 8 do s := s + 8; writeln(s); End.

Запишите  значение  переменной  s,  полученное  в  результате  работы следующей  программы.  Текст  программы  приведён  на  трёх  языках программирования.

Ответ: ___________________________.

Решение : Итак, рассмотрим этот алгоритм, записанный на разных языках. Вначале объявляется, что будут использованы переменные k и s целочисленного типа Далее переменной s присваивается значение 8. После этого описывается цикл, где в качестве параметра выступает переменная k, которая изменяется от 3 до 8 с шагом 1 (т. е. будет принимать последовательно значения 3, 4, 5, 6, 7 и 8). В теле цикла только одна команда s := s + 8. Т. е. эта операция будет выполняться на каждой итерации (на каждом шаге) цикла. И в самом конце на экран выводится значение переменной s В теле цикла происходит увеличение значения переменной s на 8. Так как параметр цикла увеличивается от 3 до 8 с шагом 1, то при выполнении программы тело цикла будет выполняться 6 раз ( k будет равно 3, 4, 5, 6, 7, 8). Т. е. переменная s увеличится на 8 * 6 = 48. А так как начальное значение переменной s = 8 и после выполнения программы оно увеличится на 48, то в конечном итоге значение переменной s станет равным 56. Ответ: 56

Решение :

  • Итак, рассмотрим этот алгоритм, записанный на разных языках.
  • Вначале объявляется, что будут использованы переменные k и s целочисленного типа
  • Далее переменной s присваивается значение 8.
  • После этого описывается цикл, где в качестве параметра выступает переменная k, которая изменяется от 3 до 8 с шагом 1 (т. е. будет принимать последовательно значения 3, 4, 5, 6, 7 и 8).
  • В теле цикла только одна команда s := s + 8. Т. е. эта операция будет выполняться на каждой итерации (на каждом шаге) цикла.
  • И в самом конце на экран выводится значение переменной s
  • В теле цикла происходит увеличение значения переменной s на 8. Так как параметр цикла увеличивается от 3 до 8 с шагом 1, то при выполнении программы тело цикла будет выполняться 6 раз ( k будет равно 3, 4, 5, 6, 7, 8). Т. е. переменная s увеличится на 8 * 6 = 48. А так как начальное значение переменной s = 8 и после выполнения программы оно увеличится на 48, то в конечном итоге значение переменной s станет равным 56.

Ответ: 56

22 THEN m := 0; m = m + 1 for k := 1 to 11 do если Dat[k] 22 то m := m + 1 END IF if Dat[k] 22 then NEXT k begin все m := m + 1 кц PRINT m   end; вывод m кон writeln(m) End.  " width="640"

В таблице Dat хранятся данные о численности учеников в классах (Dat[1] число  учеников  в  первом  классе, Dat[2]во  втором  и  т.  д.).  Определите, какое  число  будет  напечатано  в  результате  работы  следующей  программы. Текст программы приведён на трёх языках программирования.

Ответ: ___________________________.

  Алгоритмический язык

Бейсик

алг

Паскаль

DIM Dat(11) AS INTEGER

нач

DIM k,m AS INTEGER

Var k, m: integer;

целтаб Dat[1:11]

Dat: array[1..11] of integer;

Dat(1) = 20: Dat(2) = 25

цел k, m

Dat(3) = 19: Dat(4) = 25

Begin

Dat[1] := 20; Dat[2] := 25

Dat[3] := 19; Dat[4] := 25

Dat(5) = 26: Dat(6) = 22

Dat[1] := 20; Dat[2] := 25;

Dat(7) = 24: Dat(8) = 28

Dat[5] := 26; Dat[6] := 22

Dat[3] := 19; Dat[4] := 25;

Dat[5] := 26; Dat[6] := 22;

Dat(9) = 26: Dat(10) = 21

Dat[7] := 24; Dat[8] := 28

Dat(11) = 27

Dat[7] := 24; Dat[8] := 28;

Dat[9] := 26; Dat[10] := 21

m = 0

Dat[11] := 27

Dat[9] := 26; Dat[10] := 21;

FOR k = 1 TO 11

Dat[11] := 27;

m := 0

нц для k от 1 до 11

IF Dat(k) 22 THEN

m := 0;

m = m + 1

for k := 1 to 11 do

если Dat[k] 22 то

m := m + 1

END IF

if Dat[k] 22 then

NEXT k

begin

все

m := m + 1

кц

PRINT m

 

end;

вывод m

кон

writeln(m)

End.

 

), то его мы не учитываем, так как 22 не больше 22. Учитывать его можно было бы в том случае, если бы в сравнении стоял знак =. Итак, правильный ответ 7." width="640"

Решение:

  • Рассмотрим программу пошагово. Итак, в самом начале объявляются переменные, которые будут использоваться (переменные k и m), а так же массив Dat, содержащий 11 элементов (от 1 до 11).
  • Далее идет заполнение массива. Например, элементу массива с индексом 1 присваивается значение 20, элементу с индексом 2 — 25 и так далее. В итоге полученный массив можно представить в таком виде:
  • Далее переменной m присваивается значение 0. После чего начинается цикл с параметром k, при этом k изменяется от 1 до 11 с шагом 1.
  • Значение элемента массива с индексом k сравнивается с числом 22. Если элемент массива больше 22, то переменная m увеличивается на 1. В противном случае ничего не происходит.
  • В самом конце программы на экран выводится значение переменной m.
  • Итак, мы перевели программу на человеческий язык, теперь давайте подумаем, что же в итоге получим после ее выполнения. Нас интересует цикл — именно там происходит изменение значения переменной m. До цикла ее значение равно нулю. Далее программа перебирает все элементы массива и сравнивает их с числом 22. И если элемент массива больше 22, то переменная m увеличивается на 1. Таким образом, нам необходимо посчитать все элементы массива, которые больше 22 — их число и будет равно значению переменной m. Таких элементов 7 — это элементы с индексами 2, 4, 5, 7, 8, 9 и 11.
  • Следует обратить внимание на элемент под номером 6, который равен 22. Так как сравнение у нас строгое ( знак ), то его мы не учитываем, так как 22 не больше 22. Учитывать его можно было бы в том случае, если бы в сравнении стоял знак =.

Итак, правильный ответ 7.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!