- •А.И. Газейкина Основы структурного программирования на языке Паскаль
- •Тема 1. Линейные программы 4
- •Некоторые стандартные функции языка Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 2. Разветвляющиеся программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 3. Циклические программы Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 4. Обработка данных строкового типа Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 5. Система типов языка Паскаль Краткое изложение теоретического материала
- •Тема 6. Перечисляемый тип Краткое изложение теоретического материала
- •Тема 7. Тип-диапазон Краткое изложение теоретического материала.
- •Тема 8. Множество (множественный тип) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 9. Массивы в языке Паскаль Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
- •Контрольные задания
- •Тема 11. Подпрограммы в языке Паскаль Краткое изложение теоретического материала
- •Процедуры в языке Турбо Паскаль
- •Функции в языке Турбо Паскаль
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 12. Тип данных запись (Record) Краткое изложение теоретического материала
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 13. Работа с файлами в языке Паскаль Краткое изложение теоретического материала
- •Текстовые файлы
- •Примеры решаемых задач
- •Типизированные файлы
- •Примеры решаемых задач
- •Контрольные задания
- •Тема 14. Динамические переменные в языке Паскаль Краткое изложение теоретического материала Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированные указатели
- •Динамические структуры данных
- •Примеры решаемых задач
- •Контрольные задания
- •Список литературы
Контрольные задания
Составить программу, которая формирует случайным образом одномерный массив из N элементов и:
выводит те его элементы, которые встречаются только один раз;
выводит повторяющиеся элементы (примечание: повторяющийся элемент должен выводиться один раз независимо от того, сколько раз он встречается в массиве).
Составить программу, которая формирует случайным образом два одномерных массива из N элементов и:
выводит элементы первого массива, которые не встречаются во втором;
выводит элементы, встречающиеся как в первом, так и во втором массивах (примечание: элемент должен выводиться один раз независимо от того, сколько раз он встречается в массивах);
формирует третий массив из элементов, которые встречаются только в одном из массивов.
Составить программу, которая вводит информацию о сотрудниках (фамилия и стаж работы) и:
выводит список сотрудников, фамилии которых начинаются на заданную букву;
выводит список сотрудников с заданным стажем работы;
выводит список сотрудников, имеющих стаж работы выше среднего;
выводит список сотрудников в алфавитном порядке;
выводит список сотрудников в порядке убывания стажа работы.
Составить программу, которая формирует случайным образом массив NxN целых чисел и:
выводит его в виде матрицы;
вычисляет сумму элементов каждой строки;
находит максимальные элементы каждого столбца;
вывод элементы под главной диагональю;
упорядочивает по возрастанию каждую строку массива.
«Студенты». Составить программу, которая вводит следующую информацию о результатах студенческой сессии:
список студентов,
список экзаменов,
оценки студентов за каждый из экзаменов.
Программа должна вывести введенную информацию в виде ведомости. Например:
|
|
Программирование |
Психология |
Педагогика |
Математика |
1 |
Иванов |
5 |
5 |
5 |
5 |
2 |
Петров |
2 |
3 |
3 |
2 |
3 |
Сидоров |
3 |
4 |
5 |
3 |
… |
… |
… |
… |
… |
… |
После этого программа должна обработать эту информацию следующим образом:
вывести список студентов, сдавших сессию на повышенные оценки;
вывести список отличников;
вывести список неуспевающих (а также названия предметов, по которым они имеют неудовлетворительные отметки);
вычислить и вывести средний балл каждого студента;
вывести список в порядке убывания среднего балла;
определить предмет, по которому студенты учатся хуже всего, и предмет, по которому студенты учатся лучше всего.
Тема 10. Графика в языке Паскаль Краткое изложение теоретического материала
Для работы в графическом режиме в языке Турбо Паскаль реализованы следующие возможности:
Подключение к программе модуля графической библиотеки:
Uses Graph;
Инициализация графики:
g1 := detect; { автоопределение типа графического адаптера }
InitGraph (g1, g2, ’C:\tp70\BGI’); { инициализация графики }
Устанавливается графический режим с разрешением 640x480 точек.
Графика растровая (точечная). Точка - пиксел.
Переменные g1 и g2 имеют тип Integer.
Завершение графического режима: CloseGraph;
Рисование точки с координатами (х, у) цветом с: PutPixel (x, y, c):
Установить цвет фона с: SetBkColor (c);
Установить цвет с для выводимого рисунка: SetColor (c);
Рисование отрезка: Line (x1, yl, x2, y2);
(xl, y1) и (х2, у2) - координаты концов отрезка.
Рисование окружности радиуса r с центром (х, у):
Circle (x, y, r);
Рисование прямоугольника со сторонами, параллельными сторонам экрана:
Rectangle (x1, у1, х2, у2);
(xl, y1) и (х2, у2) — координаты любой из диагоналей.
Закрашивание ограниченной области:
А) установка типа S и цвета С штриховки:
SetFillStyle (s, c);
где 0<=S<= 11 (0 - штриховка цветом фона, т.н. «пустая», 1 - сплошная заливка, прочие значения – различные типы штриховки).
Б) закрашивание области с границей цвета b:
FloodFill (x, y, b);
b - цвет границы (до этого цвета будет "разливаться" краска (штриховка)).
Рисование закрашенного прямоугольника:
SetFillStyle (s, c);
Ваг(х1, у1, х2, у2); .
(xl, yl) и (х2, у2) - координаты любой из диагоналей.
Рисование параллелепипеда с закрашенной передней гранью:
SetFillStyle (s, c);
Bar3D (xl, yl, x2, y2, d, Top);
(xl, yl) и (х2, у2) - координаты любой диагонали передней грани, d-глубина, Тор - логический параметр, указывающий, рисовать ли верхнюю грань параллелепипеда: True – рисовать, False - нет.
Рисование эллипса или его дуги:
Ellipse (x, y, a1, a2, xr, yr);
(х, у) - координаты центра,
a1 - начальный угол (в градусах),
а2 - конечный угол (в градусах),
хr - радиус по оси X,
уr - радиус по оси Y.
Рисование закрашенного сектора эллипса:
SetFillStyle (s, c);
Sector (х, у, а1, a2, xr, yr);
(х, у) - координаты центра,
a1 - начальный угол (в градусах),
а2 - конечный угол (в градусах),
хr - радиус по оси X,
уr - радиус по оси Y.
Вывод текста на графический экран:
A) Установка шрифта:
SetTextStyle (f, d, s);
f - номер шрифта (0 - матричный шрифт 8x8),
d - направление вывода символов (0 - горизонтально, слева направо),
s - размер символов.
Б) вывод текста:
OutTextXY (x, y, s);
(х, у) - координаты левого верхнего угла выводимой строки,
s – выводимая текстовая строка.