- •Курс лекций Язык программирования Turbo Pascal
- •Тема 1 «Языки программирования»
- •Тема 2 «Основные понятия языка»
- •2.1 Алфавит языка
- •2.2 Основные определения языка
- •2.3 Служебные слова
- •2.4 Стандартные имена
- •2.5 Идентификатор
- •2.5 Элементы данных
- •Тема 3 «Общая структура программы на языке Turbo Pascal»
- •3.1 Общая структура программы на Паскале.
- •3.2 Некоторые правила оформления программ
- •Тема 4 «Типы данных, выражения»
- •4.1. Типы данных
- •4.2 Целочисленные типы данных
- •4.3 Вещественные типы данных
- •4.4 Символьный тип данных
- •4.5 Булевский тип (Логический) данных
- •4.6 Перечисляемый тип.
- •4.7 Интервальный тип.
- •4.8 Выражения.
- •1. Умножение, деление;
- •3. Сложение, вычитание.
- •1) Арифметические операции;
- •2) Операции отношений;
- •3) Логические операции.
- •4.9 Объявление констант
- •4.10 Объявление переменных
- •Тема 5 «Операторы для записи линейных процессов»
- •5.1 Оператор присваивания
- •5.2 Оператор ввода числовых данных
- •5.3 Оператор вывода числовых данных
- •5.4 Вывод числовых данных с форматом и без формата
- •1. Вывод данных без формата.
- •2. Вывод данных с форматом.
- •Контрольные вопросы и задания
- •Тема 6 «Разветвляющиеся вычислительные процессы»
- •6.1 Типы разветвляющихся алгоритмов
- •6.2 Оператор выбора case
- •Тема 7 «Операторы цикла»
- •7.1. Типы циклических процессов
- •7.2 Цикл с известным числом повторений for
- •Оператор повтора for.
- •Домашнее задание:
- •7.3 Итерационные циклы
- •7.4 Оператор цикла с предварительным условием
- •7.5 Оператор цикла с последующим условием Repeat
- •Домашнее задание:
- •8.1 Модуль crt. (Процедуры и функции управления экраном)
- •8.2 Константы цветов.
- •Процедуры управления цветом.
- •Тема № 9: «Структурированные типы данных»
- •9.1. Массивы
- •9.2. Записи
- •9.2.1. Оператор присоединения
- •9.2.2. Записи с вариантами.
- •9.3. Множества
- •9.4. Строки
- •9.4.1. Основные операции
- •9.4.2. Доступ к элементам строковых данных
- •9.4.3. Пустой стринг
- •9.4.4. Функции преобразования
- •9.4.5. Стандартные процедуры и функции
- •Тема № 10: Работа с файлами
- •10.1. Доступ к файлам
- •10.1.1. Имена файлов
- •Инициация файла
- •10.2.Процедуры и функции для работы с файлами
- •10. 3. Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Тема № 11: «Процедуры и функции»
- •11.1. Процедуры
- •11.2. Функции
- •Тема №12: Указатели и динамическая память.
- •12.1. Выделение и освобождение динамической памяти.
- •Тема № 13: Модули.
- •13.1.Компиляция модулей.
- •13.2. Стандартные модули.
- •13.2.1.Модуль crt.
- •13.2.2. Модуль Graph
- •13.2.3. Модуль Overlay
- •Задания для самостоятельной работы по теме «линейные алгоритмы»
- •Задания для самостоятельной работы по теме «разветвляющиеся алгоритмы»
- •Задания для самостоятельной работы по теме «циклические алгоритмы»
- •Задания для самостоятельной работы «векторы»
- •Задания для самостоятельной работы «строки»
- •Задания для самостоятельной работы «процедуры и функции»
- •Задания для самостоятельной работы «записи»
- •Задания для самостоятельной работы по теме «множества»
- •Задания для самостоятельной работы по теме «файлы»
- •Задания для самостоятельной работы по теме «модуль graph»
- •Задания для самостоятельной работы по теме «модули, определяемые пользователем»
Задания для самостоятельной работы «записи»
ЗАДАНИЕ 1. Составить программы для решения следующих задач:
Варианты задания 1.
Type dec=record x,y:real end;
pol=record r,fi:real end;
{r 0, - fi }
Описать процедуру DP(d,p), преобразующую координаты точки на плоскости из декартовых d в полярные p.
Type dec=record x,y:real end;
pol=record r,fi:real end;
{r 0, - fi }
Описать процедуру РD(р,d), преобразующую координаты точки на плоскости из полярных р в декартовые d.
Type time=record ch : 0..23; min, sec : 0..59 end;
Описать логическую функцию RAN(t1,t2) для проверки, предшествует ли время t1 времени t2 (в рамках суток).
Type time=record ch : 0..23; min, sec : 0..59 end;
Описать процедуру NEXT(t,t1), присваивающую параметру t1 время, на секунду большее времени t (учесть время суток).
Type time=record ch : 0..23; min, sec : 0..59 end;
Описать процедуру INTERVAL(d,t2,t1), которая вычисляет время d, прошедшее от времени t1 до времени t2: d=t2-t1 (считать, что t2 t1).
Type pole=record vert : ‘a’..‘h’; gor : 1..8 end;
Описать логическую функцию HOD_FERZ(n1,n2), проверяющую, может ли ферзь за один ход перейти с поля n1 шахматной доски на поле n2.
Type name=(alex, ann, jon, lena, peter, tom, fil, vica);
persona=record pol : (m,g); rost: 140..200 end;
gruppa=array[name] of persona;
Описать логическую функцию ODIN_ROST(gr), проверяющую, есть ли в группе gr хотя бы два человека одного роста.
Type name=(alex, ann, jon, lena, peter, tom, fil, vica);
persona=record pol : (m,g); rost: 140..200 end;
gruppa=array[name] of persona;
Описать функцию HIGH(gr), определяющую имя самого высокого мужчины из группы gr.
Const N=30;
Type persona=record pol : (m,g); rost: 140..200 end;
gruppa=array[1..N] of persona;
Описать функцию SR_ROST(gr), которая определяет средний рост женщин из группы gr.
Const N=30;
Type vershina=record name : string[15]; vysota: 4000..8000 end;
spisok=array[1..N] of vershina;
Описать процедуру HIGHEST(sp), печатающую название самой высокой вершины из списка sp.
Const N=28;
Type kost=record lev, pr : 0..6 end;
ryad=array[1..N] of kost;
Описать логическую функцию PRAV_RYAD(r), которая проверяет, правильно ли расставлены кости домино в ряду r (равна ли правая цифра очередной кости левой цифре следующей кости).
Const N=20;
Type rac=record chisl : integer; znam : 1..32767 end;
mas=array[1..N] of rac;
Описать процедуру MAX(ms, m), присваивающую параметру m наибольшее из рациональных чисел массива ms.
Type data=record month : 1..12; god : 1900..2000 end;
Описать функцию LAST_CHISLO(day), вычисляющую количество дней в том месяце, которому принадлежит дата day.
Type data=record chislo : 1..31; month : 1..12; god : 1900..2000 end;
Описать логическую функцию VERN_DATA(day), проверяющую правильность даты day (например, чтобы не было 31 июня).
Type rac=record chisl : integer; znam : 1..32767 end;
Описать процедуру SOKR(r), приводящую рациональное число r к несократимому виду.
ЗАДАНИЕ 2. Составить программы для решения следующих задач:
Варианты задания 2.
1. Даны сведения о багаже пассажиров: фамилия пассажира, количество вещей и вес в килограммах.
а) Выдать на экран сведения о пассажирах с наибольшим количеством вещей.
б) Упорядочить все сведения о пассажирах, фамилия которых начинается с заданной буквы, в порядке убывания веса багажа.
2. Даны сведения о багаже пассажиров: фамилия пассажира, количество вещей и вес в килограммах.
а) Найти всех пассажиров, у которых средний вес одной вещи отличается не более, чем на 0,5 кг от общего среднего веса одной вещи.
б) Упорядочить все сведения о пассажирах, вес багажа которых более 30 кг, в порядке возрастания количеств вещей в багаже.
3. Даны сведения о книгах в библиотеке: фамилия автора, название книги и год издания.
а) Напечатать год издания и названия книг данного автора, год издания которых оканчивается на цифру “7”.
б) Упорядочить все сведения о книгах, изданных до 1930 года, в алфавитном порядке фамилий авторов.
4. Даны сведения о книгах в библиотеке: фамилия автора, название книги и год издания.
а) Выдать на экран сведения о книгах, в названии которых более двух слов.
б) Упорядочить все сведения о книгах с заданной фамилией автора в порядке возрастания годов изданий его книг.
5. Даны сведения о книгах в библиотеке: фамилия автора, название книги и год издания.
а) Найти самую старую книгу в библиотеке и выдать все сведения о ней. Если таких книг несколько, то сообщить обо всех.
б) Упорядочить все сведения о книгах, изданных в 1998 году, в алфавитном порядке названий.
6. Даны сведения о сотрудниках учреждения: фамилия, инициалы, номер телефона (если телефона нет, то 0).
а) Выдать на экран сведения о сотрудниках, номер телефона которых заканчивается на “10”, и подсчитать их количество.
б) Упорядочить все сведения о сотрудниках в алфавитном порядке фамилий.
7. Даны сведения о сотрудниках учреждения: фамилия, инициалы, номер телефона (если телефона нет, то 0).
а) Напечатать данные о сотрудниках, фамилия которых содержит две буквы “о”.
б) Упорядочить сведения о сотрудниках, фамилия которых начинается с заданной буквы, в порядке возрастания номеров телефонов.
8. Даны сведения об экспортируемых товарах: наименование товара, страна, импортирующая товар, и объем поставляемой партии в штуках.
а) Определить товары, которые экспортируются более чем из одной страны, и выдать все сведения о таких товарах.
б) Упорядочить все сведения о товаре с заданным наименованием в алфавитном порядке стран-экспортеров.
9. Даны сведения об импортируемых товарах: наименование товара, страна-изготовитель и объем поставляемой партии в штуках.
а) Составить список стран, которые импортируют данный товар, и подсчитать общий объем его импорта.
б) Упорядочить все сведения о товарах, объем импорта которых более 1000 штук, в алфавитном порядке наименования товаров.
10. Даны сведения об импортируемых товарах: наименование товара, страна-изготовитель и объем поставляемой партии в штуках.
а) Выдать на экран список стран, которые импортируют наиболее распространенный товар.
б) Упорядочить все сведения о товарах из страны с заданным названием в алфавитном порядке наименования товаров.
11. Даны сведения о результатах соревнования по бегу на 100 метров: фамилия и имя спортсмена, спортивное общество, результат в секундах.
а) Выдать все сведения о спортсмене по фамилии “Петров”. Если таких несколько, то выдать данные о спортсмене, показавшем лучший результат.
б) Упорядочить все сведения о спортсменах общества с заданным названием в алфавитном порядке фамилий.
12. Даны сведения об игрушках: название игрушки, стоимость и возрастные границы (например, от 4 до 6 лет).
а) Можно ли подобрать любую игрушку, кроме мяча, подходящую ребенку трех лет, и дополнительно мяч так, чтобы суммарная стоимость игрушек не превосходила 50 рублей.
б) Упорядочить все сведения о куклах по возрастанию их стоимости.
13. Даны сведения о владельцах автомобилей: фамилия, инициалы владельца, марка машины, номер, цвет.
а) Выдать все сведения о владельцах красных “Жигулей”, номер машин которых содержит “1”.
б) Упорядочить все сведения о владельцах, фамилия которых начинаются с заданной буквы, по возрастанию номеров машин.
14. Даны сведения о владельцах автомобилей: фамилия, инициалы владельца, марка машины, номер, цвет.
а) Выдать все сведения о владельцах самой распространенной марки автомобиля.
б) Упорядочить все сведения о владельцах белых машин в алфавитном порядке марки машин.
15. Даны сведения о владельцах автомобилей: фамилия, инициалы владельца, марка машины, номер, цвет.
а) Напечатать все сведения о машинах, сумма цифр номера которых равна 10, а также подсчитать их количество.
б) Упорядочить все сведения о владельцах “Волги” в алфавитном порядке фамилий владельцев.
