Основы программирования, 8–11 класс: примеры с решением

Основы программирования: переменные, условия, циклы, трансляторы и разбор программ на Pascal и Python. Ниже объяснение, пример решения по шагам и список заданий с ходом решения.

14 заданий8–11 класс
Информатика11 классПеребор чисел, делители, сумма цифр

Напишите программу, которая рассматривает все целые числа на отрезке [100000; 120000]. Определите количество чисел, которые одновременно удовлетворяют двум…

Информатика9 классPython: цикл for с условием

Укажите, какое значение будет выведено на экран после выполнения программы:

Информатика9 классПрограмма вычисления кусочно-заданной функции по графику

Вариант 12. Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика. Параметр R вводится с клавиатуры.

Информатика10 классВывод текста на PHP

напиши мне код hello на php

Информатика8 классПрограммирование

Напишите программу Тестовые данные 1 Входные данные Выходные данные Вперёд к сотке!

Информатика10 классПостроение графиков полиномов в Scilab

Полиномы. Графики. Построить графики полиномов на отрезке [-2,2] с шагом 0.02 à x=[-2:0.02:2] Обязательно должны быть следующие элементы графика xgrid()…

Информатика10 классАнализ программ

Дана программа на двух языках программирования. Найди число, которое будет выведено после выполнения программы. Pascal Python ------ uses crt;var s, n…

Информатика10 классАнализ программ

Дана программа на двух языках программирования. Определи число, которое будет выведено после выполнения программы. Pascal: uses crt; var s, n: integer; begin s…

Информатика10 классТрансляторы

Найди соответствие. (Перенеси верные ответы в нужные окошки.) — это программа, которая переводит в машинные коды программы, записанные на языке высокого…

Информатика8 классАнализ программы

Дана программа на двух языках программирования… Найти число, которое будет выведено после выпо… Pascal Python ------ uses crt;var s, n: integer;begin s := 1; n…

Информатика8 классЦикл с условием

Дана программа на двух языках программирования. Определи число, которое будет выведено в результате работы программы. Pascal Python ------ uses crt;var s, n…

Информатика11 классПоиск и исправление ошибок в программе

На обработку поступает последовательность четырёх натуральных чисел, каждое из которых не превышает 10⁵. Нужно написать программу, которая выводит на экран…

Информатика11 классАнализ и исправление программы

Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 4, 8, 44, 6. 2. Приведите пример четырёх таких чисел, при вводе…

Информатика3 классПоиск количества чисел по условию

На обработку поступает последовательность четырёх натуральных чисел, каждое из которых не превышает 10⁵. Нужно написать программу, которая выводит на экран…

Что входит в основы программирования

Основы программирования в школе — это умение записать алгоритм на языке, который понимает компьютер, и прочитать чужую программу, чтобы понять, что она выведет. В 8–11 классах чаще всего используют Pascal и Python, реже C++, Scilab и другие языки. Тема связана с алгоритмами и исполнителями: сначала придумывают алгоритм, потом записывают его кодом.

В заданиях по основам алгоритмизации и программирования встречаются четыре типа:

  • определить, что выведет программа;
  • найти и исправить ошибки в готовой программе;
  • написать свою программу по условию;
  • ответить на вопрос по теории, например про трансляторы.

Из чего состоит любая программа

Язык может быть любым, набор кирпичиков одинаковый:

  • переменные — именованные ячейки памяти. Присваивание в Pascal: n := 10, в Python: n = 10;
  • ввод и вывод — readln и writeln в Pascal, input() и print() в Python;
  • ветвление — if выполняет действие, только если условие истинно;
  • циклы — while повторяет действия, пока условие истинно, for повторяет их заданное число раз.

Условия строятся по правилам логики. Остаток от деления записывается как mod в Pascal и % в Python, целочисленное деление — div и //. Проверка на равенство в Pascal пишется =, в Python ==.

Как разобрать программу с циклом while по шагам

Возьмём программу:

Паскаль:                  Python:
s := 3;                   s = 3
n := 10;                  n = 10
while s < 20 do begin     while s < 20:
  s := s + 4;                 s = s + 4
  n := n + 2                  n = n + 2
