Программы для начинающих: различия между версиями

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
 
(не показано 128 промежуточных версий 5 участников)
Строка 1: Строка 1:
== Замечания перед прочтением ==
__NOTOC__
 
<h3> [[Основные идеи набора алгоритмов для начинающих|Основные идеи набора программ для начинающих]] </h3>
Данный документ - набросок минимального множества задач, необходимых для изучения указанных тем.
Впоследствии для всех задач, содержащихся в этом списке, будут приведены тексты программ на языке Паскаль.
 
Данный документ МОЖНО править. Любому, кто на это отважится :) Разумеется, если будут конструктивные предложения. Если правка будет неудачной, мы безболезненно откатим документ к старой версии.
 
== Основные идеи данного набора задач ==
# Разумная минимальность покрытия, обеспечивающая изучение и закрепление тем
# Приводятся более или менее конструктивные алгоритмы, а не алгоритмы, иллюстрирующие ту или иную конструкцию языка. В идеале в этих задачах не должно быть особенностей языка вовсе. Тем самым, соблюдается идея ''обучения на примерах''
# Повторение алгоритмов из предыдущих пунктов в алгоритмах следующих пунктов
# Включение в список большинства известных простых алгоритмов
# В каждом алгоритме предполагается указать принадлежность к той или иной категории или подкатегории. Кажжый алгоритм может принадлежать к нескольким категориям
# В каждой теме в конце будет также набор ошибок (компиляции, выполнения), которые можно совершить при решении задач из этой темы. Сейчас в скобках после некоторых алгоритмов указаны некоторые категории


== Начало ==
== Начало ==
=== Программы ===
=== [[Начало. Тексты программ|Программы]] ===
# HelloWorld
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#HelloWorld|HelloWorld]]
# Вычисление площади круга
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D0.BB.D0.BE.D1.89.D0.B0.D0.B4.D0.B8_.D0.BA.D1.80.D1.83.D0.B3.D0.B0|Вычисление площади круга]] (использование констант)
# Вычисление A^8 (промежуточные переменные)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_A8|Вычисление A<sup>8</sup>]] (промежуточные переменные)
# Вычисление расстояния между двумя точками на прямой (стандартные функции, abs)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.80.D0.B0.D1.81.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D1.8F_.D0.BC.D0.B5.D0.B6.D0.B4.D1.83_.D0.B4.D0.B2.D1.83.D0.BC.D1.8F_.D1.82.D0.BE.D1.87.D0.BA.D0.B0.D0.BC.D0.B8_.D0.BD.D0.B0_.D0.BF.D1.80.D1.8F.D0.BC.D0.BE.D0.B9|Вычисление расстояния между двумя точками на прямой]] (стандартные функции, abs)
# Вычисление гипотенузы по катетам (стандартные функции, sqrt)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B3.D0.B8.D0.BF.D0.BE.D1.82.D0.B5.D0.BD.D1.83.D0.B7.D1.8B_.D0.BF.D0.BE_.D0.BA.D0.B0.D1.82.D0.B5.D1.82.D0.B0.D0.BC|Вычисление гипотенузы по катетам]] (стандартные функции, sqrt)
# Генерация случайного числа (стандартные функции, random)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.91.D1.80.D0.BE.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BA.D1.83.D0.B1.D0.B8.D0.BA.D0.BE.D0.B2|Бросание кубиков]] (стандартные функции, random)
# Перемена местами двух значений (базовые алгоритмы)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.B1.D0.BC.D0.B5.D0.BD_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B9_.D0.B4.D0.B2.D1.83.D1.85_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_.D1.82.D1.80.D0.B5.D1.82.D1.8C.D0.B5.D0.B9|Перемена местами двух значений]] (базовые алгоритмы)
# Выделение цифр из двузначного числа (div mod)
# [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.86.D0.B8.D1.84.D1.80_.D0.B8.D0.B7_.D0.B4.D0.B2.D1.83.D0.B7.D0.BD.D0.B0.D1.87.D0.BD.D0.BE.D0.B3.D0.BE_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Выделение цифр из двузначного числа]] (div mod)
# Выделение цифр из трехзначного числа (div mod)


=== Возможные ошибки ===
=== [[Начало. Возможные ошибки|Возможные ошибки]] ===


* Неописанная переменная
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.BE.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.BD.D0.B0.D1.8F_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.B0.D1.8F|Неописанная переменная]]
* Отсутствующая ;
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.82.D1.81.D1.83.D1.82.D1.81.D1.82.D0.B2.D1.83.D1.8E.D1.89.D0.B0.D1.8F_.3B|Отсутствующая ;]]
* Несовместимость типов при присваивании
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D1.81.D0.BE.D0.B2.D0.BC.D0.B5.D1.81.D1.82.D0.B8.D0.BC.D0.BE.D1.81.D1.82.D1.8C_.D1.82.D0.B8.D0.BF.D0.BE.D0.B2_.D0.BF.D1.80.D0.B8_.D0.BF.D1.80.D0.B8.D1.81.D0.B2.D0.B0.D0.B8.D0.B2.D0.B0.D0.BD.D0.B8.D0.B8|Несовместимость типов при присваивании]]
* Ошибка ввода
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.82.D1.81.D1.83.D1.82.D1.81.D1.82.D0.B2.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BA.D1.80.D1.8B.D0.B2.D0.B0.D1.8E.D1.89.D0.B5.D0.B3.D0.BE_.D0.B0.D0.BF.D0.BE.D1.81.D1.82.D1.80.D0.BE.D1.84.D0.B0_.D0.BB.D0.B8.D1.82.D0.B5.D1.80.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B9_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8|Отсутствие закрывающего апострофа литеральной строки]]
* Ошибка отсутствия ввода
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.88.D0.B8.D0.B1.D0.BA.D0.B8_.D1.80.D0.B0.D1.81.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B8_.D0.B7.D0.B0.D0.BF.D1.8F.D1.82.D1.8B.D1.85_.D0.B8_.D0.B0.D0.BF.D0.BE.D1.81.D1.82.D1.80.D0.BE.D1.84.D0.BE.D0.B2_.D0.BF.D1.80.D0.B8_.D0.B2.D1.8B.D0.B2.D0.BE.D0.B4.D0.B5_.D1.81.D1.82.D1.80.D0.BE.D0.BA_.D0.B8_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B9|Ошибки расстановки запятых и апострофов при выводе строк и выражений]]
* Ошибка неинициализированной переменной
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.88.D0.B8.D0.B1.D0.BA.D0.B0_.D0.B2.D0.B2.D0.BE.D0.B4.D0.B0|Ошибка ввода]]
* Корень из отрицательного числа
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.88.D0.B8.D0.B1.D0.BA.D0.B0_.D0.BD.D0.B5.D0.B8.D0.BD.D0.B8.D1.86.D0.B8.D0.B0.D0.BB.D0.B8.D0.B7.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.BE.D0.B9_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.BE.D0.B9|Ошибка неинициализированной переменной]]
* Деление на 0
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.94.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D0.B0_0|Деление на 0]]
* [[%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9A.D0.BE.D1.80.D0.B5.D0.BD.D1.8C_.D0.B8.D0.B7_.D0.BE.D1.82.D1.80.D0.B8.D1.86.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Корень из отрицательного числа]]


