Что нужно знать для выполнения задания. Что нужно знать для выполнения задания Примеры решения задач

Обработка информации:

  • Алгоритм, свойства алгоритмов, способы записи алгоритмов. Блок-схемы. Представление о программировании.
  • Алгоритмические конструкции.

Это темы для которых создаются проверочные задания №10 основного государственного экзамена (ОГЭ) по информатике.

10 (В) (часть 1, повышенный уровень - задание подразумевает самостоятельное формулирование и запись экзаменуемым ответа в виде последовательности символов, время выполнения - 6 мин, максимальный балл за выполнение задания - 1). Требования к уровню подготовки, освоение которых проверяется в ходе экзамена при ответе на данное задание: оценивать числовые параметры информационных объектов и процессов, умение исполнить циклический алгоритм обработки массива чисел на одном из языков программирования.

Что нужно знать для выполнения задания:

  • массив - это набор (поименованная совокупность) однотипных элементов, упорядоченных по индексам, определяющим положение элемента в массиве;
  • перед использованием в программе массив должен быть описан, т.е. должно быть указано имя, количество элементов массива и их тип;

var <имя_массива>: array [<мин_знач_индекса>. . <макс_знач_индекса> ] of <тип_элементов>;

Например: запись
var А: array of integer;
означает, что дан массив с именем А, состоящий из 10 целых элементов.

  • заполнить массив можно вводя значение каждого элемента с клавиатуры, либо присваивая элементам некоторые значения:
  • для обращения к элементу массива используют квадратные скобки, запись A[i] обозначает элемент массива A с номером (индексом) i;
  • матрица (двухмерный массив) - это прямоугольная таблица однотипных элементов;
  • если матрица имеет имя A, то обращение A обозначает элемент, расположенный на пересечении строки i и столбца k.

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

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

алг
нач
целтаб Dat
цел k, m
Dat := 20; Dat := 25
Dat := 19; Dat := 25
Dat := 26; Dat := 22
Dat := 24; Dat := 28
Dat := 26; Dat := 21
Dat := 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 of integer; Begin Dat := 20; Dat := 25; Dat := 19; Dat := 25; Dat := 26; Dat := 22; Dat := 24; Dat := 28; Dat := 26; Dat := 21; Dat > 22 then begin m:= m + 1 end; writeln(m) End.

Решение (1 способ):

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

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

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

Массив Dat

Индекс

Значение

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

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

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

ВНИМАНИЕ: Элемент под номером 6, который равен 22. Но т.к. сравнение у нас строгое (знак «>»), то его мы не учитываем.

Ответ: 7

Решение (2 способ ручная прокрутка):

Мысленно представляем полученный массив:
Массив Dat

Индекс

Значение

