Программы для начинающих

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску

Замечания перед прочтением

Данный документ - набросок минимального множества задач, необходимых для изучения указанных тем. Впоследствии для всех задач, содержащихся в этом списке, будут приведены тексты программ на языке Паскаль.

Данный документ МОЖНО править. Любому, кто на это отважится :) Разумеется, если будут конструктивные предложения. Если правка будет неудачной, мы безболезненно откатим документ к старой версии.

Основные идеи данного набора задач

  1. Разумная минимальность покрытия, обеспечивающая изучение и закрепление тем
  2. Приводятся более или менее конструктивные алгоритмы, а не алгоритмы, иллюстрирующие ту или иную конструкцию языка. В идеале в этих задачах не должно быть особенностей языка вовсе. Тем самым, соблюдается идея обучения на примерах
  3. Повторение алгоритмов из предыдущих пунктов в алгоритмах следующих пунктов
  4. Включение в список большинства известных простых алгоритмов
  5. В каждом алгоритме предполагается указать принадлежность к той или иной категории или подкатегории. Кажжый алгоритм может принадлежать к нескольким категориям
  6. В каждой теме в конце будет также набор ошибок (компиляции, выполнения), которые можно совершить при решении задач из этой темы. Сейчас в скобках после некоторых алгоритмов указаны некоторые категории

Начало

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

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

  • Неописанная переменная
  • Непоставленная ;
  • Несовместимость типов при присваивании
  • Корень из отрицательного числа
  • Деление на 0

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

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

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

  • Неверная расстановка begin end

Циклы

  1. Вывод последовательностей 1 2 3 4 5 и 5 4 3 2 1 (с помощью разных циклов)
  2. Вывод последовательностей 1 3 5 7 9 и 10 8 6 4 2 (с помощью разных циклов)
  3. Сумма двузначных чисел
  4. n!
  5. a^n
  6. Вывод степеней двойки
  7. Вывод цифр числа (div mod)
  8. Вывод букв русского алфавита (for)
  9. Табулирование функции
  10. Числа Фибоначчи
  11. Минимум из введенных
  12. Номер первого максимума из введенных
  13. Номер последнего максимума из введенных
  14. Поиск заданного числа среди введенных
  15. Минимальное четное из введенных (условный минимум)
  16. Защита от ввода неверного значения с помощью repeat
  17. Алгоритм Евклида поиска НОД
  18. Является ли число степенью 2 (2 варианта: делением и умножением)
  19. Вывод таблицы умножения
  20. Определение простоты числа
  21. Разложение числа на простые множители
  22. Нахождение корня функции методом половинного деления

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

Основная часть задач - создание оберток над известными алгоритмами

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

Массивы

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

Матрицы

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

Записи

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

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

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

Файлы

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