Файл: Лабораторная работа Создание линейного алгоритма 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.
Задание для самостоятельной работы:


  1. Измените вывод результата, чтобы выводилось не только сообщение о максимальности числа, но и его значение.

  2. Измените программу, чтобы учитывалось равенство чисел и выводилось соответствующее сообщение.



Лабораторная работа № 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 может отсутствовать.

Задачи для самостоятельной работы:


  1. Дано число x. Определить, является ли оно отрицательным и четным.




  1. Составить программу для определения, к какой четверти (квадранту) принадлежит точка T с координатами x и y (x≠0 и y≠0, организовать проверку на ввод данных). Результатом решения является номер квадранта.




  1. Даны три действительных числа A, B, C. Определите, сколько среди них отрицательных.




  1. Написать программу определения стоимости разговора по телефону с учетом скидки – 20%, предоставляемой по субботам и воскресеньям. (Исходные данные: стоимость минуты разговора; день недели, когда разговор произошел; время разговора).




  1. Составьте программу определения минимального числа из трех х1, х2, x3




  1. Написать программу, решающую следующую задачу: дано целое число. Определить, четное число или нет, и попадает ли в диапазон от 10 до 100. Выдать соответствующее сообщение.




  1. Написать программу, которая загадывает загадку и предлагает варианты ответа. Например: Зимой и летом одним цветом. Что это?

а) елка

б) ежик

в) доллар


  1. Дано 3 числа. Определить, какое из них минимальное.




  1. Написать программу определения стоимости разговора по телефону с учетом скидки – 20%, предоставляемой по субботам и воскресеньям. (Исходные данные: стоимость минуты разговора; день недели, когда разговор произошел; время разговора).




  1. Написать программу решения квадратного уравнения вида ax2+bx+c=0. (Программа должна проверять исходных данных: если коэффициент при неизвестном во второй степени равен 0, выдать соответствующее сообщение – «Это не квадратное уравнение»)




  1. Написать программу, которая определяет оптимальный вес пользователя, сравнивает его с реальным и выдает рекомендации о необходимости поправиться или похудеть. (Оптимальный вес вычисляется по формуле: Рост (в см) - 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.
Задачи для самостоятельной работы:


  1. Составить программу для вычисления площади круга, который может быть задан радиусом r (признак N=1), диаметром d (признак N =2), длиной окружности с (признак N= 3)




  1. Написать программу, которая имитирует работу калькулятора, который выполняет простые действия (+, -, /, *). (Программа должна проверять правильность введенных данных. Если при делении делитель равен 0, то должно появиться сообщение «Неверные данные»)




  1. Написать программу, которая запрашивает у пользователя номер дня недели и выводит одно из сообщений: «Рабочий день», «Суббота» или «Воскресенье». (Программа должна проверять правильность введенных данных, если они неверные – номер дня недели >7, то вывести сообщение «Ошибка ввода данных»)




  1. Составьте программу вычисления площадей различных геометрических фигур:





  1. Написать программу-календарь, которая запрашивает номер месяца и выводит соответствующее название времени года. (Программа должна проверять правильность введенных данных. Если введено неверное число, то должно появиться сообщение «Ошибка ввода данных»)

Лабораторная работа № 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.

Задачи для самостоятельной работы:


  1. Написать программу, которая выводит арифметический пример для вычисления, запрашивает ответ и выводит соответствующее сообщение (“Правильно” или “Неверно”). Общая формула для арифметического примера: ( A + B ) * C – D.

Для примера выбираются случайные двузначные числа от 10 до 50.


  1. Сгенерировать случайное число в диапазоне от -15 до +15. Вывести его на экран. Определить, является ли оно: четным? Положительным? Состоящим из двух разрядов?




  1. Вычислить среднее арифметическое 5 целых случайных чисел, которые выбираются из диапазона от -15 до +20.