== Условный оператор и оператор выбора ==
== Условный оператор и оператор выбора ==
=== Программы ===
=== [[Условный оператор и оператор выбора. Тексты программ | Программы]] ===
# Минимум из двух значений (базовые алгоритмы)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9C.D0.B8.D0.BD.D0.B8.D0.BC.D1.83.D0.BC_.D0.B8.D0.B7_.D0.B4.D0.B2.D1.83.D1.85_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B9|Минимум из двух значений]] (базовые алгоритмы)
# Определение четности числа (повторение div mod)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.87.D0.B5.D1.82.D0.BD.D0.BE.D1.81.D1.82.D0.B8_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Определение четности числа]] (повторение div mod, стандартная функция odd)
# Состоит ли двузначное число из одинаковых цифр (выделение цифр из числа)  
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BE.D1.81.D1.82.D0.BE.D0.B8.D1.82_.D0.BB.D0.B8_.D0.B4.D0.B2.D1.83.D0.B7.D0.BD.D0.B0.D1.87.D0.BD.D0.BE.D0.B5_.D1.87.D0.B8.D1.81.D0.BB.D0.BE_.D0.B8.D0.B7_.D0.BE.D0.B4.D0.B8.D0.BD.D0.B0.D0.BA.D0.BE.D0.B2.D1.8B.D1.85_.D1.86.D0.B8.D1.84.D1.80|Состоит ли двузначное число из одинаковых цифр]] (выделение цифр из числа)  
# Упорядочение двух значений по возрастанию (составной оператор, неполная форма условного)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A3.D0.BF.D0.BE.D1.80.D1.8F.D0.B4.D0.BE.D1.87.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B4.D0.B2.D1.83.D1.85_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D0.B9_.D0.BF.D0.BE_.D0.B2.D0.BE.D0.B7.D1.80.D0.B0.D1.81.D1.82.D0.B0.D0.BD.D0.B8.D1.8E|Упорядочение двух значений по возрастанию]] (составной оператор, неполная форма условного)
# Проверка числа на двузначность (and)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B0_.D1.87.D0.B8.D1.81.D0.BB.D0.B0_.D0.BD.D0.B0_.D0.B4.D0.B2.D1.83.D0.B7.D0.BD.D0.B0.D1.87.D0.BD.D0.BE.D1.81.D1.82.D1.8C|Проверка числа на двузначность]] (and)
# Проверка числа на равенство одному из значений (or)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9D.D0.B0.D0.B8.D0.BC.D0.B5.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.B5.D0.B7.D0.BE.D0.BD.D0.B0_.D0.BF.D0.BE_.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D1.83_.D0.BC.D0.B5.D1.81.D1.8F.D1.86.D0.B0|Наименование сезона по номеру месяца]] (вложенные if, цепочечные if, or)
# Наименование праздника по дате (вложенные if, цепочечные if)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.87.D0.B5.D1.82.D0.B2.D0.B5.D1.80.D1.82.D0.B8.2C_.D0.B2_.D0.BA.D0.BE.D1.82.D0.BE.D1.80.D0.BE.D0.B9_.D0.BD.D0.B0.D1.85.D0.BE.D0.B4.D0.B8.D1.82.D1.81.D1.8F_.D1.82.D0.BE.D1.87.D0.BA.D0.B0|Определение четверти, в которой находится точка]] (вложенные if, математика)
# Определение четверти, в которой находится точка (вложенные if, математика)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9D.D0.B0.D1.85.D0.BE.D0.B6.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BA.D0.BE.D1.80.D0.BD.D0.B5.D0.B9_.D0.BA.D0.B2.D0.B0.D0.B4.D1.80.D0.B0.D1.82.D0.BD.D0.BE.D0.B3.D0.BE_.D1.83.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F|Нахождение корней квадратного уравнения]] (математика)
# Нахождение корней квадратного уравнения (математика)
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BB.D0.BE.D0.B2.D0.B5.D1.81.D0.BD.D0.BE.D0.B5_.D0.BD.D0.B0.D0.B8.D0.BC.D0.B5.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D0.B5.D0.B7.D0.BE.D0.BD.D0.B0_.D0.BF.D0.BE_.D0.BD.D0.BE.D0.BC.D0.B5.D1.80.D1.83_.D0.BC.D0.B5.D1.81.D1.8F.D1.86.D0.B0|Словесное наименование сезона по номеру месяца]] (case)  
# Словесное наименование дня недели (case)  
# [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.82.D0.BE.D0.B3.D0.BE.2C_.D1.8F.D0.B2.D0.BB.D1.8F.D0.B5.D1.82.D1.81.D1.8F_.D0.BB.D0.B8_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB_.D1.86.D0.B8.D1.84.D1.80.D0.BE.D0.B9_.D0.B8.D0.BB.D0.B8_.D0.B1.D1.83.D0.BA.D0.B2.D0.BE.D0.B9|Определение того, является ли символ цифрой или буквой]] (case)
# Определение того, является ли символ цифрой или буквой (case)


=== Возможные ошибки ===
=== [[Условный оператор и оператор выбора. Возможные ошибки|Возможные ошибки]] ===
* Неверная расстановка begin end
* [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.B2.D0.B5.D1.80.D0.BD.D0.B0.D1.8F_.D1.80.D0.B0.D1.81.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_begin_end|Неверная расстановка begin end]]
* Неверная расстановка скобок в сложном логическом выражении
* [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D1.82.D1.81.D1.83.D1.82.D1.81.D1.82.D0.B2.D0.B8.D0.B5_begin_end|Отсутствие begin end]]
* [[%D0%A3%D1%81%D0%BB%D0%BE%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B8_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%B2%D1%8B%D0%B1%D0%BE%D1%80%D0%B0._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.B2.D0.B5.D1.80.D0.BD.D0.B0.D1.8F_.D1.80.D0.B0.D1.81.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_.D1.81.D0.BA.D0.BE.D0.B1.D0.BE.D0.BA_.D0.B2_.D1.81.D0.BB.D0.BE.D0.B6.D0.BD.D0.BE.D0.BC_.D0.BB.D0.BE.D0.B3.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.BC_.D0.B2.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B8|Неверная расстановка скобок в сложном логическом выражении]]


