Лабораторная работа №8

Использование комбинированного типа

Цель работы: получение навыков работы с записями.

Задания для подготовки к работе

1. Изучите комбинированный тип данных.

2. Разбейте задачу на подзадачи, таким образом, чтобы решение каждой подзадачи описывалось подпрограммой, а основная программа состояла бы, в основном, из вызовов подпрограмм.

3. Опишите блок-схему алгоритма укрупненных блоках.

4. Для каждой подзадачи опишите используемые структуры данных, спецификацию и блок-схему алгоритма.

5. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».

6. Закодируйте алгоритм.

7. Подберите наборы тестовых данных с обоснованием их выбора.

Задания к работе

1. Наберите программу, отладьте ее, протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы.

Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 3 – 7 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Дан массив записей. Каждая запись содержит сведения о студенте группы: фамилию и оценки по 5 предметам. Удалить записи о студентах, имеющих более одной неудовлетворительной оценки. Вывести фамилии этих студентов.

2. Найти сумму n дробей в виде несократимой дроби. Дробь представить записью из двух полей: числителя и знаменателя. Использовать подпрограммы для ввода, вывода, сокращения дроби и для нахождения суммы дробей.

3. Дан массив дробей, представленных записями. Определить наибольшую дробь. Использовать подпрограммы для ввода, вывода дроби и сравнения двух дробей.

4. В массиве записей хранится многочлен Pn (x) по убыванию степеней. Каждая запись содержит степень и коэффициент члена. Получить значение многочлена при данном x.

5. Дан массив записей. Каждая запись содержит фамилию и адрес человека (город, улица, дом, квартира). Вывести фамилии двух человек, в адресах которых разные только улицы, или сообщить о том, что таких людей нет.

6. Установить, предшествует ли в пределах одного года дата d 1 дате d 2 и, если предшествует, то на сколько дней.

7. Первого января года был понедельник. Определить по данной дате день недели и его порядковый номер в году.

8. Вычислить значение квадратного трехчлена az 2+ bz+c с комплексными коэффициентами a, b, c в комплексной точке z. Действия с комплексными числами оформить подпрограммами.

9. Даны координаты n фигур на шахматной доске и координаты слона. Определить, сможет ли слон за один ход перейти на данное свободное поле p.

10. В массиве записей хранится следующая информация о спортсменах: фамилия, вид спорта, лучший результат этого спортсмена. Видом спорта могут быть: прыжки в длину, прыжки в высоту, тяжелая атлетика. Определить лучшего спортсмена в заданном виде спорта. Использовать подпрограммы для ввода массива и для определения лучшего спортсмена.

11. Определить день недели для данной даты, если известен день недели какой-либо даты.

12. Найти частное двух данных комплексных чисел. Действия над комплексными числами оформить подпрограммами.

13. Анкета школьника включает в себя Ф.И.О., номер школы, номер класса и оценки по пяти предметам. Вывести фамилии трех лучших учеников данного класса.

14. Упорядочить массив, каждый элемент которого представляет собой время (запись из трех полей: часы, минуты и секунды). Сравнение времени t 1 с t 2 оформить подпрограммой.

15. Вектор задается координатами начала и конца. Определить максимальное число параллельных векторов из данного множества векторов.

16. На двух полях шахматной доски находятся слон и король. Определить, может ли слон сделать ход, чтобы объявить шах королю.

17. Известна дата и день недели некоторого события. Определить, на какой день недели приходится начало года.

18. Круг задается радиусом и координатами центра. Имеется n кругов (n £20). Определить, в каком из кругов находится наибольшее число кругов из данного множества кругов.

19. На двух заданных полях шахматной доски находятся конь и пешка. Определить, угрожает ли конь пешке.

20. Круг задается радиусом и координатами центра. Определить, найдется ли среди данных десяти кругов круг, лежащий внутри другого круга.

21. Даны координаты n фигур на шахматной доске и координаты ладьи. Определить, сможет ли ладья за один ход перейти на данное свободное поле p.

22. Определить время, прошедшее от t 1 до t 2. Время предоставлено записью из трех полей: часы, минуты, секунды (t 1< t 2).

23. Дан массив несократимых дробей. Дробь – запись из двух полей: числителя и знаменателя. Найти произведение данных дробей в виде несократимой дроби, используя подпрограммы для ввода, вывода, сокращения дроби и нахождения произведения двух дробей.

24. Определить, является ли данное z корнем квадратного уравнения с комплексными коэффициентами. Действия с комплексными числами опишите подпрограммами.

25. В массиве длины n хранятся записи со следующей информацией об абитуриентах: Ф.И.О. и результаты вступительных экзаменов (количество баллов от 0 до 10 по математике и физике и зачет или незачет по русскому языку). Вывести Ф.И.О. абитуриентов, зачисленных в институт, при плане набора, равном k. Замечание: зачисляются абитуриенты в порядке невозрастания суммы баллов по математике и физике, при условии, что количество баллов и по математике и по физике >4 и есть зачет по русскому языку.

26. Дана точка P (p x, p y, p z) и некоторое множество точек (n £100). Упорядочить точки данного множества по неубыванию расстояния до точки P. Точки, расстояния от которых до точки P равны с точностью 10-10, упорядочить по неубыванию углов, образованных радиус-векторами точек с положительной полуосью Ox.

27. Дан массив записей. Каждая запись содержит сведения о студенте группы: фамилию и оценки по 5 предметам. Упорядочить массив по невозрастанию сумм оценок.

28. Определить дату предыдущего дня по известной текущего дня. дате.

29. Определить, есть ли среди данных. n векторов в пространстве
(n - const) коллинеарные векторы.

30. Даны адреса n человек (n - const). Вывести фамилии людей, живущих в разных городах по одинаковым адресам или сообщить, что таких людей нет.

Контрольные вопросы

1. Опишите синтаксическую диаграмму описания типа «запись» (комбинированного типа).

2. Что представляет собой значение типа «запись»?

3. Какие операции определены над записями?

4. Требования к совместимости по присваиванию записей

5. Как обратиться к полю записи?

6. Изобразите синтаксическую диаграмму записи с вариантами.

7. С какой целью используют записи с вариантами?

8. Какой объем памяти требуется для хранения записи с вариантами?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: