Основы алгоритмизации Подготовка к ГИА Маринина М.В.
основные свойства алгоритма типы алгоритмических конструкций (следование, ветвление, цикл) понятие вспомогательного алгоритма 1 2 3 Требования к условиям подготовки, освоение которых проверяется на ГИА выпускников 9 классов общеобразовательных учреждений, по информатике и ИКТ Знать/понимать:
выполнять базовые операции над объектами: цепочками символов, числами, списками, деревьями выполнять и строить простые алгоритмы 1 3 Требования к условиям подготовки, освоение которых проверяется на ГИА выпускников 9 классов общеобразовательных учреждений, по информатике и ИКТ Уметь: 2 проверять свойства этих объектов
Понятие алгоритма Алгоритм – это конечная последовательность действий, приводящая к результату.
Свойства алгоритма ПОНЯТНОСТЬ ТОЧНОСТЬ ДИСКРЕТНОСТЬ Каждая команда алгоритма определяет однозначные действия исполнителя. Алгоритм должен состоять из команд, понятных конкретному исполнителю. Процесс решения задачи должен быть разбит на последовательность отдельных шагов.
Свойства алгоритма КОНЕЧНОСТЬ МАССОВОСТЬ Предпочтительнее разрабатывать алгоритмы, позволяющие решать все задачи данного класса. Исполнение алгоритма должно завершиться за конечное число шагов.
запись на естественном языке словесный графический изображение из графических символов На практике наиболее распространены следующие способы задания алгоритмов Способы записи алгоритмов
система обозначений и правил, предназначенная для единообразной записи алгоритмов псевдокод программный алгоритмы на языках программирования Способы записи алгоритмов
Обобщенный план варианта КИМ для ГИА выпускников 9 классов по информатике и ИКТ № за да ния Проверяемые элементы содержания Уровень сложности задания Максим. балл за выполнение задания Примерное время выполнения задания (мин.) 6 Умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд Повышенный 1 6 8 Умение исполнить линейный алгоритм, записанный на алгоритмическом языке Базовый 1 3 9 Умение исполнить простейший циклический алгоритм, записанный на алгоритмическом языке Базовый 1 4 10 Умение исполнить циклический алгоритм обработки массива чисел, записанный на алгоритмическом языке Повышенный 1 6 14 Умение записать простой линейный алгоритм для формального исполнителя Повышенный 1 5 16 Умение исполнить алгоритм, записанный на естественном языке, обрабатывающий цепочки символов или списки Повышенный 1 7 20 Умение написать короткий алгоритм в среде формального исполнителя (вариант задания 20.1) или на языке программирования (вариант задания 20.2) Высокий 2 45
№6. Умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд ПРИМЕР ЗАДАНИЯ Исполнитель Жук перемещается по полю, разделённому на клетки. Размер поля 8×8, строки нумеруются числами, столбцы обозначаются буквами. Жук может выполнять команды движения: вверх N, вниз N, вправо N, влево N (где N – целое число от 1 до 7), перемещающие исполнителя на N клеток вверх, вниз, вправо или влево соответственно. Запись повтори k раз Команда1 Команда2 Команда3 кц означает, что последовательность команд Команда1 Команда2 Команда3 повторится k раз.
№6. Умение исполнить алгоритм для конкретного исполнителя с фиксированным набором команд Пусть Жук расположен так, как указано на рисунке. Жуку был дан для исполнения следующий алгоритм: повтори 2 раз вверх 2 влево 1 вниз 2 кц В какой клетке окажется Жук после выполнения этого алгоритма?
Решение повтори 2 раз вверх 2 влево 1 вниз 2 кц
№8. Умение исполнить линейный алгоритм, записанный на алгоритмическом языке ПРИМЕР ЗАДАНИЯ Символ «:=» обозначает оператор присваивания, знаки «+», «–», «*» и «/» – соответственно операции сложения, вычитания, умножения и деления. Правила выполнения операций и порядок действий соответствуют правилам арифметики. Определите значение переменной a после выполнения данного алгоритма: a := 20 b := 5 b := b*4–10 a := 75–(a+b) В ответе укажите одно целое число – значение переменной a.
a := 20 b := 5 b := b*4–10 a := 75–(a+b) Построим таблицу решений: Решение a b 20 5 10 45
№9. Умение исполнить простейший циклический алгоритм, записанный на алгоритмическом языке ПРИМЕР ЗАДАНИЯ Запишите значение переменной a, полученное в результате работы следующей программы. var a, n: integer; begin a := 5; a := a + 2; for n := 1 to 5 do a := a + n; writeln (a) end.
var a, n: integer; begin a := 5; a := a + 2; for n := 1 to 5 do a := a + n; writeln (a) end. Решение 1. a = 5 + 2 = 7 2. Цикл выполнится 5 раз. 3. a = 7 + 1 + 2 + 3 + 4 + 5 = 22
№14. Умение записать простой линейный алгоритм для формального исполнителя ПРИМЕР ЗАДАНИЯ У исполнителя Вычислитель две команды, которым присвоены номера: 1. вычти 3 2. умножь на 2 Первая из них уменьшает число на экране на 3, вторая увеличивает число в 2 раза. Составьте алгоритм получения из числа 15 числа 111, содержащий не более 5 команд. В ответе запишите только номера команд. (Например, 21212 – это алгоритм: умножь на 2 вычти 3 умножь на 2 вычти 3 умножь на 2 который преобразует число 7 в 38.) Если таких алгоритмов более одного, то запишите любой из них.
Решение Прямой способ Обратный способ 15 * 2 = 30 30 * 2 = 60 60 – 3 = 57 57 * 2 = 114 114 – 3 = 111 111 + 3 = 114 114 : 2 = 57 57 + 3 = 60 60 : 2 = 30 30 : 2 = 15
№16. Умение исполнить алгоритм, записанный на естественном языке, обрабатывающий цепочки символов или списки ПРИМЕР ЗАДАНИЯ Некоторый алгоритм из одной цепочки символов получает новую цепочку следующим образом. Сначала вычисляется длина исходной цепочки символов; если она нечётна, то дублируется средний символ цепочки символов, а если чётна, то в середину цепочки добавляется буква А. В полученной цепочке символов каждая буква заменяется буквой, следующей за ней в русском алфавите (А – на Б, Б – на В и т. д., а Я – на А). Получившаяся таким образом цепочка является результатом работы описанного алгоритма. Например, если исходной была цепочка КОТ, то результатом работы алгоритма будет цепочка ЛППУ, а если исходной была цепочка ВАНЯ, то результатом работы алгоритма будет цепочка ГББОА. Дана цепочка символов ТЮК. Какая цепочка символов получится, если к данной цепочке применить описанный алгоритм дважды (т. е. применить алгоритм к данной цепочке, а затем к результату вновь применить алгоритм)? Русский алфавит: АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
Решение 1) ТЮК ТЮЮК УЯЯЛ длина цепочки нечетна 2) УЯЯЛ УЯАЯЛ ФАБАМ длина цепочки четна
Умение написать короткий алгоритм на языке программирования (вариант задания 20.2) ПРИМЕР ЗАДАНИЯ Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 2 и оканчивающихся на 6. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введённые числа не превышают 500. Программа должна вывести одно число: сумму всех чисел, кратных 2 и оканчивающихся на 6. Пример работы программы: Входные данные Выходные данные 8 42 22 16 26 18 0
Решение var a, s: integer; begin s := 0; readln (a); while a0 do begin if (a mod 2 = 0) and (a mod 10 = 6) then s := s + a; readln (a) end; writeln (s) end.
Ресурсы сети Интернет для подготовки учащихся 9-х классов к ГИА по информатике http://www.fipi.ru – открытый банк заданий ГИА On-line тестирование: http://5ballov.qip.ru/test/gia/informatika-i-ikt/2012/ http://5ballov.qip.ru/test/gia/informatika-i-ikt/2013/ http://onlinetestpad.com/ru-ru/Category/Informatics-GIA-57/Default.aspx