- •ПРЕДИСЛОВИЕ
- •1.1. История и классификация языков программирования высокого уровня
- •1.2. Первое (знакомство с Паскалем
- •Задания
- •Лекция 2
- •2.1. Некоторые сведения о системе ТУрбо-Паскаль
- •2.2. Способы описания языка программирования
- •Лекция 3
- •3.2. Типы данных
- •4.1. Структура Паскаль-программы
- •4.2. Арифметические операции, функции, выражения Арифметический оператор присваивания
- •Форматы процедуры write
- •Задания
- •1. Что будет напечатано программой
- •если последовательно вводятся три числа: 36, -6, 2345?
- •5.2. Функции, связывающие различные типы данных
- •Задания
- •Теперь посмотрим, как это программируется наТЛаскале.
- •Здесь
- •<параметр цикла>::= <имя простой переменной порядкового типа>
- •Задания
- •7.1. Подпрограммы-процедуры
- •7.2. Подпрограммы-функции
- •7.4. Рекурсивные подпрограммы
- •8.1. Что такое рекуррентная последовательность
- •8.2. Программирование вычислений рекуррентных последовательностей
- •Задания
- •Задания
- •6. Вывод результата.
- •Теперь будем составлять подпрограммы.
- •Задания
- •12.2. Операции над множествами
- •12.3. Примеры использования множеств
- •Красивая программа! К сожалению, ею нельзя воспользоваться для
- •В этой программе использована функция определений размера файла:
- •.Fiiesize(<HMH файловой переменной>);
- •Задания
- •14.2. Работа с файлами записей
- •Задания
- •15.2. Связанные списки
- •Лекция 16
- •16.1. Организация внешних подпрограмм
- •16,2. Создание и использование модулей
- •распечаткой текста программы с подробными комментариями.
- •выполнения следующих операции над обыкновенными дробями вида -q
- •(Р — целое, Q — натуральное):
- •1) сложение;
- •2) вычитание;
- •3) умножение;
- •4) деление;
- •5) сокращение дроби;
- •7) функции, реализующие операции отношения (равно, не равно,
- •Используя этот модуль, решить задачи:
- •При разработке модуля рекомендуется такая последовательность
- •Задания
- •Приведем текст программы целиком.
- •ЗАДАНИЯ ПО ТЕМЕ “ЛИНЕЙНЫЕ АЛГОРИТМЫ”
- •ЦЕЛОЧИСЛЕННАЯ АРИФМЕТИКА
- •Сортировка массивов
- •ЗАДАЧИ ПО ТЕМЕ “ОБРАБОТКА СТРОК”
- •ЗАДАНИЯ ПО ТЕМЕ “МОДУЛИ”
- •ЗАДАНИЯ ПО ТЕМЕ “ДИНАМИЧЕСКИЕ ПЕРЕМЕННЫЕ”
- •Задачи, предлагавшиеся на школьных олимпиадах по программированию (Пермская область)
- •Учебное издание
Указать степень многочлена, его коэффициенты. Дописать в указанный файл таблицу значений этого многочлена на данном отрезке [а, Ь].
25. Дан файл, содержащий текст на русском языке. Подсчитать количество слов, начинающихся и заканчивающихся на одну и ту же букву.
ЗАДАНИЯ ПО ТЕМЕ “МОДУЛИ”
I. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над комплексными числами:
1)сложение;
2)вычитание;
3)умножение;
4)деление;
5)модуль комплексного числа;
6)возведение комплексного числа в степень п (п — натуральное).
Комплексное число представить следующим типом:
Type Complex = Record
R |
Real; |
M |
Real |
End; |
|
Используя этот модуль, решить задачи:
1.Дан массив А — массив комплексных чисел. Получить массив С, элемен
тами которого будут модули сумм рядом стоящих комплексных чисел.
2.Дан массив А[М] — массив комплексных чисел. Получить матрицу
каждая строка которой получается возведением в степень, равную но
меру этой строки, данного массива А.
II. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций с квадратными матрицами:
1)сложение двух матриц;
2)умножение одной матрицы на другую;
3)нахождение транспонированной матрицы;
4)вычисление определителя матрицы. Матрицу описать следующим образом:
Const NMax = 10;
Type Matrica * Array [l..NMax, l..Nmax]
Of Real;
Используя этот модуль, решить следующие задачи:
1.Решить систему линейных уравнений iV-ro порядка (2 < N < 10) методом
Крамера.
2.Задан массив величин типа Matrica. Отсортировать этот массив в порядке
возрастания значений определителей матриц.
V. Реализовать в виде модуля набор подпрограмм для выполнения следующих операций над натуральными числами в шестнадцатиричной системе счисления:
1)сложение;
2)вычитание;
3)умножение;
4)деление;
5)перевод из двоичной системы счисления в шестнадцатиричную;
6)перевод из шестнадцатиричной системы счисления в десятичную;
7)функция проверки правильности записи числа в шестнадцатиричной си стеме счисления;
8)функции, реализующие операции отношения (равно, не равно, больше или равно, меньше или равно, больше, меньше).
Используя этот модуль, решить задачи:
1. Возвести число в степень (основание и показатель степени записаны в шестнадцатиричной системе счисления). Ответ выдать в шестнадцатиричной и
десятичной системах счисления.
2. Дан массив А — массив чисел, записанных в шестнадцатиричной системе счисления. Отсортировать его в порядке убывания. Ответ выдать в шестнадца тиричной и десятичной системах счисления.
VI. Определим граф как набор точек, некоторые из которых соединены от резками, подграф — граф, подмножество данного графа.
Реализовать в виде модуля набор подпрограмм, определяющих:
1)число точек в графе;
2)число отрезков в графе;
3)число изолированных подграфов в графе (подграфов, не соединенных от
резками);
4)диаметр графа — длину максимальной незамкнутой линии в графе (длина каждого звена — 1);
5)граф — объединение двух графов;
6)подграф — пересечение двух графов;
7)подграф — дополнение данного графа до полного (графа с тем же коли чеством вершин, что и в данном, и с линиями между любыми двумя вершинами);
8)число отрезков, выходящих из каждой вершины графа;
9)при запуске должны инициализироваться переменные: FulLGraph — пол ный граф с числом вершин NumberOfVertix, Null-Graph — граф без отрезков с числом вершин NumberOfVertix.
Г)эаф представить как объект
Const NumberOfVertix « 50;
Type Graph * Array[1..NumberOfVertix,
1..NumberOfVertix] Of Boolean;
Используя модуль, решить задачу: найти все правильные графы из N вершин (граф правилен, если из всех вершин выходит равное количество отрезков).
VII. Реализовать в виде модуля набор подпрограмм для работы с длинными числами: