Программы для начинающих: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) |
Mikst (обсуждение | вклад) |
||
Строка 35: | Строка 35: | ||
# [[%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.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|Нахождение корней квадратного уравнения]] (математика) | # [[%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_.D0.B4.D0.BD.D1.8F_.D0.BD.D0.B5.D0.B4.D0.B5.D0.BB.D0.B8|Словесное наименование | # [[%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_.D0.B4.D0.BD.D1.8F_.D0.BD.D0.B5.D0.B4.D0.B5.D0.BB.D0.B8|Словесное наименование сезона по номеру месяца]] (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) | # [[%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) | ||
Версия от 21:30, 2 февраля 2010
Основные идеи набора программ для начинающих
Начало
Программы
- HelloWorld
- Вычисление площади круга (использование констант)
- Вычисление A8 (промежуточные переменные)
- Вычисление расстояния между двумя точками на прямой (стандартные функции, abs)
- Вычисление гипотенузы по катетам (стандартные функции, sqrt)
- Бросание кубиков (стандартные функции, random)
- Перемена местами двух значений (базовые алгоритмы)
- Выделение цифр из двузначного числа (div mod)
Возможные ошибки
- Неописанная переменная
- Отсутствующая ;
- Несовместимость типов при присваивании
- Отсутствие закрывающего апострофа литеральной строки
- Ошибки расстановки запятых и апострофов при выводе строк и выражений
- Ошибка ввода
- Ошибка неинициализированной переменной
- Деление на 0
- Корень из отрицательного числа
Условный оператор и оператор выбора
Программы
- Минимум из двух значений (базовые алгоритмы)
- Определение четности числа (повторение div mod, стандартная функция odd)
- Состоит ли двузначное число из одинаковых цифр (выделение цифр из числа)
- Упорядочение двух значений по возрастанию (составной оператор, неполная форма условного)
- Проверка числа на двузначность (and)
- Наименование сезона по номеру месяца (вложенные if, цепочечные if, or)
- Определение четверти, в которой находится точка (вложенные if, математика)
- Нахождение корней квадратного уравнения (математика)
- Словесное наименование сезона по номеру месяца (case)
- Определение того, является ли символ цифрой или буквой (case)
Возможные ошибки
- Неверная расстановка begin end
- Отсутствие begin end
- Неверная расстановка скобок в сложном логическом выражении
Циклы
Программы
- Вывод последовательностей 1 2 3 4 5 и 5 4 3 2 1 с помощью разных циклов (арифметическая прогрессия)
- Вывод последовательности 1 3 5 7 9 с помощью разных циклов (арифметическая прогрессия)
- Сумма и произведение введенных чисел (суммы)
- Вычисление n! (базовые алгоритмы)
- Вычисление an (базовые алгоритмы)
- Вывод цифр числа (div mod)
- Вывод букв английского алфавита (for)
- Числа Фибоначчи (рекуррентные последовательности)
- Минимум из введенных (минимумы-максимумы, базовые алгоритмы, обработка последовательностей)
- Алгоритм Евклида поиска НОД (математика, классические алгоритмы)
- Вывод таблицы умножения (вложенные циклы)
- Определение простоты числа (математика)
Возможные ошибки
- Неверный тип переменной цикла
- Изменение переменной цикла в теле цикла
- Использование одинаковой переменной цикла в заголовках вложенных циклов
- Неинициализированная переменная
- Зацикливание
- Переполнение
- Сравнение вещественных чисел на равенство
Процедуры и функции
Программы
- Вычисление площади и периметра прямоугольника (параметры-значения и параметры-переменные)
- Табулирование функции
- Функция вычисления an
- Функция вычисления n!
- Функция, преобразующая цифру к ее словесному наименованию (case, функция)
- Функция проверки числа на четность
- Функция определения простоты числа (флаги)
- Функция вычисления n-того числа Фибоначчи
- Функция определения НОД числа (математика)
- Процедура вывода таблицы умножения (вложенные циклы)
Возможные ошибки
- Невозвращение значения функции по одной из ветвей алгоритма
- Описание переменной цикла, используемого в процедуре, как глобальной
- Передача выходных параметров по значению
Массивы
Программы
- Ввод и вывод
- Заполнение случайными числами
- Заполнение арифметической прогрессией (рекуррентные соотношения)
- Заполнение степенями двойки (рекуррентные соотношения)
- Заполнение числами Фибоначчи (рекуррентные соотношения)
- Инвертирование массива
- Максимальный элемент в массиве и его индекс (базовые алгоритмы, минимумы-максимумы)
- Минимальный четный элемент и его индекс (минимумы-максимумы, условный минимум)
- Запись в новый массив элементов другого массива, удовлетворяющих определенному условию (базовые алгоритмы, добавление элемента в конец)
- Слияние отсортированных массивов в отсортированный (барьерный элемент, классические алгоритмы)
- Сдвиг элементов влево (базовые алгоритмы)
- Сдвиг элементов вправо (базовые алгоритмы)
- Удаление элемента
- Вставка элемента
- Подсчет количества элементов, удовлетворяющих условию (базовые алгоритмы, счетчики)
- Есть ли элемент, удовлетворяющий условию (базовые алгоритмы, флаги)
- Сортировка пузырьком (сортировка, классические алгоритмы)
- Сортировка выбором (сортировка, классические алгоритмы)
Возможные ошибки
- Попытка вывести массив не поэлементно, а целиком
- Использование записи a[i] вне цикла
- Выход за границы диапазона изменения индекса
- Затирание элементов при сдвиге
Матрицы
Программы
- Заполнение матрицы случайными числами и вывод (заполнение)
- Перемена местами двух строк
- Поиск минимумов в строках (минимумы-максимумы)
- Поиск максимумов в столбцах (минимумы-максимумы)
- Поиск сумм в строках (сумма)
- Поиск произведений в столбцах (произведение)
- Наличие нуля в матрице (поиск)
- Сумма чисел на главной диагонали (сумма)
- Сумма чисел на побочной диагонали (сумма)
- Заполнение нулями ниже/выше главной диагонали (диагонали матрицы)
- Заполнение нулями ниже/выше побочной диагонали (диагонали матрицы)
Возможные ошибки
Записи
Программы
- Ввод и вывод данных о персонах (привыкание к синтаксису)
- Поиск в массиве персон по фамилии (поиск)
- Подсчет количества персон с данным возрастом (счетчики)
- Выбор из массива точек точки, наиболее близкой к началу координат (минимумы-максимумы)
- Сортировка массива персон по возрасту (сортировка)
Строки и символы
Программы
- Определение кода по символу и символа по коду
- Преобразование цифрового символа в соответствующее однозначное число и обратно
- Преобразование числа в строку и обратно
- Формирование строки из n одинаковых символов (конкатенация строк)
- Замена всех маленьких английских букв в строке соответствующими большими (цикл по символам строки)
- Сумма записанных в строке чисел (преобразование строки в число)
- Количество вхождений подстроки в строку
Возможные ошибки
Файлы
Программы
- Создать текстовый файл с указанным текстом
- Вывести на экран текст файла текущей программы
- Записать в текстовый файл таблицу умножения n на n
- Скопировать один текстовый файл в другой построчно
- Просуммировать числа, записанные в файле
- Создать типизированный файл, содержащий данные числа
- Считать числа, содержащиеся в типизированном файле, и вывести их на экран
- Есть ли данное число в данном типизированном файле
- Возвести все числа в типизированном файле в квадрат
Возможные ошибки
- Использование readln и writeln для типизированных файлов
- Открытие файла без выполнения assign
- Попытка выполнить операцию чтения-записи с неоткрытым файлом
- Попытка открыть несуществующий файл
- Попытка считывания за концом файла