- •1 Средства разработки программ на языке Free Pascal
- •1.1 Процесс разработки программы
- •1.2 Среда программирования Free Pascal
- •1.2.1 Работа в текстовом редакторе Free Pascal
- •1.2.2 Запуск программы в среде Free Pascal и просмотр результатов
- •1.3 Текстовый редактор Geany
- •1.4 Среда визуального программирования Lazarus
- •1.4.1 Установка Lazarus в ОС Linux
- •1.4.2 Установка Lazarus под управлением ОС Windows
- •1.4.3 Среда Lazarus
- •1.4.4 Главное меню Lazarus
- •1.4.5 Окно формы
- •1.4.6 Окно редактора Lazarus
- •1.4.7 Панель компонентов
- •1.4.8 Инспектор объектов
- •1.4.9 Первая программа в Lazarus
- •1.4.10 Полезная программа
- •1.4.11 Консольное приложение среды Lazarus
- •1.4.12 Операторы ввода - вывода данных
- •2 Общие сведения о языке программирования Free Pascal
- •2.1 Структура проекта Lazarus
- •2.2 Структура консольного приложения
- •2.3 Элементы языка
- •2.4 Данные в языке Free Pascal
- •2.4.1 Символьный тип данных
- •2.4.2 Целочисленный тип данных
- •2.4.3 Вещественный тип данных
- •2.4.4 Тип дата-время
- •2.4.5 Логический тип данных
- •2.4.6 Создание новых типов данных
- •2.4.7 Перечислимый тип данных
- •2.4.8 Интервальный тип
- •2.4.9 Структурированные типы
- •2.4.10 Указатели
- •2.5 Операции и выражения
- •2.5.1 Арифметические операции
- •2.5.2 Операции отношения
- •2.5.3 Логические операции
- •2.5.4 Операции над указателями
- •2.6 Стандартные функции
- •2.7 Задачи для самостоятельного решения
- •3 Операторы управления
- •3.1 Основные конструкции алгоритма
- •3.2 Оператор присваивания
- •3.3 Составной оператор
- •3.4 Условные операторы
- •3.4.1 Условный оператор if…then…else
- •3.4.2 Оператор варианта case
- •3.5 Обработка ошибок. Вывод сообщений в среде Lazarus
- •3.6 Операторы цикла
- •3.6.1 Оператор цикла с предусловием while .. do
- •3.6.2 Оператор цикла с постусловием repeat … until
- •3.6.3 Оператор цикла for … do
- •3.7 Операторы передачи управления
- •3.8 Решение задач с использованием циклов
- •3.9 Ввод данных из диалогового окна в среде Lazarus
- •3.10 Задачи для самостоятельного решения
- •3.10.1 Разветвляющийся процесс
- •3.10.2 Циклический процесс
- •4 Подпрограммы
- •4.2 Формальные и фактические параметры. Передача параметров в подпрограмму
- •4.3 Процедуры
- •4.4 Функции
- •4.5 Решение задач с использованием подпрограмм
- •4.6 Рекурсивные функции
- •4.7 Особенности работы с подпрограммами
- •4.7.1 Параметры-константы
- •4.7.2 Процедурные типы
- •4.8 Разработка модулей
- •4.9 Задачи для самостоятельного решения
- •5 Использование языка Free Pascal для обработки массивов
- •5.1 Общие сведения о массивах
- •5.2 Описание массивов
- •5.3 Операции над массивами
- •5.4 Ввод-вывод элементов массива
- •5.4.2 Ввод-вывод данных в визуальных приложениях
- •5.5 Вычисление суммы и произведения элементов массива
- •5.6 Поиск максимального элемента в массиве и его номера
- •5.7 Сортировка элементов в массиве
- •5.7.1 Сортировка методом «пузырька»
- •5.7.2 Сортировка выбором
- •5.8 Удаление элемента из массива
- •5.9 Вставка элемента в массив
- •5.10 Использование подпрограмм для работы с массивами
- •5.11 Использование указателей для работы с динамическими массивами
- •5.11.1 Работа с динамическими переменными и указателями
- •5.11.2 Работа с динамическими массивами с помощью процедур getmem и freemem
- •5.12 Примеры программ
- •5.13 Задачи для самостоятельного решения
- •6 Обработка матриц во Free Pascal
- •6.1 Ввод-вывод матриц
- •6.2 Алгоритмы и программы работы с матрицами
- •6.3 Динамические матрицы
- •6.4 Задачи для самостоятельного решения
- •7 Обработка файлов средствами Free Pascal
- •7.1 Типы файлов
- •7.2 Работа с типизированными файлами
- •7.2.1 Процедура AssignFile
- •7.2.2 Процедуры reset, rewrite
- •7.2.3 Процедура СloseFile
- •7.2.4 Процедура rename
- •7.2.5 Процедура erase
- •7.2.6 Функция eof
- •7.2.7 Чтение и запись данных в файл
- •7.3 Бестиповые файлы в языке Free Pascal
- •7.4 Обработка текстовых файлов в языке Free Pascal
- •7.5 Задачи для самостоятельного решения
- •8 Работа со строками и записями
- •8. 1 Обработка текста
- •8.2 Работа с записями
- •8.3 Задачи для самостоятельного решения по теме «Строки»
- •8.4 Задачи для самостоятельного решения по теме «Записи»
- •9.1 Основные понятия
- •9.2 Инкапсуляция
- •9.3 Наследование и полиформизм
- •9.4 Перегрузка операций
- •9.5 Задачи для самостоятельного решения
- •10 Графика во Free Pascal
- •10.1 Средства рисования в Lazarus
- •10.2 Построение графиков
- •10.3 Задачи для самостоятельного решения
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus |
210 |
4.9 Задачи для самостоятельного решения
Напишите программу, используя процедуры и функции.
1.Вводится последовательность целых чисел, 0 – конец последовательности. Определить, содержит ли последовательность хотя бы одно число, сумма цифр в котором равна их количеству. Создать процедуру, которая возвращает сумму и количество цифр в числе.
2.Вводится последовательность целых чисел, 0 – конец последовательности. Определить, содержит ли последовательность хотя бы одно совершенное число. Для определения совершенного числа создать функцию.
3.Вводится последовательность из N целых положительных элементов. Определить, содержит ли последовательность хотя бы одно простое число. Для определения простого числа создать функцию.
4.Вводится последовательность из N целых положительных элементов. Посчитать количество чисел палиндромов. Для определения палиндрома создать функцию.
5.Вводится последовательность из N целых положительных элементов. Подсчитать количество совершенных чисел в последовательности. Для определения совершенного числа создать функцию.
6.Поступает последовательность целых положительных чисел, 0
–конец последовательности. Определить, в каком из чисел больше всего делителей. Для подсчета делителей числа использовать функцию.
7.Поступает последовательность целых положительных чисел, 0
–конец последовательности. Определить, в каком из чисел больше всего цифр. Для подсчета количества цифр числа использовать функцию.
8.Вывести на экран значения функции f(x)=x-2ex и ее первой
производной f'(x), в диапазоне от -5 до 5, с шагом 0.5. Для вычисления значений f(x) и f'(x) создать функции.
9.Вводится последовательность из N целых положительных элементов. Найти число с минимальным количеством цифр. Для определения количества цифр в числе использовать функцию.
10.Вводится последовательность из N целых элементов. Для всех положительных элементов последовательности вычислить значение факториала и вывести его на печать. Вычисление факториала оформить в виде функции.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus |
211 |
11.Поступает последовательность целых положительных чисел, 0
–конец последовательности. Вывести на экран все числа последовательности, не являющиеся простыми, и их делители. Определение простого числа оформить в виде функций.
12.Вводится последовательность из N целых элементов. Вывести на экран все числа последовательности, являющиеся совершенными, и их делители. Определение совершенного числа оформить в виде функций.
13.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Найти среднее арифметическое простых чисел в этой последовательности. Определение простого числа оформить в виде функций.
14.В последовательности из N целых положительных элементов найти число с наибольшим количеством нулей в своем представлении. Составить функцию для подсчета нулей в числе.
15.В последовательности из N целых положительных элементов найти сумму всех палиндромов. Для определения палиндрома создать функцию.
16.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Посчитать количество элементов последовательности, имеющих в своем представлении цифру 0. Создать процедуру, возвращающую значение истина, если в числе есть нули, и ложь в противном случае.
17.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Для каждого числа найти количество нулей и единиц. Создать процедуру, которая возвращает количество нулей и единиц в заданном числе.
18.Вводится последовательность из N целых элементов. Для каждого элемента последовательности найти среднее значение его цифр. Создать функцию для расчета среднего значения цифр в числе.
19.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Определить количество цифр и наименьшую цифру для каждого числа последовательности. Написать процедуру, которая для заданного числа возвращает два параметра: количество цифр в нем и наименьшую цифру.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus |
212 |
20.Вводится последовательность из N целых элементов. Для каждого элемента последовательности вывести на экран количество цифр
иколичество делителей. Написать процедуру, которая рассчитывает оба параметра.
21.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Записать каждое число последователь-
ности в обратном порядке. Например, 12345 → 54321. Создать функцию для преобразования числа.
22.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Для каждого элемента последовательности вывести на экран количество цифр в числе и наибольшую цифру. Написать процедуру, которая возвращает количество цифр и наибольшую цифру заданного числа.
23.Вводится последовательность из N целых положительных элементов. Для простых элементов последовательности определить сумму цифр. Написать процедуру, которая проверяет, является ли число простым, и вычисляет сумму цифр в нем. Если число простым не является, то процедура выдает соответствующее сообщение.
24.Поступает последовательность целых положительных чисел, 0 – конец последовательности. Для каждого числа определить сумму
иколичество цифр в числе. Написать процедуру для подсчета суммы
иколичества цифр в числе.
25. Вывести на экран значения функций f x = 5x3 sin x2 и
g x = e4 ,если x≥0 в диапазоне от a до b, с шагом h. Для вычисле-
{x
5 x2 ,если x 0
ния значений f(x) и g(x) создать функции.