8 класс. Содержание обучения по информатике
Теоретические основы информатики
Системы счисления.
Непозиционные и позиционные системы счисления. Алфавит. Основание. Развернутая форма записи числа. Перевод в десятичную систему чисел, записанных в других системах счисления.
Римская система счисления.
Двоичная система счисления. Перевод целых чисел в пределах от 0 до 1024 в двоичную систему счисления. Восьмеричная система счисления. Перевод чисел из восьмеричной системы в двоичную и десятичную системы и обратно. Шестнадцатеричная система счисления. Перевод чисел из шестнадцатеричной системы в двоичную, восьмеричную и десятичную системы и обратно.
Арифметические операции в двоичной системе счисления.
Элементы математической логики.
Логические высказывания. Логические значения высказываний. Элементарные и составные высказывания. Логические операции: «и» (конъюнкция, логическое умножение), «или» (дизъюнкция, логическое сложение), «не» (логическое отрицание). Приоритет логических операций. Определение истинности составного высказывания, если известны значения истинности входящих в него элементарных высказываний. Логические выражения. Правила записи логических выражений. Построение таблиц истинности логических выражений.
Логические элементы. Знакомство с логическими основами компьютера.
Алгоритмы и программирование
Исполнители и алгоритмы. Алгоритмические конструкции.
Понятие алгоритма. Исполнители алгоритмов. Алгоритм как план управления исполнителем.
Свойства алгоритма. Способы записи алгоритма (словесный, в виде блок - схемы, программа).
Алгоритмические конструкции. Конструкция «следование». Линейный алгоритм. Ограниченность линейных алгоритмов: невозможность предусмотреть зависимость последовательности выполняемых действий от исходных данных.
Конструкция «ветвление»: полная и неполная формы. Выполнение и невыполнение условия (истинность и ложность высказывания). Простые и составные условия.
Конструкция «повторения»: циклы с заданным числом повторений, с условием выполнения, с переменной цикла.
Разработка для формального исполнителя алгоритма, приводящего к требуемому результату при конкретных исходных данных. Разработка несложных алгоритмов с использованием циклов и ветвлений для управления формальными исполнителями, такими как Робот, Черепашка, Чертежник. Выполнение алгоритмов вручную и на компьютере. Синтаксические и логические ошибки. Отказы.
Язык программирования.
Язык программирования (Python, C++, Паскаль, Java, C#, Школьный Алгоритмический Язык).
Система программирования: редактор текста программ, транслятор, отладчик.
Переменная: тип, имя, значение. Целые, вещественные и символьные переменные.
Оператор присваивания. Арифметические выражения и порядок их вычисления. Операции с целыми числами: целочисленное деление, остаток от деления.
Ветвления. Составные условия (запись логических выражений на изучаемом языке программирования). Нахождение минимума и максимума из двух, трех и четырех чисел. Решение квадратного уравнения, имеющего вещественные корни.
Диалоговая отладка программ: пошаговое выполнение, просмотр значений величин, отладочный вывод, выбор точки останова.
Цикл с условием. Алгоритм Евклида для нахождения наибольшего общего делителя двух натуральных чисел. Разбиение записи натурального числа в позиционной системе с основанием, меньшим или равным 10, на отдельные цифры.
Цикл с переменной. Алгоритмы проверки делимости одного целого числа на другое, проверки натурального числа на простоту.
Обработка символьных данных. Символьные (строковые) переменные. Посимвольная обработка строк. Подсчет частоты появления символа в строке. Встроенные функции для обработки строк.
Анализ алгоритмов.
Определение возможных результатов работы алгоритма при данном множестве входных данных, определение возможных входных данных, приводящих к данному результату.