== Циклы ==
== Циклы ==


# Вывод последовательностей 1 2 3 4 5  и  5 4 3 2 1 с помощью разных циклов (арифметическая прогрессия)
=== [[ Циклы. Тексты программ|Программы]] ===
# Вывод последовательностей 1 3 5 7 9 и  10 8 6 4 2 с помощью разных циклов (арифметическая прогрессия)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D0.B5.D0.B9_1_2_3_4_5__.D0.B8__5_4_3_2_1|Вывод последовательностей 1 2 3 4 5  и  5 4 3 2 1 с помощью разных циклов]] (арифметическая прогрессия)
# Сумма двузначных чисел (суммы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4_.D0.BF.D0.BE.D1.81.D0.BB.D0.B5.D0.B4.D0.BE.D0.B2.D0.B0.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D0.BE.D1.81.D1.82.D0.B8_1_3_5_7_9|Вывод последовательности 1 3 5 7 9 с помощью разных циклов]] (арифметическая прогрессия)
# n! (базовые алгоритмы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D0.B8_.D0.BF.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.87.D0.B8.D1.81.D0.B5.D0.BB|Сумма и произведение введенных чисел]] (суммы)
# a^n (базовые алгоритмы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_n.21|Вычисление n!]] (базовые алгоритмы)
# Вывод степеней двойки (геометрическая прогрессия)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_An|Вычисление a<sup>n</sup> ]] (базовые алгоритмы)
# Вывод цифр числа (div mod)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4_.D1.86.D0.B8.D1.84.D1.80_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Вывод цифр числа]] (div mod)
# Вывод букв английского алфавита (for)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4_.D0.B1.D1.83.D0.BA.D0.B2_.D0.B0.D0.BD.D0.B3.D0.BB.D0.B8.D0.B9.D1.81.D0.BA.D0.BE.D0.B3.D0.BE_.D0.B0.D0.BB.D1.84.D0.B0.D0.B2.D0.B8.D1.82.D0.B0|Вывод букв английского алфавита]] (for)
# Числа Фибоначчи (рекуррентные последовательности)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A7.D0.B8.D1.81.D0.BB.D0.B0_.D0.A4.D0.B8.D0.B1.D0.BE.D0.BD.D0.B0.D1.87.D1.87.D0.B8|Числа Фибоначчи]] (рекуррентные последовательности)
# Минимум из введенных (минимумы-максимумы, базовые алгоритмы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9C.D0.B8.D0.BD.D0.B8.D0.BC.D1.83.D0.BC_.D0.B8.D0.B7_.D0.B2.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.BD.D1.8B.D1.85|Минимум из введенных]] (минимумы-максимумы, базовые алгоритмы, обработка последовательностей)
# Номер первого максимума из введенных (минимумы-максимумы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.90.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D0.95.D0.B2.D0.BA.D0.BB.D0.B8.D0.B4.D0.B0_.D0.BF.D0.BE.D0.B8.D1.81.D0.BA.D0.B0_.D0.9D.D0.9E.D0.94|Алгоритм Евклида поиска НОД]] (математика, классические алгоритмы)
# Номер последнего максимума из введенных (минимумы-максимумы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B2.D0.BE.D0.B4_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8B_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F|Вывод таблицы умножения]] (вложенные циклы)
# Поиск заданного числа среди введенных (поиск, базовые алгоритмы)
# [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D1.82.D1.8B_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Определение простоты числа]] (математика)
# Минимальное четное из введенных (условный минимум)
# Защита от ввода неверного значения с помощью repeat
# Алгоритм Евклида поиска НОД (математика)
# Является ли число степенью 2 (2 варианта: делением и умножением)
# Вывод таблицы умножения (вложенные циклы)
# Определение простоты числа (математика)
# Разложение числа на простые множители (математика)


=== Возможные ошибки ===
=== [[ Циклы. Возможные ошибки|Возможные ошибки]] ===
* Неверный тип переменной цикла
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.B2.D0.B5.D1.80.D0.BD.D1.8B.D0.B9_.D1.82.D0.B8.D0.BF_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.BE.D0.B9_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0 | Неверный тип переменной цикла]]
* Изменение переменной цикла в теле цикла
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.98.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.BE.D0.B9_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0_.D0.B2_.D1.82.D0.B5.D0.BB.D0.B5_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0|Изменение переменной цикла в теле цикла]]
* Использование одинаковой переменной цикла в заголовках вложенных циклов
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BE.D0.B4.D0.B8.D0.BD.D0.B0.D0.BA.D0.BE.D0.B2.D0.BE.D0.B9_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.BE.D0.B9_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0_.D0.B2_.D0.B7.D0.B0.D0.B3.D0.BE.D0.BB.D0.BE.D0.B2.D0.BA.D0.B0.D1.85_.D0.B2.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.86.D0.B8.D0.BA.D0.BB.D0.BE.D0.B2|Использование одинаковой переменной цикла в заголовках вложенных циклов]]
* Зацикливание
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.B8.D0.BD.D0.B8.D1.86.D0.B8.D0.B0.D0.BB.D0.B8.D0.B7.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D0.B0.D1.8F_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.B0.D1.8F|Неинициализированная переменная]]
* Переполнение
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.97.D0.B0.D1.86.D0.B8.D0.BA.D0.BB.D0.B8.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5|Зацикливание]]
* Сравнение вещественных чисел на равенство
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9F.D0.B5.D1.80.D0.B5.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5|Переполнение]]
* [[%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.A1.D1.80.D0.B0.D0.B2.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B2.D0.B5.D1.89.D0.B5.D1.81.D1.82.D0.B2.D0.B5.D0.BD.D0.BD.D1.8B.D1.85_.D1.87.D0.B8.D1.81.D0.B5.D0.BB_.D0.BD.D0.B0_.D1.80.D0.B0.D0.B2.D0.B5.D0.BD.D1.81.D1.82.D0.B2.D0.BE|Сравнение вещественных чисел на равенство]]


== Процедуры и функции ==
== Процедуры и функции ==


