GCSE Pseudocode: Практическое руководство к формату экзамена
Изучите точные соглашения pseudocode, которые требуют экзаменационные комиссии, с практическими примерами переменных, циклов, массивов и функций.
Баллы за pseudocode теряют каждый год по глупым причинам: неправильный символ присваивания, пропущенные двоеточия, небрежные отступы. Это руководство охватывает соглашения, используемые на экзаменах GCSE по Computer Science (стиль ближе всего к справочным листам OCR и AQA), и показывает, как писать pseudocode, который действительно приносит баллы, а не теряет их из-за придирок к форматированию.
Присваивание, сравнение и вывод
Самая частая ошибка — путаница между присваиванием и равенством. Pseudocode использует <- или = для присваивания в зависимости от комиссии, поэтому проверьте свою спецификацию, но логика остаётся одинаковой в любом случае.
score = 0
score = score + 10
OUTPUT score
Для ввода и вывода используйте INPUT и OUTPUT заглавными буквами — экзаменаторы ищут именно эти ключевые слова, а не print() или console.log(). Если вы напишете синтаксис в стиле Python в вопросе pseudocode, некоторые схемы оценивания его ещё примут, если логика правильная, но не рискуйте. Придерживайтесь преподаваемого соглашения.
Сравнения используют == для равенства в большинстве pseudocode комиссий, и !=, <, >, <=, >= как и ожидается. Не используйте одиночный = для сравнения — это классическая ошибка в стиле C, которая стоит балла в операторе IF.
Условное выполнение: IF, ELSE IF, ELSE
IF age < 13 THEN
OUTPUT "Child"
ELSE IF age < 18 THEN
OUTPUT "Teenager"
ELSE
OUTPUT "Adult"
ENDIF
Каждый IF нужен парный ENDIF (или ENDIF/END IF в зависимости от спецификации — AQA обычно закрывает просто отступом без явного закрывающего токена в некоторых версиях, поэтому проверьте справочный лист вашей комиссии перед экзаменом). Отступы должны быть последовательными: два или четыре пробела, неважно какие, но выберите один и придерживайтесь его во всём ответе. Экзаменаторы читают структуру через отступы настолько же, как через ключевые слова.
Итерация: три типа циклов, три задачи
GCSE pseudocode требует, чтобы вы знали, когда использовать каждый цикл, а не только как его писать.
Счётный цикл — используйте FOR когда вы точно знаете, сколько раз повторить:
FOR i = 1 TO 10
OUTPUT i * i
NEXT i
Цикл с условием, проверка в начале — используйте WHILE когда цикл может вообще не выполниться:
WHILE total < 100
total = total + 10
ENDWHILE
Цикл с условием, проверка в конце — используйте REPEAT...UNTIL когда цикл должен выполниться хотя бы один раз, например при валидации ввода:
REPEAT
INPUT password
UNTIL LEN(password) >= 8
Распространённая ловушка на экзамене: экзаменаторы просят вас найти, почему цикл WHILE никогда не выполняется, или почему цикл REPEAT выполняется на один раз больше. Проходите по коду вручную с реальными значениями перед тем как ответить — не просто читайте код.
Массивы и двумерные массивы
Массивы почти всегда индексируются с нуля в экзаменационном pseudocode, что соответствует соглашениям Python, преподаваемым параллельно.
names = ["Alex", "Sam", "Jo"]
OUTPUT names[0]
FOR i = 0 TO LEN(names) - 1
OUTPUT names[i]
NEXT i
Для двумерных массивов вы встретите нотацию grid[row][col] и вложенные циклы FOR:
FOR row = 0 TO 2
FOR col = 0 TO 2
OUTPUT grid[row][col]
NEXT col
NEXT row
Получите правильный порядок циклов — строки снаружи, столбцы внутри это стандарт, но внимательно читайте вопрос потому что некоторые схемы оценивания специально меняют местами, чтобы проверить, действительно ли вы проходите логику.
Процедуры и функции
Знайте разницу: процедура что-то делает и не возвращает значение, функция возвращает значение.
PROCEDURE greet(name)
OUTPUT "Hello " + name
ENDPROCEDURE
FUNCTION square(n)
RETURN n * n
ENDFUNCTION
result = square(5)
greet("Priya")
Параметры передаются по значению если в вопросе не сказано иное. Если вас просят написать функцию, всегда включайте RETURN — функция без него теряет балл даже если расчёт внутри правильный.
Таблицы трассировки: ваше лучшее оружие на экзамене
Когда вопрос даёт вам pseudocode и просит вывод, не угадывайте — строите таблицу трассировки. Столбцы для каждой переменной, одна строка за итерацию цикла, заполняя значения по мере их изменения. Это медленнее чем читать код в голове но намного надёжнее, особенно с вложенными циклами или ошибками на единицу в границах массива.
Практика этого правильно
Пишите pseudocode вручную перед печатью — на экзамене нет автодополнения. Потом переведите несколько своих ответов в реальный Python и запустите их; если вывод совпадает с тем что вы предсказали, ваше понимание правильное. Если нет, вы нашли ровно то место где ваша логика нарушается.
Для более структурированной практики с циклами, массивами и функциями в реальном коде, проверьте разделы Python и Computer Science на Korra Studio.
Написано с помощью ИИ, проверено и опубликовано Михалом Пильхом (CISSP), Korra Studio.
Это одна заметка из базы знаний Korra Studio — платформа сочетает каждую тему с наставничеством один на один.
Начать бесплатноarrow_forward