- •Общие положения
- •Лабораторная работа № 1 Структура программы на языке Паскаль. Программирование линейных алгоритмов
- •Постановка задачи
- •Последовательность действий
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2 Программирование ветвлений
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 3 Программирование циклов
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4 Одномерные массивы
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 5 Двумерные массивы
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6 Подпрограммы
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 7 Строки
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 8 Тип данных «запись». Массив записей
- •Постановка задачи
- •Варианты заданий
- •Контрольные вопросы
- •Библиографический список
- •Образец оформления отчета
- •Блок-схема
- •Листинг программы
- •Результаты работы программы
- •Основы программирования на языке Паскаль
- •190005, С.-Петербург, 1-я Красноармейская ул., д.1
Контрольные вопросы
Каковы способы записи символьных данных в Паскале?
Каков результат функций ord, succ и pred для символов?
Как может описываться строковая переменная?
Какова максимальная длина строки, описанной как string?
Какова структура строковой переменной? Чем она отличается от массива символов?
Как обратиться к отдельному символу строки?
Что содержится в нулевом байте строковой переменной и в каком виде?
В результате каких действий автоматически изменяется нулевой байт строки?
Можно ли присваивать значение нулевому байту строки? Если да, то к чему это приведет?
Какие операции для строк существуют в языке Паскаль?
Как происходит сравнение строк?
Как изменить значение строки? Как изменить отдельный символ строки?
Почему строку нельзя вводить посимвольно в цикле как массив символов?
Какие стандартные подпрограммы можно использовать для работы со строками?
Лабораторная работа № 8 Тип данных «запись». Массив записей
Цель работы – познакомиться со структурированным типом данных «запись», изучить особенности работы с записями.
Постановка задачи
Написать программу согласно индивидуальному варианту. При написании программы использовать технологию структурного программирования. На экран вывести исходные данные в виде таблицы с использованием символов псевдографики, а также результаты работы в наглядном виде.
Варианты заданий
Сведения о банках хранятся в массиве, каждая запись которого включает название банка, минимальный вклад, процент прибыли в год. Вывести на экран информацию о банках, имеющих самый высокий процент прибыли.
Дан массив дат, в котором каждый компонент включает поля: день, месяц и год. Найти все зимние даты и самую позднюю дату.
В массиве содержится информация о товарах, находящихся на складе: название, цена, производитель товара. Удалить из массива запись о проданном товаре по его названию.
Создать массив, содержащий следующие сведения: фамилию владельца, марку автомобиля, номерной знак, год выпуска, объем двигателя, цвет. Вывести марку автомобиля с наибольшим объемом двигателя среди выпущенных до определенного года.
Дан массив, содержащий сведения о туристических компаниях: название фирмы, место отдыха, стоимость путевки, длительность поездки. Вывести сведения о самой дешевой путевке.
Дан массив записей, содержащий сведения об импортируемых товарах: наименование товара, страна, экспортирующая товар, и объем поставляемой партии (в штуках). Для указанного товара вывести список стран, экспортирующих данный товар, и общий объем его импорта.
Имеется массив записей, содержащий перечень имеющихся в продаже товаров и цену каждого из товаров. Определить общую стоимость приобретенных товаров, если известно, сколько единиц каких видов товаров продано.
Дан массив записей. Каждая запись состоит из следующих полей: фамилия студента, номер группы, четыре оценки за экзамены. Вывести на экран сведения о студентах, имеющих наилучшие показатели успеваемости, т. е. наибольшие суммы баллов. Предполагается, что таких студентов может быть несколько.
Дан массив записей с фамилиями сотрудников, годами их рождения и годами поступления в учреждение. Вывести фамилии сотрудников моложе 30 лет и проработавших не менее 5 лет.
Сведения о багаже нескольких пассажиров содержатся в массиве записей. Багаж пассажира характеризуется двумя величинами: количество вещей и их общий вес в килограммах. Упорядочить сведения о багаже по невозрастанию веса багажа.
Список студентов группы представлен в виде массива записей, компоненты которых – фамилия и имя – строкового типа. Найти однофамильцев в группе.
В массиве хранятся данные о багаже N пассажиров (N <= 10), N вводится. Сведения о багаже каждого пассажира содержат количество вещей и их общий вес в килограммах. Найти пассажира, средний вес одной вещи которого отличается не более чем на 0,3 кг от общего среднего веса одной вещи.
В массиве содержится информация о сдаче зимней сессии студентами первого курса. Сведения о каждом студенте содержат фамилию, номер группы, оценки по трем предметам. Вывести фамилии студентов, имеющих задолженность хотя бы по одному предмету.
В массиве содержится информация о сдаче зимней сессии студентами первого курса. Сведения о каждом студенте содержат фамилию, номер группы, оценки по четырем предметам. Вывести процент студентов, сдавших все экзамены на 4 и 5.
Дан массив, содержащий сведения о жителях, обслуживаемых данной поликлиникой: фамилию, год рождения, адрес, наличие прививки от гриппа. Вывести фамилии жителей непенсионного возраста, не сделавших прививку от гриппа.
Дан массив, содержащий сведения о жителях, обслуживаемых данной поликлиникой: фамилию, год рождения, адрес, дату последней флюорографии. Сформировать массив жителей, которые на текущий момент не делали флюорографию больше года.
Дан массив, содержащий сведения об экспортируемых товарах: наименование товара, страна, импортирующая товар, и объем поставляемой партии. Сформировать массив стран, в которые экспортируется определенный товар (наименование задается пользователем), и общий объем его экспорта.
Турнирная таблица по футболу представляется массивом, каждая компонента которого включает название команды, разницу забитых и пропущенных мячей, количество полученных очков, количество потерянных очков. Осуществить модификацию таблицы по результатам одной игры.
Модификация таблицы по результатам состоявшихся игр происходит при вводе следующих данных: название двух команд, участвовавших в игре, и разница забитых и пропущенных первой из команд-участниц мячей (больше нуля при выигрыше, меньше нуля при проигрыше, равная нулю при ничьей).
Турнирная таблица по футболу представляется массивом, каждый компонент которого включает название команды, разность забитых и пропущенных мячей, количество полученных очков, количество потерянных очков.
Осуществите проверку таблицы на состоятельность: сумма разностей забитых и пропущенных мячей должна равняться нулю, сумма всех полученных очков должна быть равна сумме всех потерянных очков.
Приняв способ изображения рационального числа в виде записи с двумя целочисленными полями: числитель и знаменатель, написать программу, позволяющую найти наибольшее среди рациональных чисел, имеющихся в заданном массиве.
Даны массив A, содержащий сведения о товарах на складе (вид товара и его количество), и массив B, содержащий сведения о движении товара, т.е. насколько уменьшилось или увеличилось количество изделий по некоторым видам продукции. Обновить массив А по сведениям, содержащимся в массиве В.
Даны два массива. Массив A содержит сведения об изделиях (название изделия, стоимость сборки одной единицы), массив В – о выполненных работах по сборке изделий (фамилия рабочего, название изделия и количество собранных им изделий). По введенной фамилии рабочего определить стоимость выполненных им работ.
