- •1 Семестра
- •Лабораторная работа "разветвляющиеся программы"
- •1.1. Задание № 1 «Определение принадлежности точки заданной области»
- •1.2 Задание n 2 на лр "Разветвляющиеся программы"
- •2. Лабораторная работа "массивы"
- •2.1. Задание 1 «Одномерный символьный массив»
- •2.2. Задание 2 «Двумерный массив вещественных элементов»
- •3. Лабораторная работа "печать отчетов"
- •3.1. Цель работы
- •3.2. Методические указания к лабораторной работе
- •3.3. Порядок выполнения работы
- •3.4. Задания
- •3.5. Контрольные вопросы
- •Лабораторная работа "динамические переменные"
- •4.1. Цель работы
- •4.2. Методические указания к лабораторной работе
- •4.3. Порядок выполнения работы
- •4.4. Задания
- •4.5. Контрольные вопросы
1.1. Задание № 1 «Определение принадлежности точки заданной области»
1.1.1. Цель работы
Ознакомиться с базовыми структурами структурного программирования, научиться использовать условный оператор для реализации полного ветвления с обеими ветвями, уметь использовать логические операции в сложных условиях.
1.1.2. Методические указания к лабораторной работе
В структурном программировании для реализации алгоритма любой сложности достаточно использовать только три управляющие структуры: следование, ветвление и цикл. В программах на Паскале следование реализуется с помощью составного оператора с использованием операторных скобок begin-end, ветвление - с помощью условного оператора if-then-else, цикл - с помощью операторов цикла с предусловием while, с постусловием repeat-until, с параметром for. Возможна реализация цикла с помощью оператора безусловного перехода goto с меткой, но это считается нарушением хорошего стиля структурного программирования.
Для определения принадлежности точки, которая задается ее координатами (x, y), необходимо знание канонических уравнений прямой линии y=a*x+b и окружности
(x-xc)^2+(y-yc)^2=r^2, а также логических операций and ("и"), которая дает пересечение областей и or ("или"), которая дает сложение областей.
1.1.3. Порядок выполнения работы
Нарисовать заданную область. Определить уравнения границ области и логические операции. Написать текст программы и проверить его на контрольных примерах. Оформить отчет. Для текста программы и контрольного примера использовать моноширинный шрифт.
1.1.4. Вариаты заданий
Чертежи вариантов областей выдаются отдельно. Границы включаются в область определения.
В программе использовать для определения принадлежности только один условный оператор со сложным логическим выражением.
В контрольный пример включить не менее шести точек. Для реализации цикла с запросом обязательно использовать метку и оператор безусловного перехода goto.
Варианты запроса для повторения:
1). Повторить? 1 - ДА, 0 - НЕТ
2). Закончить? 1 - ДА, 0 - НЕТ
В отчет по первому заданию лабораторной работы включается:
постановка задачи (с чертежом заданной области и логическим выражением);
описание программы;
схема программы;
текст программы;
контрольный пример.
1.1.5. Контрольные вопросы
1. Синтаксис и семантика условного оператора.
2. Схема программы для ветвления.
3. Условный оператор с одной ветвью.
4. Логические операции и выражения.
1.2 Задание n 2 на лр "Разветвляющиеся программы"
В программе организуется цикл с признаком конца с помощью оператора While или Repeat. Метки и массивы не использовать. В конце программы выдать итог: сколько данных обработано. Предусмотреть реакцию на исключительные ситуации: отсутствие данных и ошибки в данных. Контрольный пример должен проверять все ветви программы.
1.2.1 Варианты заданий
1. Ввести результаты участников лыжных соревнований (время старта и финиша). По каждому участнику определить чистое время, выдать все результаты. Ввод завершить, если введенное время старта равно 9999 и выдать в конце программы количество участников, номер и результат победителя. Если у нескольких участников одинаковое время, то победителем считается участник с меньшим номером.
Формат итоговой строки:
Всего участников 999, победитель номер 999 с результатом 99.99
2. В начале программы ввести сегодняшнюю дату. Для нескольких человек ввести дату рождения в формате ДД.ММ.ГГГГ. Выдать:
ВОЗРАСТ: 9999 лет 99 мес. 99 дн.
При определении возраста считать, что в любом месяце 30 дней.
Ввод прекратить, если день рождения ДД равен нулю.
В конце программы отпечатать номер самого старшего.
3. Ввести для нескольких поездов время отправления и общее время в пути (час., мин.). Выдать
ПОЕЗД 999 ОТПРАВЛЕНИЕ 99:99 ПРИБЫТИЕ 99:99 ВРЕМЯ В ПУТИ 999:99
Ввод завершить, если время отправления равно 9999.
В конце программы выдать номера самого раннего и самого позднего поездов.
4. В начале программы ввести два норматива: "сдано" и "отлично". Ввести несколько результатов сдачи норм (по стрельбе, подтягиванию и т.д.). Выдать для каждого один из трех вариантов
РЕЗУЛЬТАТ 999 "ОТЛИЧНО"
РЕЗУЛЬТАТ 999 "СДАНО"
РЕЗУЛЬТАТ 999 НЕ ЗАЧТЕН
Ввод завершить, если результат равен 9999.
В конце программы выдать
ЛУЧШИЙ РЕЗУЛЬТАТ 999 У УЧАСТНИКА НОМЕР 999
5. Ввести в начале программы рекордные минимальную и максимальную температуры.
Для нескольких дней ввести температуру воздуха и выдать ее с соответствующим прмечанием
ДЕНЬ 99 ТЕМПЕРАТУРА 99.9 БОЛЬШЕ МАКСИМАЛЬНОЙ 99.9
ДЕНЬ 99 ТЕМПЕРАТУРА 99.9 МЕНЬШЕ МИНИМАЛЬНОЙ 99.9
Соответствующее рекордное значение поменять. Ввод завершить, если температура равна 9999. В конце программы выдать
С ПЛЮСОВОЙ ТЕМПЕРАТУРОЙ 99 ДНЕЙ ИЗ 99
6. Вычислить подоходный налог с начисленных зарплат работников. Ставка подоходного налога равна 12% при зарплате<=5000 рублей, 20% при >5000 и <=10000 , 25 при >10000.
Ввод прекратить, если зарплата равна 99999. По окончании ввода выдать порядковый номер и размер наибольшей из введенных зарплат.
7. Задать требуемый объем цистерны. Вводить значения радиуса и высоты, выдавать получаемый объем цистерны с примечанием: меньше, больше или равно заданному. Ввод прекратить, если радиус равен 0. В конце программы выдать номер цистерны, у которой наименьший расход материала (площадь листа) и объем больше или равен заданному.
8. Ввести минимальное и максимальное значения температуры. По каждому замеру ввести фактическое значение температуры больного и выдать ТЕМПЕРАТУРА В ПРЕДЕЛАХ НОРМЫ или
ТЕМПЕРАТУРА МЕНЬШЕ НОРМЫ или
ТЕМПЕРАТУРАР БОЛЬШЕ НОРМЫ.
В конце программы выдать минимальную и максимальную температуру с указанием номеров замеров.
9. Ввести для нескольких автобусов время отправления и
время прибытия. По каждому автобусу выдать
АВТОБУС 999 ОТПРАВЛЕНИЕ 99:99 ПРИБЫТИЕ 99:99 ВРЕМЯ В ПУТИ 999:99
Ввод завершить, если время отправления равно 9999.
В конце программы выдать самой длинный рейс.
10. Ввести часовую ставку. По каждому члену бригады ввести количество отработанных часов и зарплату. Показать больше, равен или меньше часовой ставки заработок рабочего за час. Признак конца ввода данных - зарплата равна 0. В конце программы показать для работника, получившего наибольшую зарплату, его номер, зарплату и долю (в процентах) к суммарной зарплате всей бригады.
11. Ввести рекордное значение надоя на одну корову. По каждому хозяйству ввести количество коров и суммарный надой, выдать больше, меньше или равен надой на одну корову рекордному. Значение рекорда не изменять. В конце программы выдать
МАКСИМАЛЬНЫЙ НАДОЙ НА ОДНУ КОРОВУ 99999 ЛИТРОВ
В ХОЗЯЙСТВЕ НОМЕР 999
12. Ввести данные участников соревнований по бегу. По каждому участнику выдать СТАЛ ЛИДЕРОМ или ПОВТОРИЛ РЕЗУЛЬТАТ ЛИДЕРА или РЕЗУЛЬТАТ ХУЖЕ ЧЕМ У ЛИДЕРА. В конце программы выдать тройку призеров с указанием их номеров и результатов.
13. Ввести минимальное и максимальное значения размера детали по чертежу. По каждой изготовленной детали ввести фактическое значение размера и выдать РАЗМЕР В ПРЕДЕЛАХ ДОПУСКА или РАЗМЕР МЕНЬШЕ ДОПУСТИМОГО или РАЗМЕР БОЛЬШЕ ДОПУСТИМОГО.
В конце программы выдать процент брака.
1.2.2. Порядок выполнения работы
Написать текст программы и проверить его на контрольных примерах. Оформить отчет. Для текста программы и контрольного примера использовать моноширинный шрифт.
В отчет по второму заданию лабораторной работы включается:
постановка задачи;
описание программы;
схема программы;
текст программы;
контрольный пример.