end;                      print(n)
writeln(n)

Нужно определить, что выведет программа.

  1. Запиши начальные значения: s = 3, n = 10.
  2. Проверь условие s < 20. Оно истинно, тело цикла выполняется: s = 7, n = 12.
  3. Снова проверь условие и выполни тело. Получится по порядку: s = 11, n = 14; s = 15, n = 16; s = 19, n = 18; s = 23, n = 20.
  4. Теперь 23 < 20 ложно, цикл заканчивается.
  5. После цикла выполняется вывод, на экране будет 20.

Проверка: тело выполнилось 5 раз, и каждый раз n росло на 2, поэтому n = 10 + 5 × 2 = 20. Условие проверяется до выполнения тела, а новое значение s учитывается только при следующей проверке. Поэтому нельзя остановиться, как только s перешло границу 20, не доделав шаг.

Как найти ошибку в программе и подобрать данные

В задании «программист написал программу неправильно» обычно просят три вещи: узнать, что программа выведет на заданных числах, подобрать числа, на которых ответ случайно верный, и исправить ошибки.

Пусть программа должна считать, сколько среди четырёх чисел кратных 4, а в условии стоит проверка a % 2 == 0. Это проверка на чётность, а не на кратность 4.

  • На числах 4, 8, 44, 6 программа насчитает 4, хотя верный ответ 3: числа 4, 8 и 44 кратны 4, а 6 нет.
  • На числах 1, 3, 5, 7 она выведет 0, и это верно, потому что нечётных кратных 4 не бывает. Ошибка есть, но на этих данных не видна.
  • Исправление: a % 4 == 0 в Python и a mod 4 = 0 в Pascal.

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

Где ошибаются чаще всего

  • Путают = и :=. В Pascal присваивание пишется :=, а = только сравнивает. В Python присваивание =, а сравнение ==.
  • Неверно читают range. Цикл for i in range(1, 7) даёт i от 1 до 6, число 7 не входит. Чтобы перебрать отрезок [100000; 120000] включительно, пиши range(100000, 120001).
  • Ошибаются на последнем проходе цикла. Условие проверяется до тела, поэтому значения после последнего прохода нужно дописать в таблицу, пока условие не станет ложным.
  • Теряют отступы в Python. Строки внутри while, for и if должны быть сдвинуты на одинаковое число пробелов, иначе программа работает по-другому или не запускается.
  • Перепутывают / и //. / в Python даёт дробное число, // отбрасывает дробную часть.

Какие задания присылают ученики и как пользоваться страницей

По этой теме ученики присылают в основном анализ программ с циклами while и for на Pascal и Python, поиск и исправление ошибок в программах про кратность чисел, перебор чисел с условиями на делители и сумму цифр. Есть и вопросы про трансляторы, графики в Scilab и вычисление кусочно-заданной функции.

Найди в списке выше задание, похожее на твоё: у каждого есть полный ход решения. Если подходящего нет, сфотографируй своё условие и отправь, чтобы получить решение с объяснением. Для заданий с массивами пригодится тема массивы и строки, для длинных программ — подпрограммы и рекурсия.

Частые вопросы

Что такое основы программирования?

Это умение записывать алгоритмы на языке программирования: использовать переменные, ввод и вывод, условия и циклы. Кроме того, нужно уметь читать готовую программу и находить в ней ошибки.

Чем отличается компилятор от интерпретатора?

Компилятор переводит всю программу в машинные коды целиком, и после этого её можно запускать. Интерпретатор анализирует и выполняет текст программы построчно. Оба вида относятся к трансляторам.

С чего начать основы программирования для начинающих?

Начни с переменных, ввода и вывода, затем освой условие if и цикл while. Разбирай готовые короткие программы вручную с таблицей значений, потом пиши свои.

Как найти ответ на задание, что выведет программа?

Выпиши начальные значения переменных и выполняй программу строка за строкой, записывая новые значения в таблицу. Ответ — то, что стоит в команде вывода после остановки цикла.

Основы программирования, 8–11 класс: примеры с решением | ДЗмэн