Основная часть задач - создание оберток над известными алгоритмами
=== [[ Процедуры и функции. Тексты программ|Программы]] ===
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D0.BB.D0.BE.D1.89.D0.B0.D0.B4.D0.B8_.D0.B8_.D0.BF.D0.B5.D1.80.D0.B8.D0.BC.D0.B5.D1.82.D1.80.D0.B0_.D0.BF.D1.80.D1.8F.D0.BC.D0.BE.D1.83.D0.B3.D0.BE.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.B0|Вычисление площади и периметра прямоугольника]] (параметры-значения и параметры-переменные)
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A2.D0.B0.D0.B1.D1.83.D0.BB.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8|Табулирование функции]]
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_an|Функция вычисления a<sup>n</sup>]]
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_n.21|Функция вычисления n!]]
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F.2C_.D0.BF.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D1.83.D1.8E.D1.89.D0.B0.D1.8F_.D1.86.D0.B8.D1.84.D1.80.D1.83_.D0.BA_.D0.B5.D0.B5_.D1.81.D0.BB.D0.BE.D0.B2.D0.B5.D1.81.D0.BD.D0.BE.D0.BC.D1.83_.D0.BD.D0.B0.D0.B8.D0.BC.D0.B5.D0.BD.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8E|Функция, преобразующая цифру к ее словесному наименованию]] (case, функция)
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B2.D0.B5.D1.80.D0.BA.D0.B8_.D1.87.D0.B8.D1.81.D0.BB.D0.B0_.D0.BD.D0.B0_.D1.87.D0.B5.D1.82.D0.BD.D0.BE.D1.81.D1.82.D1.8C|Функция проверки числа на четность]]
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D1.81.D1.82.D0.BE.D1.82.D1.8B_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Функция определения простоты числа]] (флаги)
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_n-.D1.82.D0.BE.D0.B3.D0.BE_.D1.87.D0.B8.D1.81.D0.BB.D0.B0_.D0.A4.D0.B8.D0.B1.D0.BE.D0.BD.D0.B0.D1.87.D1.87.D0.B8|Функция вычисления n-того числа Фибоначчи]]
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D1.8F_.D0.BE.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_.D0.9D.D0.9E.D0.94_.D1.87.D0.B8.D1.81.D0.BB.D0.B0|Функция определения НОД числа]] (математика)
# [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D1.80.D0.BE.D1.86.D0.B5.D0.B4.D1.83.D1.80.D0.B0_.D0.B2.D1.8B.D0.B2.D0.BE.D0.B4.D0.B0_.D1.82.D0.B0.D0.B1.D0.BB.D0.B8.D1.86.D1.8B_.D1.83.D0.BC.D0.BD.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F|Процедура вывода таблицы умножения]] (вложенные циклы)


=== Программы ===
=== [[ Процедуры и функции. Возможные ошибки|Возможные ошибки]] ===
# Вычисление площади и периметра прямоугольника (параметры-значения и параметры-переменные)
* [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9D.D0.B5.D0.B2.D0.BE.D0.B7.D0.B2.D1.80.D0.B0.D1.89.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D0.BF.D0.BE_.D0.BE.D0.B4.D0.BD.D0.BE.D0.B9_.D0.B8.D0.B7_.D0.B2.D0.B5.D1.82.D0.B2.D0.B5.D0.B9_.D0.B0.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC.D0.B0|Невозвращение значения функции по одной из ветвей алгоритма]]
# Табулирование функции
* [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9E.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BF.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D0.BE.D0.B9_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0.2C_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D1.83.D0.B5.D0.BC.D0.BE.D0.B3.D0.BE_.D0.B2_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D0.B4.D1.83.D1.80.D0.B5.2C_.D0.BA.D0.B0.D0.BA_.D0.B3.D0.BB.D0.BE.D0.B1.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B9|Описание переменной цикла, используемого в процедуре, как глобальной]]
# Функция вычисления a^n
* [[%D0%9F%D1%80%D0%BE%D1%86%D0%B5%D0%B4%D1%83%D1%80%D1%8B_%D0%B8_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9F.D0.B5.D1.80.D0.B5.D0.B4.D0.B0.D1.87.D0.B0_.D0.B2.D1.8B.D1.85.D0.BE.D0.B4.D0.BD.D1.8B.D1.85_.D0.BF.D0.B0.D1.80.D0.B0.D0.BC.D0.B5.D1.82.D1.80.D0.BE.D0.B2_.D0.BF.D0.BE_.D0.B7.D0.BD.D0.B0.D1.87.D0.B5.D0.BD.D0.B8.D1.8E|Передача выходных параметров по значению]]
# Функция вычисления n!
# Вывод четверти по координатам точки (if, функция)
# Вывод слова, обозначающего данную цифру (case, функция)
# Функция определения простоты числа
# Функция поиска n-того числа Фибоначчи
# Функция проверки числа на четность (флаги)
# Функция определения НОД числа (математика)
# Процедура вывода таблицы умножения (вложенные циклы)
 
=== Возможные ошибки ===
* Невозвращение значения функции по одной из ветвей алгоритма
* Описание переменной цикла, используемого в процедуре, как глобальной
* Передача выходных параметров по значению


