Диагностическая работа по информатике по теме «Логика и алгоритмы» 9 класс (1.12.2014)

Представлю Вашему вниманию разбор Демо-варианта диагностической работы по информатике (СтатГрад) по теме «Логика и алгоритмы» для 9 класса. Данная работа входит в цикл работ, предназначенных для подготовки к сдаче ОГЭ по информатике.

Проверяемые элементы содержания:

Часть 1

  1. Логические значения, операции, выражения.
  2. Кодирование и декодирование информации
  3. Алгоритм, свойства алгоритма, способы записи алгоритма
  4. Алгоритм, свойства алгоритма, способы записи алгоритма
  5. Алгоритмические конструкции
  6. Обрабатываемые объекты: числа, списки
  7. Алгоритм, свойства алгоритма, способы записи алгоритма
  8. Кодирование и декодирование информации

Часть 2

  1. Умение написать короткий алгоритм в среде формального исполнителя (вариант задания 9.1) или на языке программирования (вариант задания 9.2)

Скачать демо-версию диагностической работы можно в нашей группе в Контакте

Задача №1

Для какого из приведённых имён истинно высказывание: НЕ(Первая буква гласная) И НЕ(Последняя буква согласная)?

  1. Иван
  2. Михаил
  3. Семен
  4. Никита

Решение

Для решения данной задачи необходимо вспомнить 3 логические операции:

  1. Конъюнкция (логическое умножение) — по своему применению максимально приближенная к союзу «И». Обозначается символом
  2. Дизъюнкция (логическое сложение) — по своему применению максимально приближенная к союзу «ИЛИ». Обозначается символом
  3. Отрицание — по своему применению максимально приближенная к частице «НЕ». Обозначается символом ¬

Правила для рассмотренных логических операций:

Конъюнкция (И) Дизъюнкция (ИЛИ) Отрицание (НЕ)
1∧1=1 1∨1=1 ¬1=0
1∧0=0 1∨0=1 ¬0=1
0∧0=0 0∨0=0  

где 1 — истинное высказывание, 0 — ложное.

Проверим каждое слово на то, удовлетворяет ли оно данному логическому выражению:

  • Иван:   ¬1∧¬1=0∧0=0 (ложь) — данное имя не удовлетворяет условию задачи
  • Михаил:   ¬0∧¬1=1∧0=0 (ложь) — данное имя не удовлетворяет условию задачи
  • Семен:   ¬0∧¬1=1∧0=0 (ложь) — данное имя не удовлетворяет условию задачи
  • Никита:    ¬0∧¬0=1∧1=1 (истина) — данное имя удовлетворяет условию задачи

Ответ: 4 (Никита)

Задача №2

Ваня шифрует русские слова, записывая вместо каждой буквы её номер в алфавите (без пробелов). Номера букв даны в таблице.

statgrad_1_12_2014_1

Некоторые шифровки можно расшифровать не одним способом. Например, 311333 может означать «ВАЛЯ», может – «ЭЛЯ», или «ВААВВВ».
Вот четыре шифровки:
3113
9212
6810
2641
Только одна из них расшифровывается единственным способом. Найдите её и расшифруйте. То, что получилось, запишите в качестве ответа.

Решение

  • 3113: можно расшифровать несколькими способами — 3 1 1 3 или 31 1 3 или 31 13 и т.д. Эта шифровка нам не подходит!
  • 9212: можно расшифровать несколькими способами — 9 21 2 или 9 2 1 2 или 9 2 12. Эта шифровка нам не подходит!
  • 6810: можно расшифровать только одним способом — 6 8 10, т.к. номеров 68 и 0 не существует в таблице. Эта шифровка нам подходит!
  • 2641: можно расшифровать двумя  способами — 26 4 1 или 2 6 4 1. Эта шифровка нам не подходит!

Подствим в шифровку 6810 вместо чисел буквы из таблицы и запишем ответ: 6 — Е, 8 — Ж, 10 — И.

Ответ: ЕЖИ

Задача №3

Чертёжнику был дан для исполнения следующий алгоритм:
Повтори 3 раз
Сместиться на (–3, –2) Сместиться на (2, 1) Сместиться на (3, 0)
конец
Какую команду надо выполнить Чертёжнику, чтобы вернуться в исходную точку, из которой он начал движение?

  1. Сместиться на (–3, –6)
  2. Сместиться на (–6, 3)
  3. Сместиться на (6, –3)
  4. Сместиться на (3, 6)

Полный текст задачи смотрите в скаченном файле (см. ссылку выше).

Решение.

В условии задачи не сказано, в какой точке чертежник находится до выполнения алгоритма, поэтому поместим его в точку с координатами (0, 0). Для решения данной задачи рекомендую Вам начертить прямоугольную систему координат и отмечать на ней смещение точки в соответствии с командами, заданными в условии задачи.

Наш алгоритм содержит цикл, который выполняется 3 раза.

