📘 CodingMarble Learn

Введение в решение задач

Решение задачи на компьютере проходит несколько этапов: анализ задачи (что дано, что нужно найти, какие правила), создание алгоритма (конечного, понятного и упорядоченного набора шагов), написание кода на языке программирования, тестирование с разными входными данными и отладка (поиск и исправление ошибок). Алгоритм можно показать в виде блок-схемы (овал = начало или конец, параллелограмм = ввод или вывод, прямоугольник = действие, ромб = условие, стрелки = направление) или в виде псевдокода (структурированный обычный язык). Декомпозиция делит большую задачу на маленькие подзадачи: их решают по отдельности, а потом соединяют.

🎬 История по шагам

  1. У решения задачи пять этапов: анализ, алгоритм, код, тест и отладка.
  2. Декомпозиция значит разбить большую задачу на маленькие части. Решаем каждую часть, потом соединяем.
  3. В блок-схемах используют фигуры. Овал означает начало или конец. Параллелограмм означает ввод или вывод. Прямоугольник означает действие. Ромб означает условие.
  4. Вот блок-схема, которая печатает большее из чисел A и B. Фишка идёт по пути ДА, потому что 7 больше 4.
  5. Псевдокод записывает те же шаги простыми словами, по одной строке на шаг.
  6. Твоя очередь: выбери A и B. Смотри, по какому пути пойдёт фишка.

Совет: тяни 3D-сцену, чтобы повернуть её. Двумя пальцами можно приблизить.

🤔 Частые сомнения — разобраны

Зачем писать алгоритм до кода?

Если сначала продумать шаги, ты запрограммируешь правильную идею. Исправить план гораздо проще, чем большую программу.

Декомпозиция нужна только для больших программ?

Нет. Даже маленькую программу проще писать, если разделить её на ввод, обработку и вывод.

Почему для условия нужен ромб?

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

Что будет, если A равно B?

A > B неверно, поэтому фишка идёт по пути НЕТ и выводит B, а это то же самое значение. Попробуй сам в свободном режиме.

Что лучше: блок-схема или псевдокод?

Блок-схему легче охватить взглядом для маленьких задач. Псевдокод быстрее писать, и для больших задач он ближе к настоящему коду.

Этапы решения задачи

  1. Анализ задачи: пойми, что дано (входные данные), что нужно получить (результат) и какие есть правила.
  2. Создание алгоритма: запиши решение как чёткие шаги по порядку.
  3. Код: переведи алгоритм в программу на языке вроде Python.
  4. Тест: запусти программу с разными данными, в том числе с крайними случаями (0, отрицательные числа, очень большие значения).
  5. Отладка: найди и исправь ошибки, а затем проверь снова.

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

Блок-схемы

Блок-схема это рисунок алгоритма из стандартных фигур, соединённых стрелками.

Блок-схемы легко понять с первого взгляда, но для больших задач они становятся громоздкими.

Псевдокод

Псевдокод записывает алгоритм простыми фразами, похожими на обычный язык, с ключевыми словами вроде INPUT, COMPUTE, PRINT, IF…ELSE, WHILE. Это не настоящий язык программирования, поэтому точный синтаксис не нужен.

INPUT A, B
IF A > B THEN
    PRINT A
ELSE
    PRINT B

В алгоритмах бывают следование (шаги один за другим), ветвление (решения IF) и повторение (циклы).

Декомпозиция

Декомпозиция значит разбить сложную задачу на более мелкие и простые подзадачи. Каждую часть решают (часто разные люди или разные функции), а потом объединяют.

Пример: система бронирования железнодорожных билетов делится на части: поиск поездов, проверка свободных мест, оформление билета, приём оплаты, печать билета.

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

Что обычно спрашивают на экзамене

Обычно просят: нарисовать блок-схему или написать псевдокод для простых задач (большее из чисел, сумма первых n чисел, чётное/нечётное, оценка по баллам), назвать фигуры, перечислить этапы решения задачи и объяснить декомпозицию на примере.

Главные формулы и определения

Разобранные примеры

1. Напиши алгоритм для нахождения площади прямоугольника.

1. Начало. 2. Ввести длину L и ширину B. 3. Площадь = L × B. 4. Вывести площадь. 5. Конец.

2. Напиши псевдокод, который проверяет, чётное число или нечётное.