== Массивы ==
== Массивы ==
=== Программы ===
=== [[ Массивы. Тексты программ|Программы]] ===
# Ввод, заполнение случайными и вывод
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D0.B2.D0.BE.D0.B4_.D0.B8_.D0.B2.D1.8B.D0.B2.D0.BE.D0.B4|Ввод и вывод]]
# Заполнение арифметической прогрессией (рекуррентные соотношения)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D0.BB.D1.83.D1.87.D0.B0.D0.B9.D0.BD.D1.8B.D0.BC.D0.B8_.D1.87.D0.B8.D1.81.D0.BB.D0.B0.D0.BC.D0.B8|Заполнение случайными числами]]
# Заполнение степенями двойки (рекуррентные соотношения)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B0.D1.80.D0.B8.D1.84.D0.BC.D0.B5.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B9_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B5.D1.81.D1.81.D0.B8.D0.B5.D0.B9|Заполнение арифметической прогрессией]] (рекуррентные соотношения)
# Заполнение числами Фибоначчи (рекуррентные соотношения)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D0.B5.D0.BF.D0.B5.D0.BD.D1.8F.D0.BC.D0.B8_.D0.B4.D0.B2.D0.BE.D0.B9.D0.BA.D0.B8|Заполнение степенями двойки]] (рекуррентные соотношения)
# Инвертирование массива  
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D1.87.D0.B8.D1.81.D0.BB.D0.B0.D0.BC.D0.B8_.D0.A4.D0.B8.D0.B1.D0.BE.D0.BD.D0.B0.D1.87.D1.87.D0.B8|Заполнение числами Фибоначчи]] (рекуррентные соотношения)
# Максимальный элемент в массиве и его индекс (минимумы-максимумы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.98.D0.BD.D0.B2.D0.B5.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0|Инвертирование массива]]
# Минимальный четный элемент и его индекс (минимумы-максимумы, условный минимум)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9C.D0.B0.D0.BA.D1.81.D0.B8.D0.BC.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82_.D0.B2_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B5_.D0.B8_.D0.B5.D0.B3.D0.BE_.D0.B8.D0.BD.D0.B4.D0.B5.D0.BA.D1.81|Максимальный элемент в массиве и его индекс]] (базовые алгоритмы, минимумы-максимумы)
# Запись в другой массив элементов первого, удовлетворяющих определенному условию (добавление элемента в конец)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9C.D0.B8.D0.BD.D0.B8.D0.BC.D0.B0.D0.BB.D1.8C.D0.BD.D1.8B.D0.B9_.D1.87.D0.B5.D1.82.D0.BD.D1.8B.D0.B9_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82_.D0.B8_.D0.B5.D0.B3.D0.BE_.D0.B8.D0.BD.D0.B4.D0.B5.D0.BA.D1.81|Минимальный четный элемент и его индекс]] (минимумы-максимумы, условный минимум)
# Слияние отсортированных массивов в отсортированный (барьерный элемент, классические алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.B8.D1.81.D1.8C_.D1.87.D0.B5.D1.82.D0.BD.D1.8B.D1.85_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0_.D0.B2_.D0.BD.D0.BE.D0.B2.D1.8B.D0.B9_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2|Запись в новый массив элементов другого массива, удовлетворяющих определенному условию]] (базовые алгоритмы, добавление элемента в конец)
# Сдвиг элементов влево (базовые алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BB.D0.B8.D1.8F.D0.BD.D0.B8.D0.B5_.D0.BE.D1.82.D1.81.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.BE.D0.B2_.D0.B2_.D0.BE.D1.82.D1.81.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.BD.D1.8B.D0.B9|Слияние отсортированных массивов в отсортированный]] (барьерный элемент, классические алгоритмы)
# Сдвиг элементов вправо (базовые алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.B4.D0.B2.D0.B8.D0.B3_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.D0.B2.D0.BB.D0.B5.D0.B2.D0.BE|Сдвиг элементов влево]] (базовые алгоритмы)
# Удаление элемента
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.B4.D0.B2.D0.B8.D0.B3_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.D0.B2.D0.BF.D1.80.D0.B0.D0.B2.D0.BE|Сдвиг элементов вправо]] (базовые алгоритмы)
# Вставка элемента  
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A3.D0.B4.D0.B0.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0|Удаление элемента]]
# Подсчет количества элементов, удовлетворяющих условию (базовые алгоритмы, счетчики)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.81.D1.82.D0.B0.D0.B2.D0.BA.D0.B0_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.B0|Вставка элемента]]
# Есть ли элемент, удовлетворяющий условию (базовые алгоритмы, флаги)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B4.D1.81.D1.87.D0.B5.D1.82_.D0.BA.D0.BE.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D1.82.D0.B2.D0.B0_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2.2C_.D1.83.D0.B4.D0.BE.D0.B2.D0.BB.D0.B5.D1.82.D0.B2.D0.BE.D1.80.D1.8F.D1.8E.D1.89.D0.B8.D1.85_.D1.83.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D1.8E|Подсчет количества элементов, удовлетворяющих условию]] (базовые алгоритмы, счетчики)
# Сортировка пузырьком (сортировка, классические алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.95.D1.81.D1.82.D1.8C_.D0.BB.D0.B8_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.2C_.D1.83.D0.B4.D0.BE.D0.B2.D0.BB.D0.B5.D1.82.D0.B2.D0.BE.D1.80.D1.8F.D1.8E.D1.89.D0.B8.D0.B9_.D1.83.D1.81.D0.BB.D0.BE.D0.B2.D0.B8.D1.8E|Есть ли элемент, удовлетворяющий условию]] (базовые алгоритмы, флаги)
# Сортировка выбором (сортировка, классические алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BF.D1.83.D0.B7.D1.8B.D1.80.D1.8C.D0.BA.D0.BE.D0.BC|Сортировка пузырьком]] (сортировка, классические алгоритмы)
# [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.B2.D1.8B.D0.B1.D0.BE.D1.80.D0.BE.D0.BC|Сортировка выбором]] (сортировка, классические алгоритмы)


