Файл: Лабораторная работа Создание линейного алгоритма 5 Лабораторная работа Решение задач с линейным алгоритмом 7.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.04.2024
Просмотров: 169
Скачиваний: 0
СОДЕРЖАНИЕ
Структура программы на языке Turbo Pascal
Лабораторная работа № 2. Решение задач с линейным алгоритмом
Лабораторная работа № 3. Обработка строковых и символьных переменных
Лабораторная работа № 4. Обработка целочисленных данных
Лабораторная работа № 5. Создание разветвляющего алгоритма
Лабораторная работа № 6. Решение задач с разветвляющимся алгоритмом
Лабораторная работа № 7. Использование оператора выбора CASE.
Лабораторная работа № 8. Генератор случайных чисел
Лабораторная работа № 9. Использование цикла с параметром
Лабораторная работа № 10. Использование цикла с предусловием
Лабораторная работа № 10. Использование цикла с предусловием
Лабораторная работа № 11. Решение задач с использованием циклического алгоритма
Лабораторная работа № 12. Использование цвета
Лабораторная работа № 13. Создание меню
Лабораторная работа № 14. Обработка одномерного массива
Лабораторная работа № 15. Решение задач на использование одномерных массивов
Лабораторная работа № 16. Обработка двумерного массива
Лабораторная работа № 17. Решение задач с использованием двумерных массивов
Лабораторная работа № 18. Использование процедур
Лабораторная работа № 19. Использование функций
Лабораторная работа № 20. Графические возможности Turbo Pascal
Лабораторная работа № 21. Работа с файлами
Лабораторная работа № 22. Задания для самостоятельной работы
Лабораторная работа № 5. Создание разветвляющего алгоритма
Решить задачу: Найти максимальное из двух действительных чисел, вводимых с клавиатуры.
Блок-схема
Листинг программы
PROGRAM MAX;
USES CRT;
VAR X,Y:REAL;
BEGIN
WRITELN(‘ВВЕДИТЕ X’);
READLN(X);
WRITELN(‘ВВЕДИТЕ Y’);
READLN(Y);
IF X>Y THEN WRITELN(‘X - MAX’) {сравнение чисел x и y}
ELSE WRITELN(‘Y-MAX’);
READLN;
END.
После набора листинга сохраните программу с именем RASHET, автоматически к имени добавится расширение PAS.
Задание для самостоятельной работы:
-
Измените вывод результата, чтобы выводилось не только сообщение о максимальности числа, но и его значение. -
Измените программу, чтобы учитывалось равенство чисел и выводилось соответствующее сообщение.
Лабораторная работа № 6. Решение задач с разветвляющимся алгоритмом
Примеры использования условного оператора IF:
Если при выполнении или невыполнении условия должно выполниться несколько действий: | |
IF <УСЛОВИЕ> THEN BEGIN <ОПЕРАТОР 1>; ………………… <ОПЕРАТОР N> END; | IF <УСЛОВИЕ> THEN BEGIN <ОПЕРАТОР 1>; ………………… <ОПЕРАТОР N> END ELSE BEGIN <ОПЕРАТОР 1>; ………………… <ОПЕРАТОР M> END; |
При проверке сложных условий можно использовать логические операции and (И), or (ИЛИ), not (НЕ).
При такой записи необходимо каждое условие поместить в скобки, чтобы указать порядок действий. Например: (x>7)or(x<10)
Если при выполнении (невыполении) условий необходимо осуществить несколько действий, то они (действия) помещаются в операторные скобки begin …… end
Запись If условие then оператор1 else оператор2 является единым целым и ни в коем случае нельзя ставить «;» перед оператором else. При необходимости оператор else может отсутствовать.
Задачи для самостоятельной работы:
-
Дано число x. Определить, является ли оно отрицательным и четным.
-
Составить программу для определения, к какой четверти (квадранту) принадлежит точка T с координатами x и y (x≠0 и y≠0, организовать проверку на ввод данных). Результатом решения является номер квадранта.
-
Даны три действительных числа A, B, C. Определите, сколько среди них отрицательных.
-
Написать программу определения стоимости разговора по телефону с учетом скидки – 20%, предоставляемой по субботам и воскресеньям. (Исходные данные: стоимость минуты разговора; день недели, когда разговор произошел; время разговора).
-
Составьте программу определения минимального числа из трех х1, х2, x3
-
Написать программу, решающую следующую задачу: дано целое число. Определить, четное число или нет, и попадает ли в диапазон от 10 до 100. Выдать соответствующее сообщение.
-
Написать программу, которая загадывает загадку и предлагает варианты ответа. Например: Зимой и летом одним цветом. Что это?
а) елка
б) ежик
в) доллар
-
Дано 3 числа. Определить, какое из них минимальное.
-
Написать программу определения стоимости разговора по телефону с учетом скидки – 20%, предоставляемой по субботам и воскресеньям. (Исходные данные: стоимость минуты разговора; день недели, когда разговор произошел; время разговора).
-
Написать программу решения квадратного уравнения вида ax2+bx+c=0. (Программа должна проверять исходных данных: если коэффициент при неизвестном во второй степени равен 0, выдать соответствующее сообщение – «Это не квадратное уравнение»)
-
Написать программу, которая определяет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендации о необходимости поправиться или похудеть. (Оптимальный вес вычисляется по формуле: Рост (в см) - 100)
Лабораторная работа № 7. Использование оператора выбора CASE.
Применяется, когда условие принимает конкретное значение и предложены варианты решений: |
Формат записи: CASE <условие или выражение> OF ЗНАЧЕНИЕ 1: <ОПЕРАТОР 1>; …………………… ЗНАЧЕНИЕ N: <ОПЕРАТОР N>; ELSE <ОПЕРАТОР>; END; |
Оператор ELSE используется для выполнения оператора, когда ни одно значение не подходит. |
Задача. Вводится целое N в диапазоне, а ПК отвечает, чему равно это число словами. (Программа должна проверить правильность вводимых данных, число должно принадлежать диапазону 0..10)
PROGRAM MY;
USES CRT;
VAR X: BYTE;
BEGIN
CLRSCR;
WRITELN(‘ВВЕДИТЕ ЦЕЛОЕ ЧИСЛО’); READLN(X);
CASE X OF
0: WRITELN(‘НОЛЬ’);
1: WRITELN(‘ОДИН’);
2: WRITELN(‘ДВА’);
3: WRITELN(‘ТРИ’);
4: WRITELN(‘ЧЕТЫРЕ’);
5: WRITELN(‘ПЯТЬ’);
6: WRITELN(‘ШЕСТЬ’);
7: WRITELN(‘СЕМЬ’);
8: WRITELN(‘ВОСЕМЬ’);
9: WRITELN(‘ДЕВЯТЬ’);
10: WRITELN(‘ДЕСЯТЬ’);
ELSE WRITELN(‘НЕВЕРНЫЕ ДАННЫЕ);
END;
READLN;
END.
Задачи для самостоятельной работы:
-
Составить программу для вычисления площади круга, который может быть задан радиусом r (признак N=1), диаметром d (признак N =2), длиной окружности с (признак N= 3)
-
Написать программу, которая имитирует работу калькулятора, который выполняет простые действия (+, -, /, *). (Программа должна проверять правильность введенных данных. Если при делении делитель равен 0, то должно появиться сообщение «Неверные данные»)
-
Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота» или «Воскресенье». (Программа должна проверять правильность введенных данных, если они неверные – номер дня недели >7, то вывести сообщение «Ошибка ввода данных»)
-
Составьте программу вычисления площадей различных геометрических фигур:
-
Написать программу-календарь, которая запрашивает номер месяца и выводит соответствующее название времени года. (Программа должна проверять правильность введенных данных. Если введено неверное число, то должно появиться сообщение «Ошибка ввода данных»)
Лабораторная работа № 8. Генератор случайных чисел
Для работы со случайными числами подключается генератор с помощью процедуры RANDOMIZE (указывается один раз, после первого оператора BEGIN)
Для дальнейшего использования применятся функция RANDOM. Формат записи:
:= RANDOM | Действительные числа из диапазона от 0 до 1 |
:= RANDOM (N) | Целые числа из диапазона от 0 до N-1 |
:= RANDOM (M-N+1)+N | Целые числа от +N до +M |
| |
Пример: | |
A := random (11)-5 | Переменная a принимает случайное целое значение из диапазона от -5 до 5 |
B := random (20) | Переменная b принимает случайное целое значение из диапазона от 0 до 19 |
C:=random(15)+10 | Перемення c принимает значения от 10 до 24 |
Задача. Проверить на знание пользователя таблицы умножения, для проверки вывести пример умножения 2 случайных целых цифр (от 1 до 9).
VAR X, Y, OTVET: INTEGER;
BEGIN
RANDOMIZE;
X:=RANDOM(9)+1;
Y:=RANDOM(9)+1;
WRITELN(‘Сколько будет ’, X,’ *’, Y, ‘ ?’);
READLN(OTVET);
IF OTVET=X*Y THEN WRITELN(‘Правильно’) ELSE WRITELN(‘Неверно’);
READLN
END.
Задачи для самостоятельной работы:
-
Написать программу, которая выводит арифметический пример для вычисления, запрашивает ответ и выводит соответствующее сообщение (“Правильно” или “Неверно”). Общая формула для арифметического примера: ( A + B ) * C – D.
Для примера выбираются случайные двузначные числа от 10 до 50.
-
Сгенерировать случайное число в диапазоне от -15 до +15. Вывести его на экран. Определить, является ли оно: четным? Положительным? Состоящим из двух разрядов?
-
Вычислить среднее арифметическое 5 целых случайных чисел, которые выбираются из диапазона от -15 до +20.