1 -е выполнение тела цикла: 

  • Сместиться на (–3, –2) означает что мы сдвигаемся из точки (0, 0) влево на 3 единицы и вниз на 2 единицы в точку с координатами (-3, -2) 
  • Сместиться на (2, 1) означает что мы сдвигаемся из точки (-3, -2) вправо на 2 единицы и вверх на 1 единицу в точку с координатами (-1, -1) 
  • Сместиться на (3, 0) означает что мы сдвигаемся из точки (-1, -1) только вправо на 3 единицы  в точку с координатами (2, -1) 

Если мы повторим эти 3 команды еще раз, мы переместимся в точку с координатами (4, -2); если повторим 3-ий раз — в точку (6, -3)

Вернуться в точку с координатами (0, 0) мы сможем, выполнив команду Сместиться на (–6, 3)

Ответ: 2 (Сместиться на (–6, 3))

 Задача №4

Определите значение переменной a после исполнения данного алгоритма.
a := 3
b := 2
b := 9 + a * b
a := b / 5 * a
Порядок действий соответствует правилам арифметики. В ответе укажите одно число – значение переменной a.

Решение.

Первая строка: переменной а присваивается значение 3

Вторая строка: переменной b присваивается значение 2

Третья строка: переменная b переопределяется 9+3*2=15 (теперь переменная  b=15)

Четвертая строка: переменная а переопределяется 15/5*3=9 (теперь переменная а=9)

Ответ: 9

Задача №5

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

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

Решение.

Перед нами цикл со счетчиком в теле программы. Решение задач с циклом удобно рассматривать в виде таблицы. В цикле участвуют две переменные k и s. Начальное значение переменной s=8. Оформим таблицу:

k s=8
3  8+8=16
4 16+8=24 
5 24+8=32 
6 32+8=40 
7 40+8=48 
8 48+8=56 

Тело цикла повторяется 6 раз (8-3+1=6). В теле цикла одна команда: s:=s+8. Т.е. чтобы получить настоящее значение переменной s мы должны к предыдущему значению прибавить 8.

Ответ: 56

Задача №6

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

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] := 23;
Dat[11] := 27;
m := 0;
for k := 1 to 11 do
if Dat[k] > 22 then
begin
m := m + 1
end;
writeln(m)
End.

Решение.

В задаче нам задан массив, состоящий из 11 элементов. Значения элементов массива объявлены в начале тела программы.

Все вычисления заключены в цикл со счетчиком с переменной-счетчиком k. Рассмотрим его, используя таблицу:

k Dat[k] Условие m=0
1 20 20>22
(не выполняется)
2 25  25>22 (выполняется) 1
3 19 19>22 (не выполняется)
4 25  25>22
(выполняется)
2
5 26 26>22
(выполняется)
3
6 22 22>22
(не выполняется)
7 24  24>22
(выполняется)
 4
8 28 28>22
(выполняется) 
 5
9 26  26>22
(выполняется)
6
10 23 23>22
(выполняется) 
 7
11 27  27>22
 (выполняется)
8

Восемь элементов массива удовлетворяют условию: Dat[k] < 22. Восемь раз выполнится команда m:=m+1 (формула подсчета количества в цикле)

Ответ: 8

Задача № 7

У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на 3
2. вычти 2
Первая из них увеличивает число на экране в 3 раза, вторая уменьшает его на 2. Составьте алгоритм получения из числа 2 числа 30, содержащий не более пяти команд. В ответе запишите только номера команд.

 Решение.

 Рассуждение: 30 можно получить из числа 10, умножив его на 3.

Остается получить число 10 из числа 2 в 4 действия.

  1. 2*3=6 (1)
  2. 6-2=4 (2)
  3. 4*3=12 (1)
  4. 12-2=10 (2)

и пятое действие 10*3=30 (1)

Ответ: 12121

Задача № 8

Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она чётна, то в середину цепочки символов добавляется символ А, а если нечётна, то в начало цепочки добавляется символ Б. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А – на Б, Б – на В и т.д., а Я – на А).

Дана цепочка символов ПУСК. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т.е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)?

Решение.

Мы должны 2 раза выполнить:

  1. Вычисляется длина исходной цепочки символов; если она чётна, то в середину цепочки символов добавляется символ А, а если нечётна, то в начало цепочки добавляется символ Б
  2. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите

1) ПУСК — 4 символа (четное количество), в середину добавляем букву А.

2) ПУАСК — заменим буквы согласно условию: РФБТЛ

Повторим данный алгоритм еще раз. Получим:

1) БРФБТЛ

2) ВСХВУМ

Ответ: ВСХВУМ

Задача № 9.2

Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести одно число: количество чётных чисел, кратных 7.

Решение.

Разбор задачи смотри на Задача 20.2 ГИА по информатике

Ответ:

var a, n: integer;
begin
n:=0;
readln(a);
while a<>0 do begin
if (a mod 2 = 0) and (a mod 7 = 0) then
n := n + 1;
readln(a);
end;
writeln(answer);
end.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 голос, значение: 2,33 из 5)
Загрузка...
Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Антибот *