=== Возможные ошибки ===
=== [[ Массивы. Возможные ошибки|Возможные ошибки]] ===
* Выход за границы диапазона изменения индекса
* [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.9F.D0.BE.D0.BF.D1.8B.D1.82.D0.BA.D0.B0_.D0.B2.D1.8B.D0.B2.D0.B5.D1.81.D1.82.D0.B8_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2_.D0.BD.D0.B5_.D0.BF.D0.BE.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BD.D0.BE.2C_.D0.B0_.D1.86.D0.B5.D0.BB.D0.B8.D0.BA.D0.BE.D0.BC|Попытка вывести массив не поэлементно, а целиком]]
* Затирание элементов при сдвиге
* [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B8_a.5Bi.5D_.D0.B2.D0.BD.D0.B5_.D1.86.D0.B8.D0.BA.D0.BB.D0.B0|Использование записи a[i] вне цикла]]
* [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.92.D1.8B.D1.85.D0.BE.D0.B4_.D0.B7.D0.B0_.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D1.8B_.D0.B4.D0.B8.D0.B0.D0.BF.D0.B0.D0.B7.D0.BE.D0.BD.D0.B0_.D0.B8.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F_.D0.B8.D0.BD.D0.B4.D0.B5.D0.BA.D1.81.D0.B0|Выход за границы диапазона изменения индекса]]
* [[%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B._%D0%92%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8#.D0.97.D0.B0.D1.82.D0.B8.D1.80.D0.B0.D0.BD.D0.B8.D0.B5_.D1.8D.D0.BB.D0.B5.D0.BC.D0.B5.D0.BD.D1.82.D0.BE.D0.B2_.D0.BF.D1.80.D0.B8_.D1.81.D0.B4.D0.B2.D0.B8.D0.B3.D0.B5|Затирание элементов при сдвиге]]


== Матрицы ==
== Матрицы ==
=== Программы ===
=== [[Матрицы. Тексты программ|Программы]] ===
# Заполнение матрицы случайными числами (заполнение)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BC.D0.B0.D1.82.D1.80.D0.B8.D1.86.D1.8B_.D1.81.D0.BB.D1.83.D1.87.D0.B0.D0.B9.D0.BD.D1.8B.D0.BC.D0.B8_.D1.87.D0.B8.D1.81.D0.BB.D0.B0.D0.BC.D0.B8_.D0.B8_.D0.B2.D1.8B.D0.B2.D0.BE.D0.B4|Заполнение матрицы случайными числами и вывод]] (заполнение)
# Перемена местами двух строк
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.B0_.D0.BC.D0.B5.D1.81.D1.82.D0.B0.D0.BC.D0.B8_.D0.B4.D0.B2.D1.83.D1.85_.D1.81.D1.82.D1.80.D0.BE.D0.BA|Перемена местами двух строк]]
# Поиск минимумов в строках (минимумы-максимумы)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BC.D0.B8.D0.BD.D0.B8.D0.BC.D1.83.D0.BC.D0.BE.D0.B2_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B0.D1.85|Поиск минимумов в строках]] (минимумы-максимумы)
# Поиск максимумов в столбцах (минимумы-максимумы)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BC.D0.B0.D0.BA.D1.81.D0.B8.D0.BC.D1.83.D0.BC.D0.BE.D0.B2_.D0.B2_.D1.81.D1.82.D0.BE.D0.BB.D0.B1.D1.86.D0.B0.D1.85|Поиск максимумов в столбцах]] (минимумы-максимумы)
# Поиск сумм в строках (сумма)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D1.81.D1.83.D0.BC.D0.BC_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B0.D1.85|Поиск сумм в строках]] (сумма)
# Поиск произведений в столбцах (произведение)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.BF.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_.D0.B2_.D1.81.D1.82.D0.BE.D0.BB.D0.B1.D1.86.D0.B0.D1.85|Поиск произведений в столбцах]] (произведение)
# Поиск элемента в матрице (поиск)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9D.D0.B0.D0.BB.D0.B8.D1.87.D0.B8.D0.B5_.D0.BD.D1.83.D0.BB.D1.8F_.D0.B2_.D0.BC.D0.B0.D1.82.D1.80.D0.B8.D1.86.D0.B5|Наличие нуля в матрице]] (поиск)
# Сумма чисел на главной диагонали (сумма)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D1.87.D0.B8.D1.81.D0.B5.D0.BB_.D0.BD.D0.B0_.D0.B3.D0.BB.D0.B0.D0.B2.D0.BD.D0.BE.D0.B9_.D0.B4.D0.B8.D0.B0.D0.B3.D0.BE.D0.BD.D0.B0.D0.BB.D0.B8|Сумма чисел на главной диагонали]] (сумма)
# Сумма чисел на побочной диагонали (сумма)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D1.87.D0.B8.D1.81.D0.B5.D0.BB_.D0.BD.D0.B0_.D0.BF.D0.BE.D0.B1.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B4.D0.B8.D0.B0.D0.B3.D0.BE.D0.BD.D0.B0.D0.BB.D0.B8|Сумма чисел на побочной диагонали]] (сумма)
# Заполнение нулями ниже/выше главной диагонали (диагонали матрицы)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D1.83.D0.BB.D1.8F.D0.BC.D0.B8_.D0.BD.D0.B8.D0.B6.D0.B5_.D0.B3.D0.BB.D0.B0.D0.B2.D0.BD.D0.BE.D0.B9_.D0.B4.D0.B8.D0.B0.D0.B3.D0.BE.D0.BD.D0.B0.D0.BB.D0.B8|Заполнение нулями ниже/выше главной диагонали]] (диагонали матрицы)
# Заполнение нулями ниже/выше побочной диагонали  (диагонали матрицы)
# [[%D0%9C%D0%B0%D1%82%D1%80%D0%B8%D1%86%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BD.D1.83.D0.BB.D1.8F.D0.BC.D0.B8_.D0.B2.D1.8B.D1.88.D0.B5_.D0.BF.D0.BE.D0.B1.D0.BE.D1.87.D0.BD.D0.BE.D0.B9_.D0.B4.D0.B8.D0.B0.D0.B3.D0.BE.D0.BD.D0.B0.D0.BB.D0.B8|Заполнение нулями ниже/выше побочной диагонали]] (диагонали матрицы)


=== Возможные ошибки ===
=== [[Матрицы. Возможные ошибки|Возможные ошибки]] ===
* Перепутывание строк и столбцов
* [[Матрицы._Возможные_ошибки|Перепутывание строк и столбцов]]


== Записи ==
== Записи ==


=== Программы ===
=== [[Записи. Тексты программ|Программы]] ===
# Ввод и вывод данных о персонах (привыкание к синтаксису)
# [[%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D0.B2.D0.BE.D0.B4_.D0.B8_.D0.B2.D1.8B.D0.B2.D0.BE.D0.B4_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.BE_.D0.BF.D0.B5.D1.80.D1.81.D0.BE.D0.BD.D0.B0.D1.85|Ввод и вывод данных о персонах]] (привыкание к синтаксису)
# Поиск в массиве персон по фамилии, возрасту (поиск)
# [[%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B8.D1.81.D0.BA_.D0.B2_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B5_.D0.BF.D0.B5.D1.80.D1.81.D0.BE.D0.BD_.D0.BF.D0.BE_.D1.84.D0.B0.D0.BC.D0.B8.D0.BB.D0.B8.D0.B8|Поиск в массиве персон по фамилии]] (поиск)
# Подсчет количества в массиве персон по возрасту (счетчики)
# [[%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D0.BE.D0.B4.D1.81.D1.87.D0.B5.D1.82_.D0.BA.D0.BE.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D1.82.D0.B2.D0.B0_.D0.BF.D0.B5.D1.80.D1.81.D0.BE.D0.BD_.D1.81_.D0.B4.D0.B0.D0.BD.D0.BD.D1.8B.D0.BC_.D0.B2.D0.BE.D0.B7.D1.80.D0.B0.D1.81.D1.82.D0.BE.D0.BC|Подсчет количества персон с данным возрастом]] (счетчики)
# Подсчет в массиве точек количества точек, находящихся от начала координат на расстоянии не более R (минимумы-максимумы)
# [[%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.92.D1.8B.D0.B1.D0.BE.D1.80_.D0.B8.D0.B7_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0_.D1.82.D0.BE.D1.87.D0.B5.D0.BA_.D1.82.D0.BE.D1.87.D0.BA.D0.B8.2C_.D0.BD.D0.B0.D0.B8.D0.B1.D0.BE.D0.BB.D0.B5.D0.B5_.D0.B1.D0.BB.D0.B8.D0.B7.D0.BA.D0.BE.D0.B9_.D0.BA_.D0.BD.D0.B0.D1.87.D0.B0.D0.BB.D1.83_.D0.BA.D0.BE.D0.BE.D1.80.D0.B4.D0.B8.D0.BD.D0.B0.D1.82|Выбор из массива точек точки, наиболее близкой к началу координат]] (минимумы-максимумы)  
# Выбор из массива точек точки, наиболее близкой к началу координат (минимумы-максимумы)  
# [[%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D0.BE.D1.80.D1.82.D0.B8.D1.80.D0.BE.D0.B2.D0.BA.D0.B0_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0_.D0.BF.D0.B5.D1.80.D1.81.D0.BE.D0.BD_.D0.BF.D0.BE_.D0.B2.D0.BE.D0.B7.D1.80.D0.B0.D1.81.D1.82.D1.83|Сортировка массива персон по возрасту]] (сортировка)
# Сортировка массива персон по фамилии, возрасту (сортировка)


