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

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
 
(не показано 67 промежуточных версий 2 участников)
Строка 1: Строка 1:
__NOTOC__
__NOTOC__
<h3> [[Основные идеи набора алгоритмов для начинающих]] </h3>
<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|Вычисление площади круга]] (использование констант)
# Вычисление площади круга (использование констант)
# [[%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>]] (промежуточные переменные)
# Вычисление A<sup>8</sup> (промежуточные переменные)
# [[%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)
# Вычисление расстояния между двумя точками на прямой (стандартные функции, 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_.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)
# Вычисление гипотенузы по катетам (стандартные функции, 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.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)
# Бросание кубиков (стандартные функции, 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|Перемена местами двух значений]] (базовые алгоритмы)
# Перемена местами двух значений (базовые алгоритмы)
# [[%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)
# Формирование числа из цифр (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, стандартная функция 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.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)
# Наименование сезона по номеру месяца (вложенные if, цепочечные if, 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, математика)
# [[%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, математика)
# Нахождение корней квадратного уравнения (математика)
# [[%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|Нахождение корней квадратного уравнения]] (математика)
# Словесное наименование дня недели (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.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)


=== [[Условный оператор и оператор выбора. Возможные ошибки|Возможные ошибки]] ===
=== [[Условный оператор и оператор выбора. Возможные ошибки|Возможные ошибки]] ===
* Неверная расстановка 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]]
* Отсутствие 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 с помощью разных циклов (арифметическая прогрессия)
# [[%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 с помощью разных циклов]] (арифметическая прогрессия)
# Вывод последовательностей 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.B8_1_3_5_7_9|Вывод последовательности 1 3 5 7 9 с помощью разных циклов]] (арифметическая прогрессия)
# Сумма двузначных чисел (суммы)
# [[%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|Сумма и произведение введенных чисел]] (суммы)
# 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!]] (базовые алгоритмы)
# 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_An|Вычисление a<sup>n</sup> ]] (базовые алгоритмы)
# Вывод степеней двойки (геометрическая прогрессия)
# [[%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)
# Вывод цифр числа (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_.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)
# Вывод букв английского алфавита (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|Вывод таблицы умножения]] (вложенные циклы)
# Защита от ввода неверного значения с помощью repeat
# [[%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|Определение простоты числа]] (математика)
# Алгоритм Евклида поиска НОД (математика, классические алгоритмы)
# Является ли число степенью 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|Табулирование функции]]
# Функция вычисления 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%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>]]
# Функция вычисления 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.B2.D1.8B.D1.87.D0.B8.D1.81.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F_n.21|Функция вычисления n!]]
# Вывод четверти по координатам точки (if, функция)
# [[%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, функция)
# Вывод слова, обозначающего данную цифру (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-того числа Фибоначчи]]
# Функция вычисления 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|Описание переменной цикла, используемого в процедуре, как глобальной]]
* Передача выходных параметров по значению
* [[%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|Передача выходных параметров по значению]]


== Массивы ==
== Массивы ==
=== [[ Массивы. Тексты программ|Программы]] ===
=== [[ Массивы. Тексты программ|Программы]] ===
# Ввод, заполнение случайными и вывод
# [[%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|Попытка вывести массив не поэлементно, а целиком]]
* Использование записи 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.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 одинаковых символов (конкатенация строк)
# [[%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]]
# [[Скопировать один текстовый файл в другой построчно]]
# [[Просуммировать числа, записанные в файле]]
# [[Создать типизированный файл, содержащий данные числа]]
# [[Считать числа, содержащиеся в типизированном файле, и вывести их на экран]]
# [[Есть ли данное число в данном типизированном файле]]
# [[Возвести все числа в типизированном файле в квадрат]]


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


=== Возможные ошибки ===
* Использование 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. Возвести все числа в типизированном файле в квадрат

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

Ссылки

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