
- •А.В. Карташов, ю.А. Скоб, в.А. Халтурин, и.А. Трофимова, л.И. Черноштан, ю.К. Чернышев, о.В. Яровая информатика
- •Стандартные типы данных среды Турбо Паскаль и описание величин
- •Описание величин
- •Процедуры ввода данных
- •Процедура вывода данных
- •Порядок выполнения работы
- •Варианты заданий
- •Пример программы
- •Лабораторная работа № 2 выражения
- •Порядок выполнения работы
- •Задача 2
- •Задача 3
- •Лабораторная работа № 4 операторы цикла
- •Теоретические сведения
- •Вывод коэффициента рекуррентности q
- •Проверка правильности вычисления q
- •Варианты заданий
- •Лабораторная работа № 5 массивы
- •Теоретические сведения
- •Варианты заданий Задача 1
- •Задача 2
- •Лабораторная работа № 6 текстовые файлы
- •Теоретические сведения
- •Файл исходных данных Input8_1.Pas:
- •Лабораторная работа № 7
- •Теоретические сведения
- •Теоретические сведения
- •Лабораторная работа № 9
- •Теоретические сведения
- •Варианты заданий
- •Лабораторная работа № 10 модули
- •Теоретические сведения
- •Создание модуля
- •Файл исходных данных Input8_2.Pas:
- •Варианты заданий взять из лабораторной работы № 7 или № 9 по указанию преподавателя.
Порядок выполнения работы
Выполнить три задачи, используя операторы if и case. Каждую задачу можно выполнять в разных программах или в одной. Эту одну программу можно организовать так, чтобы была возможность каждую задачу выполнять несколько раз с разными исходными данными, не выходя из режима выполнения программы. Ниже приведен как раз такой пример выполнения всех задач в одной программе.
Задача 1.
Значения a и x ввести с клавиатуры.
Вычислить
Задача 2.
Значения a, x и номер варианта k ввести с клавиатуры.
Вычислить
Задача 3.
Координаты точки (x, y) ввести с клавиатуры. Определить, попадет ли эта точка в заштрихованную область (кольцо):
PROGRAM EXAMPLE;
USES CRT;
VAR X1,A1,Y1:REAL; { ОПИСАНИЕ ПЕРВОЙ ЗАДАЧИ }
X2,A2,Y2:REAL; K:INTEGER; { ОПИСАНИЕ ВТОРОЙ ЗАДАЧИ }
X3,Y3,Z:REAL; { ОПИСАНИЕ ТРЕТЬЕЙ ЗАДАЧИ }
SELECTOR:BYTE;
BEGIN
REPEAT
CLRSCR; { ОЧИСТКА ЭКРАНА }
WRITELN(' ВВЕДИТЕ НОМЕР ЗАДАЧИ СОГЛАСНО МЕНЮ : ');
WRITELN;
WRITELN(' 1.........ЗАДАЧА 1 ');
WRITELN(' 2.........ЗАДАЧА 2 ');
WRITELN(' 3.........ЗАДАЧА 3 ');
WRITELN(' 4.........ВЫХОД ИЗ ПРОГРАММЫ ');
READLN(SELECTOR);
CASE SELECTOR OF
1: BEGIN { ПЕРВАЯ ЗАДАЧА }
CLRSCR;
WRITELN('ВВЕДИТЕ ВЕЩЕСТВЕННЫЕ ЧИСЛА X И A ');
READLN(X1,A1);
IF X1<A1 THEN Y1:=LN(SQR(A1)+1)
ELSE Y1:=SIN(A1*X1);
WRITELN('A=',A1:5:3,' X=',X1:5:3,' Y=',Y1:5:3);
WRITELN;WRITELN;
WRITELN('НАЖМИТЕ ENTER ДЛЯ ПРОДОЛЖЕНИЯ');
READLN;
END; { КОНЕЦ ПЕРВОЙ ЗАДАЧИ }
2: BEGIN { ВТОРАЯ ЗАДАЧА }
CLRSCR;
WRITELN('ВВЕДИТЕ ВЕЩЕСТВЕННЫЕ ЧИСЛА А И Х ');
READLN(A2,X2);
WRITELN('ВВЕДИТЕ НОМЕР ВАРИАНТА ( ЧИСЛО К) ');
READLN(K);
CASE K OF
0: Y2:=A2*X2+1;
1: Y2:=A2*SQR(X2)/2;
2: Y2:=X2-A2;
3: Y2:=1000
END; { CASE }
WRITELN('A=',A2:5:3,' X=',X2:5:3,' Y=',Y2:5:3);
WRITELN;WRITELN;
WRITELN('НАЖМИТЕ ENTER ДЛЯ ПРОДОЛЖЕНИЯ');
READLN;
END; { КОНЕЦ ВТОРОЙ ЗАДАЧИ }
3: BEGIN { ТРЕТЬЯ ЗАДАЧА }
CLRSCR;
WRITELN(' ВВЕДИТЕ КООРДИНАТЫ ТОЧКИ X И Y :');
READLN(X3,Y3);
Z:=X3*X3+Y3*Y3;
IF ( Z>=1 ) AND ( Z<=4 )
THEN WRITELN ('ТОЧКА ПРИНАДЛЕЖИТ ОБЛАСТИ')
ELSE WRITELN ('ТОЧКА НЕ ПРИНАДЛЕЖИТ ОБЛАСТИ');
WRITELN;WRITELN;
WRITELN('НАЖМИТЕ ENTER ДЛЯ ПРОДОЛЖЕНИЯ');
READLN;
END; { КОНЕЦ ТРЕТЬЕЙ ЗАДАЧИ }
4: EXIT; { ВЫХОД ИЗ ПРОГРАММЫ }
END; { CASE }
UNTIL FALSE;
END.
Варианты заданий
Задача 1
Ввести числа x и a и вычислить значения функции Y при помощи оператора if. Предусмотреть проверку аномальных ситуаций, при которых функций не существует. Эта задача соответствует задаче 1 в примере.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.