== Строки и символы ==
== Строки и символы ==


=== Программы ===
=== [[Строки и символы. Тексты программ|Программы]] ===
# Определение кода по символу и символа по коду
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9E.D0.BF.D1.80.D0.B5.D0.B4.D0.B5.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BA.D0.BE.D0.B4.D0.B0_.D0.BF.D0.BE_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D1.83_.D0.B8_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D0.B0_.D0.BF.D0.BE_.D0.BA.D0.BE.D0.B4.D1.83|Определение кода по символу и символа по коду]]
# Вывод кодовой таблицы
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.86.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.BE.D0.B3.D0.BE_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D0.B0_.D0.B2_.D1.81.D0.BE.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D1.81.D1.82.D0.B2.D1.83.D1.8E.D1.89.D0.B5.D0.B5_.D0.BE.D0.B4.D0.BD.D0.BE.D0.B7.D0.BD.D0.B0.D1.87.D0.BD.D0.BE.D0.B5_.D1.87.D0.B8.D1.81.D0.BB.D0.BE_.D0.B8_.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D0.BD.D0.BE|Преобразование цифрового символа в соответствующее однозначное число и обратно]]
# Сформировать строку из n символов c (конкатенация строк)
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9F.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.87.D0.B8.D1.81.D0.BB.D0.B0_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83_.D0.B8_.D0.BE.D0.B1.D1.80.D0.B0.D1.82.D0.BD.D0.BE|Преобразование числа в строку и обратно]]
# Заменить все маленькие английские буквы в строке соответствующими большими  
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A4.D0.BE.D1.80.D0.BC.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D0.B8.D0.B7_n_.D0.BE.D0.B4.D0.B8.D0.BD.D0.B0.D0.BA.D0.BE.D0.B2.D1.8B.D1.85_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D0.BE.D0.B2|Формирование строки из n одинаковых символов]] (конкатенация строк)
# Подсчет количества цифр в строке
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.97.D0.B0.D0.BC.D0.B5.D0.BD.D0.B0_.D0.B2.D1.81.D0.B5.D1.85_.D0.BC.D0.B0.D0.BB.D0.B5.D0.BD.D1.8C.D0.BA.D0.B8.D1.85_.D0.B0.D0.BD.D0.B3.D0.BB.D0.B8.D0.B9.D1.81.D0.BA.D0.B8.D1.85_.D0.B1.D1.83.D0.BA.D0.B2_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B5_.D1.81.D0.BE.D0.BE.D1.82.D0.B2.D0.B5.D1.82.D1.81.D1.82.D0.B2.D1.83.D1.8E.D1.89.D0.B8.D0.BC.D0.B8_.D0.B1.D0.BE.D0.BB.D1.8C.D1.88.D0.B8.D0.BC.D0.B8|Замена всех маленьких английских букв в строке соответствующими большими]] (цикл по символам строки)
# Есть ли в строке русские буквы (флаги)
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.A1.D1.83.D0.BC.D0.BC.D0.B0_.D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B0.D0.BD.D0.BD.D1.8B.D1.85_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B5_.D1.87.D0.B8.D1.81.D0.B5.D0.BB|Сумма записанных в строке чисел]] (преобразование строки в число)
# Просуммировать записанные в строке числа (преобразование строки в число)
# [[%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8_%D0%B8_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B._%D0%A2%D0%B5%D0%BA%D1%81%D1%82%D1%8B_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC#.D0.9A.D0.BE.D0.BB.D0.B8.D1.87.D0.B5.D1.81.D1.82.D0.B2.D0.BE_.D0.B2.D1.85.D0.BE.D0.B6.D0.B4.D0.B5.D0.BD.D0.B8.D0.B9_.D0.BF.D0.BE.D0.B4.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D1.83|Количество вхождений подстроки в строку]]
# Переставить первую и вторую половины строки местами (вырезание подстроки, конкатенация)
# Подсчитать количество вхождений подстроки в строку  


=== Возможные ошибки ===
=== [[Строки и символы. Возможные ошибки|Возможные ошибки]] ===
* Ошибка при преобразовании строки в число
* [[Строки_и_символы._Возможные_ошибки|Ошибка при преобразовании строки в число]]
* Выход за границы строки
* [[Строки_и_символы._Возможные_ошибки|Выход за границы строки]]


== Файлы ==
== Файлы ==


=== Программы ===
=== [[Файлы. Тексты программ|Программы]] ===
# Создать текстовый файл с указанным текстом
# [[Создать текстовый файл с указанным текстом]]
# Вывести на экран текст файла текущей программы
# [[Вывести на экран текст файла текущей программы]]
# Записать в текстовый файл таблицу умножения n на n
# [[Записать в текстовый файл таблицу умножения n на n]]
# Скопировать один текстовый файл в другой построчно
# [[Скопировать один текстовый файл в другой построчно]]
# Просуммировать числа, записанные в файле
# [[Просуммировать числа, записанные в файле]]
# Создать двоичный файл, содержащий данные числа
# [[Создать типизированный файл, содержащий данные числа]]
# Считать числа, содержащиеся в двоичном файле, и вывести их на экран
# [[Считать числа, содержащиеся в типизированном файле, и вывести их на экран]]
# Есть ли данное число в данном типизированном файле
# [[Есть ли данное число в данном типизированном файле]]
# Возвести все числа в типизированном файле в квадрат
# [[Возвести все числа в типизированном файле в квадрат]]
 
=== [[Файлы. Возможные ошибки|Возможные ошибки]] ===
* [[Использование readln и writeln для типизированных файлов]]
* [[Открытие файла без выполнения assign]]
* [[Попытка выполнить операцию чтения-записи с неоткрытым файлом]]
* [[Попытка открыть несуществующий файл]]
* [[Попытка считывания за концом файла]]