Федеральный институт педагогических измерений / Демоверсии, спецификации, кодификаторы ОГЭ 2015 - 2019 годов // Информатика и ИКТ — (http://fipi.ru)

  • Драчева Е. Р., Гришина И. А. Готовимся к ГИА по информатике / Е. Р. Драчева, И. А. Гришина // Часть В — (http://giainformatika.ru/)
  • k Dat[k] (для Бейсик Dat(k)) Проверка условия Dat[k] > 22 (для Бейсик Dat(k) > 22) m
    0
    1 20 нет
    2 25 да 1
    3 19 нет
    4 25 да 2
    5 26 да 3
    6 22 нет
    7 24 да 4

    В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat - количество голосов, поданных за первого исполнителя; Dat - за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык Бейсик Паскаль алг нач целтаб Dat цел k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 15 Dat := 35 m:= 0 нц для k от 1 до 10 если Dat[k]gt;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)gt;m THEN m = Dat(k) ENDIF NEXT k PRINT m Var k, m: integer; Dat: array of integer; Begin Dat := 16; Dat := 20; Dat := 20; Dat := 41; Dat := 14; Dat := 21; Dat := 28; Dat := 12; Dat := 15; Dat := 35; m:= 0; for k:= 1 to 10 do if Dat[k]gt;m then begin m:= Dat[k] end; writeln(m); End.

    Похожие вопросы

    Задание 1:

    Реферат, набранный на компьютере, содержит 48 страниц текста и помимо этого ещё 32 рисунка. На каждой текстовой странице 36 строк, в каждой строке 48 символов. Для кодирования символов используется кодировка КОИ-8, при которой каждый символ кодируется 8 битами. Определите информационный объём всего реферата, если информационный объем каждого рисунка составляет 2080 байт.

    Решение:

    В кодировке КОИ-8, 1 символ несет 1 байт (что равно = 8 бит) информации.

    У нас известно, что всего 48 страниц текста + 32 рисунка. На каждой странице 36 строк, в каждой строке 48 символов.

    Узнаем, сколько весит одна страница:

    48 символов * 36 строк = на одной странице 1728 символов.

    1728 символов на одной странице * 1 байт = одна страница весит 1728 байт.

    48 всего страниц * на вес одной страницы 1728 байт = общий вес всех страниц текста 82944 байт.

    Узнаем, сколько весят все рисунки в реферате:

    По условию, 1 рисунок у нас весит 2080 байт. А всего их 32 рисунка.

    2080 байт * 32 рисунка = 66560 байт.

    Итого:

    Общий вес всех страниц текста 82944 байт + вес рисунков 66560 байт = 149504 байт.

    По умолчанию, 1 Килобайт (Кбайт) = 1024 байт.

    149504 байт / 1024 байт = 146 Кбайт.

    Ответ: 146 Кбайт

    Задание 2:

    Для какого из приведённых названий птиц истинно высказывание:

    НЕ ((первая буква согласная) ИЛИ (последняя буква гласная))

    1. Коршун
    2. Чайка
    3. Иволга

    Конъюнкция (И) результат операции будет истинным тогда, когда оба исходных высказывания истинны.

    Дизъюнкция (ИЛИ) результат операции будет ложным тогда, когда оба исходных высказывания ложны.

    Инверсия (НЕ) каждому высказыванию ставит в соответствие новое высказывание, значение которого противоположно исходному.

    Логические операции имеют следующий приоритет: инверсия -> конъюнкция -> дизъюнкция.

    Решение:

    Раскроем скобки:

    Первая буква гласная И первая последняя буква согласная.

    Ответ: Удод

    Задание 4:

    Пользователь работал с каталогом Тициан. Сначала он поднялся на один уровень вверх, затем спустился на один уровень вниз, потом ещё раз поднялся на один уровень вверх. В результате он оказался в каталоге:

    С:\Искусство\Италия\Возрождение\Джорджоне

    Запишите полный путь каталога, с которым пользователь начинал работу.

    1. С:\Искусство\Италия\Возрождение\Художники\Тициан
    2. С:\Искусство\Италия\Возрождение\Тициан
    3. С:\Искусство\Италия\Возрождение\Тициан\Джорджоне
    4. С:\Искусство\Италия\Возрождение\Джорджоне\Тициан

    В условии указаны действия пользователя:

    Сначала он поднялся на один уровень вверх, затем спустился на один уровень вниз, потом ещё раз поднялся на один уровень вверх.

    Сделаем условия в обратном порядке:

    Поднялся на один уровень вверх -> Спустился на один уровень вниз -> Поднялся на один уровень вверх.

    За точку отправления берем каталог «Джорджоне»

    С:\Искусство\Италия\Возрождение\Джорджоне

    Если мы проделаем наше условие, то должны оказаться где-то выше каталога «Джорджоне».

    С:\Искусство\Италия\Возрождение\Джорджоне\???

    По предложенным ответам, нам только подходит 4ый вариант.

    Ответ: С:\Искусство\Италия\Возрождение\Джорджоне\Тициан

    Задание 5:

    Какая формула может быть записана в ячейке D2, чтобы построенная после выполнения вычислений диаграмма по значениям диапазона ячеек A2:D2 соответствовала рисунку?

    A B C D
    1 4 3 2 1
    2 =A1+C1 =C1 =A1-2 ?

    Варианты ответа:

    1. = А1+2
    2. = В1+1
    3. = С1*2
    4. = D1*2

    Решение:

    Из таблицы мы знаем: A1=4, B1=3, C1=2, D1=1.

    Давайте заполним таблицу и найдем значение полей: A2, B2 и C2.

    A B C D
    1 4 3 2 1
    2 6 2 2 ?

    Мы узнали: A2=6, B2=2, C2=2.

    Теперь вернемся к нашей диаграмме и внимательно посмотрим на нее:

    У нас одна большая часть и три маленьких.

    Логически рассуждая, давайте представим одну большую часть как A2, которая ровна 6-и. А три маленькие равные части, это 6 деленное на 3, получается одна маленькая часть ровна 2-ум.

    Из предложенных вариантов ответов, нам нужно что бы D2 было равно 2-ум.

    Получается, что это четвертый ответ.

    Ответ: 4

    Задание 7:

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

    Номера букв даны в таблице:

    Некоторые шифровки можно расшифровать не одним способом.

    Например, 12112 может означать «АБАК», может - «КАК», а может - «АБААБ».

    Даны четыре шифровки:

    1. 812029
    2. 812030
    3. 182029
    4. 182030

    Только одна из них расшифровывается единственным способом.

    Найдите её и расшифруйте. То, что получилось, запишите в качестве ответа.

    Решение:

    Третий и четвертый вариант мы сразу исключаем. В начале шифровки стоит «18», это может быть как просто «1» так и «18».

    Остаются первый и второй вариант шифровки.

    Шифровка по условию начинается с 1 и заканчивается на 33. В первом варианте шифровки "29", может быть как "2" и "9", что нельзя сказать про второй вариант шифровки, которая заканчивается на "30". В шифровке "0" по условию нет и шифр "30" мы разделить ни как не можем.

    Ответ: ЖАТЬ

    Задание 10:

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

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

    алг
    нач
    целтаб Dat
    цел k, m
    Dat := 45; Dat : = 55
    Dat := 40; Dat : = 15
    Dat := 20; Dat := 80
    Dat := 35; Dat : = 70
    Dat := 10; Dat := 45
    m:= Dat
    нц для к от 4 до 10
    если Dat[к] >= Dat то
    m:= m + Dat [к]
    все
    кц
    вывод m
    кон

    Бейсик:

    DIM Dat(10) AS INTEGER
    Dat(1)= 45: Dat(2)= 55
    Dat(3)= 40: Dat(4)= 15
    Dat(5)= 20: Dat(6)= 80
    Dat(7)= 35: Dat(8)= 70
    Dat(9)= 10: Dat(10)= 45
    m = Dat (1)
    FOR k = 4 TO 10
    IF Dat(k) >= Dat (1)
    THEN
    m = m + Dat (k)
    END IF
    10
    10
    ID_650 4/8 neznaika.pro
    NEXT k
    PRINT m
    END

    Паскаль:

    var k, m: integer;
    Dat: array
    of integer;
    begin
    Dat := 45; Dat := 55;
    Dat := 40; Dat := 15;
    Dat := 20; Dat := 80;
    Dat := 35; Dat := 70;
    Dat := 10; Dat := 45;
    m:= Dat;
    for k:= 4 to 10 do begin
    if Dat[k] >= Dat then
    begin
    m:= m + Dat[k]
    end
    end;
    write(m);
    end.

    Давайте решим задачу на примере языка Паскаль.

    var k, m: integer;
    Dat: array
    of integer;
    begin
    Dat := 45; Dat := 55;
    Dat := 40; Dat := 15;
    Dat := 20;. Dat := 80;
    Dat := 35; Dat := 70;
    Dat := 10; Dat := 45;
    m:= Dat;
    for k:= 4 to 10 do begin
    if Dat[k] >= Dat then
    begin
    m:= m + Dat[k]
    end
    end;
    write(m);
    end.

    Сначала у нас вводятся целые числовые переменные k и m.

    Дана таблица с 1 до 10 значений - десять проданных типов товаров.

    Переменная m равна первому типу товаров (Dat := 45;).

    Если одно из значений с 4-го по 10-ый тип будет больше или равно 1-ого типа, который равен 45, то большее значение добавляется к переменной m. Которая в свою очередь у нас по условию, переменная m равна 45.

    Получается, что у нас типы товаров: Dat и Dat больше значения Dat := 45, а тип Dat равен Dat := 45.

    В итоге получаем:

    45 + Dat + Dat + Dat =

    45 + 80 + 70 + 45 = 240

    Ответ: Будет напечатано 240

    В таблице Dat представлены данные о количестве голосов, поданных за 10 исполнителей народных песен (Dat - количество голосов, поданных за первого исполнителя; Dat - за второго и т. д.). Определите, какое число будет напечатано в результате работы следующей программы. Текст программы приведён на трёх языках программирования. Алгоритмический язык Бейсик Паскаль алг нач целтаб Dat цел k, m Dat := 16 Dat := 20 Dat := 20 Dat := 41 Dat := 14 Dat := 21 Dat := 28 Dat := 12 Dat := 15 Dat := 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 of integer; Begin Dat := 16; Dat := 20; Dat := 20; Dat := 41; Dat := 14; Dat := 21; Dat := 28; Dat := 12; Dat := 15; Dat := 35; m:= 0; for k:= 1 to 10 do if Dat[k] больше m then begin m:= Dat[k] end; writeln(m); End.

    Похожие вопросы

    • Ребят,помогите:(lg(x+√3)+lg(x-√3)=0
    • Стала девочка котенка кормить. Принесла овсяной кашки,отвернулся он от чашки. Принесла ему редиски, отвернулся он от миски. Принесла кусочек сала, говорит котенок мало. Найдите в тексте слова с орфограммой "безударный гласный в...
    • . Что больше: 26% учащихся школы или учащихся этой школы? А. 26% учащихся Б. учащихся В. Эти числа равны Г. Данных для ответа недостаточно
    • Помогите правильно перевести письмо выдуманному другу. Дорогая Нелли, Привет помнишь я хотела тебе рассказать о моём селе? У нас в селе прекрасная природа. Она особо хороша летом. Я не могу с точностью описать нашу сельскую п...
    • 1) карбонат кальция --> оксид кальция + углекислый газ 2) сульфат меди (II) + гидроксид натрия --> …… 3) соляная кислота + железа --> …… 4) оксид лития + вода --> гидроксид лития. Укажите типы реакций, запишите одно из...
    • В первом бассейне было 1 600 кубических метров воды,во 2 бассейне 1215 квадратных метров воды.Чтобы вычистить 1 бассейн,из него надо вы качать насосом 65 кубических метра воды в час.Чтобы заполнить 2 бассейн,в него надо залить...
    • За 5 тетрадей заплатили n коп., а за 11 блокнотов - на m коп. больше. На сколько копеек блокнот дешевле тетради? Надо составить БУКВЕННОЕ ВЫРАЖЕНИЕ и найти его значение при n=1000, m=320.
    Понравилось? Лайкни нас на Facebook