INPUT N IF N MOD 2 = 0 THEN PRINT "Чётное" ELSE PRINT "Нечётное"

3. Опиши блок-схему, которая выводит сумму чисел от 1 до 10.

Начало → действие: sum = 0, i = 1 → условие: i <= 10? → Да: действие sum = sum + i, i = i + 1, стрелка назад к условию → Нет: вывод sum → Конец.

4. Разбей на подзадачи задачу «провести школьный день спорта».

Подзадачи: составить список соревнований, зарегистрировать учеников, подготовить площадку и инвентарь, составить расписание, судить и записывать результаты, вручить награды. Каждой может заняться своя команда, а потом всё объединяется.

5. Пройди по блок-схеме «большее число» при A = 5, B = 12.

Начало → ввод A = 5, B = 12 → верно ли, что 5 > 12? Нет → вывести B = 12 → Конец.

6. Напиши псевдокод для вывода оценки: баллы ≥ 90 → A, ≥ 75 → B, иначе C.

INPUT M IF M >= 90 THEN PRINT "A" ELSE IF M >= 75 THEN PRINT "B" ELSE PRINT "C"

Частые ошибки

Тренировочный тест

1. Какая фигура в блок-схеме означает условие?
2. Поиск и исправление ошибок называется:
3. Алгоритм должен быть:
4. Ввод и вывод в блок-схеме обозначают:
5. Разбиение задачи на более мелкие части это:

Практика: отвечай сам

Введи или выбери ответ и нажми «Проверить». Если застрял, возьми подсказку; полное решение появится после ответа.

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

Каковы этапы решения задачи в информатике 11 класса?

Анализ задачи, создание алгоритма, написание кода, тестирование и отладка.

Чем алгоритм отличается от блок-схемы?

Алгоритм это решение по шагам, записанное словами. Блок-схема это рисунок тех же шагов с помощью фигур.

Что такое декомпозиция?

Разбиение сложной задачи на более мелкие подзадачи, которые решаются отдельно, а затем объединяются.

Где это изучают

Canada (Ontario)Grade 10C. Programming
Canada (Ontario)Grade 11B. Software Development
Canada (Ontario)Grade 11B. Software Development
ItalySecondaria di secondo grado – classe 1ªComputer basics and programming
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 1ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªComputer basics and programming
ItalySecondaria di secondo grado – classe 2ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªElements of computer science
ItalySecondaria di secondo grado – classe 2ªElements of computer science
NetherlandsVWO 3 (onderbouw)Mathematical thinking
NetherlandsHAVO 4 (bovenbouw, 2e fase)Foundations
NetherlandsVWO 4 (bovenbouw, 2e fase)Foundations
PolandLiceum ogólnokształcące, klasa IUnderstanding, analysing and solving problems
PolandLiceum ogólnokształcące, klasa IIIDesigning and programming algorithms (I + II)
RomaniaClasa a VIII-aAlgorithms
RomaniaClasa a IX-aMilitary profile (mathematics-informatics, military)
RomaniaClasa a X-aFundamental algorithms on arrays
Spain2º ESOComputational thinking, programming and robotics
Spain3º ESOComputational thinking, programming and robotics
Spain1º BachilleratoAlgebraic Sense
Spain1º BachilleratoAlgebraic Sense
Spain1º BachilleratoAlgebraic sense and computational thinking
CBSE (India)Class 11Computational Thinking and Programming - 1
England (GCSE, A level)Year 103.1 Fundamentals of algorithms
USA (Common Core, NGSS, AP)Grade 8Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 9Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 10Big Idea 3: Algorithms and Programming
USA (Common Core, NGSS, AP)Grade 11Algorithms and Programming
Japan高校(専門学科)1〜3年Programming
Japan高校(専門学科)1〜3年Programming Technology
South Korea중학교 2학년Algorithms and programming
South Korea중학교 3학년Abstraction and algorithms
South Korea고등학교 3학년Abstraction and algorithms
FrancePremièreAlgorithms
FranceTerminaleAlgorithms
FranceTerminaleSpecific option — management information systems
Russia7 классAlgorithms and programming
Russia8 классAlgorithms and programming
Russia10 классAlgorithms and programming
China高一Comp.1 Ch.2 Algorithms and programs

Дальше изучай