Программы для начинающих
Материал из Вики проекта PascalABC.NET
(перенаправлено с «Алгоритмы для начинающих на примерах»)
Перейти к навигацииПерейти к поиску
Основные идеи набора программ для начинающих
Начало
Программы
- 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
- Попытка выполнить операцию чтения-записи с неоткрытым файлом
- Попытка открыть несуществующий файл
- Попытка считывания за концом файла