=== Возможные ошибки ===
== Ссылки ==
* Использование readln и writeln для типизированных файлов
[[Алгоритмы средней сложности]]
* Открытие файла без выполнения assign
* Попытка выполнить операцию чтения-записи с неоткрытым файлом
* Попытка открыть несуществующий файл
* Попытка считывания за концом файла

Текущая версия от 21:33, 2 февраля 2010

Основные идеи набора программ для начинающих

Начало

Программы

  1. HelloWorld
  2. Вычисление площади круга (использование констант)
  3. Вычисление A8 (промежуточные переменные)
  4. Вычисление расстояния между двумя точками на прямой (стандартные функции, abs)
  5. Вычисление гипотенузы по катетам (стандартные функции, sqrt)
  6. Бросание кубиков (стандартные функции, random)
  7. Перемена местами двух значений (базовые алгоритмы)
  8. Выделение цифр из двузначного числа (div mod)

Возможные ошибки

Условный оператор и оператор выбора

Программы

  1. Минимум из двух значений (базовые алгоритмы)
  2. Определение четности числа (повторение div mod, стандартная функция odd)
  3. Состоит ли двузначное число из одинаковых цифр (выделение цифр из числа)
  4. Упорядочение двух значений по возрастанию (составной оператор, неполная форма условного)
  5. Проверка числа на двузначность (and)
  6. Наименование сезона по номеру месяца (вложенные if, цепочечные if, or)
  7. Определение четверти, в которой находится точка (вложенные if, математика)
  8. Нахождение корней квадратного уравнения (математика)
  9. Словесное наименование сезона по номеру месяца (case)
  10. Определение того, является ли символ цифрой или буквой (case)

Возможные ошибки

Циклы

Программы

  1. Вывод последовательностей 1 2 3 4 5 и 5 4 3 2 1 с помощью разных циклов (арифметическая прогрессия)
  2. Вывод последовательности 1 3 5 7 9 с помощью разных циклов (арифметическая прогрессия)
  3. Сумма и произведение введенных чисел (суммы)
  4. Вычисление n! (базовые алгоритмы)
  5. Вычисление an (базовые алгоритмы)
  6. Вывод цифр числа (div mod)
  7. Вывод букв английского алфавита (for)
  8. Числа Фибоначчи (рекуррентные последовательности)
  9. Минимум из введенных (минимумы-максимумы, базовые алгоритмы, обработка последовательностей)
  10. Алгоритм Евклида поиска НОД (математика, классические алгоритмы)
  11. Вывод таблицы умножения (вложенные циклы)
  12. Определение простоты числа (математика)

Возможные ошибки

Процедуры и функции

Программы

  1. Вычисление площади и периметра прямоугольника (параметры-значения и параметры-переменные)
  2. Табулирование функции
  3. Функция вычисления an
  4. Функция вычисления n!
  5. Функция, преобразующая цифру к ее словесному наименованию (case, функция)
  6. Функция проверки числа на четность
  7. Функция определения простоты числа (флаги)
  8. Функция вычисления n-того числа Фибоначчи
  9. Функция определения НОД числа (математика)
  10. Процедура вывода таблицы умножения (вложенные циклы)

Возможные ошибки

Массивы

Программы

  1. Ввод и вывод
  2. Заполнение случайными числами
  3. Заполнение арифметической прогрессией (рекуррентные соотношения)
  4. Заполнение степенями двойки (рекуррентные соотношения)
  5. Заполнение числами Фибоначчи (рекуррентные соотношения)
  6. Инвертирование массива
  7. Максимальный элемент в массиве и его индекс (базовые алгоритмы, минимумы-максимумы)
  8. Минимальный четный элемент и его индекс (минимумы-максимумы, условный минимум)
  9. Запись в новый массив элементов другого массива, удовлетворяющих определенному условию (базовые алгоритмы, добавление элемента в конец)
  10. Слияние отсортированных массивов в отсортированный (барьерный элемент, классические алгоритмы)
  11. Сдвиг элементов влево (базовые алгоритмы)
  12. Сдвиг элементов вправо (базовые алгоритмы)
  13. Удаление элемента
  14. Вставка элемента
  15. Подсчет количества элементов, удовлетворяющих условию (базовые алгоритмы, счетчики)
  16. Есть ли элемент, удовлетворяющий условию (базовые алгоритмы, флаги)
  17. Сортировка пузырьком (сортировка, классические алгоритмы)
  18. Сортировка выбором (сортировка, классические алгоритмы)

Возможные ошибки

Матрицы

Программы

  1. Заполнение матрицы случайными числами и вывод (заполнение)
  2. Перемена местами двух строк
  3. Поиск минимумов в строках (минимумы-максимумы)
  4. Поиск максимумов в столбцах (минимумы-максимумы)
  5. Поиск сумм в строках (сумма)
  6. Поиск произведений в столбцах (произведение)
  7. Наличие нуля в матрице (поиск)
  8. Сумма чисел на главной диагонали (сумма)
  9. Сумма чисел на побочной диагонали (сумма)
  10. Заполнение нулями ниже/выше главной диагонали (диагонали матрицы)
  11. Заполнение нулями ниже/выше побочной диагонали (диагонали матрицы)

Возможные ошибки

Записи

Программы

  1. Ввод и вывод данных о персонах (привыкание к синтаксису)
  2. Поиск в массиве персон по фамилии (поиск)
  3. Подсчет количества персон с данным возрастом (счетчики)
  4. Выбор из массива точек точки, наиболее близкой к началу координат (минимумы-максимумы)
  5. Сортировка массива персон по возрасту (сортировка)

Строки и символы

Программы

  1. Определение кода по символу и символа по коду
  2. Преобразование цифрового символа в соответствующее однозначное число и обратно
  3. Преобразование числа в строку и обратно
  4. Формирование строки из n одинаковых символов (конкатенация строк)
  5. Замена всех маленьких английских букв в строке соответствующими большими (цикл по символам строки)
  6. Сумма записанных в строке чисел (преобразование строки в число)
  7. Количество вхождений подстроки в строку

Возможные ошибки

Файлы

Программы

  1. Создать текстовый файл с указанным текстом
  2. Вывести на экран текст файла текущей программы
  3. Записать в текстовый файл таблицу умножения n на n
  4. Скопировать один текстовый файл в другой построчно
  5. Просуммировать числа, записанные в файле
  6. Создать типизированный файл, содержащий данные числа
  7. Считать числа, содержащиеся в типизированном файле, и вывести их на экран
  8. Есть ли данное число в данном типизированном файле
  9. Возвести все числа в типизированном файле в квадрат

Возможные ошибки

Ссылки

Алгоритмы средней сложности