- •Лабораторная работа №1
- •Целый тип
- •Вещественный тип
- •Символьный тип
- •Булевский тип
- •Перечисляемый тип
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Оператор цикла с предусловием:
- •Оператор цикла с постусловием:
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №6
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №7
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №8
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №9
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №10
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
- •Лабораторная работа №11
- •Постановка задачи.
- •Решение.
- •Распечатка результатов выполнения программы.
Символьный тип
Значениями символьного типа являются элементы конечного и упорядоченного набора знаков.
Символ, заключенный в апострофы, обозначает константу символьного типа, например: ‘5’, ‘d’.
Над переменными символьного типа определены следующие функции:
1) функции преобразования:
ORD (s) - дает порядковый номер символа s в упорядоченном множестве символов: ORD(‘5’)=53.
CHR (i) - дает символ, стоящий под номером i в упорядоченном множестве символов: CHR(66)=‘B’.
2) операции отношения (см. выше):
если С1 и С2 - символьные переменные, то С1>С2 истинно только тогда, когда ORD(C1)>ORD(C2).
3) стандартные функции:
PRED (s) - возвращает предыдущий символ.
SUCC (s) - возвращает следующий символ.
Булевский тип
Переменные булевского типа могут принимать только два значения: TRUE и FALSE.
Над ними определены:
1) логические операции:
AND(и или конъюнкция), OR(или или дизъюнкция),
NOT(не или отрицание).
2) операции отношения (см. выше):
причем TRUE>FALSE.
Перечисляемый тип
Задается перечислением тех значений, которые может получать переменная этого типа. Нумерация в списке значений начинается с 0, т.е. первое значение имеет номер - 0, а второе - 1 и т.д.
Пример: type tree=(birch, oak, pine);
или
var tr=(birch, oak, pine);
Постановка задачи.
Найти значение функции Y= x+2 при x = 0.675. Затем возвести полученное значение в квадрат, т.е. найти Y1=Y(X), и вычислить абсолютное значение ABS(Y1).
Записать выражение, зависящее от координат точки М(1.5; 0.5) и принимающее значение TRUE, если точка принадлежит заштрихованной области (III четверть), и FALSE, если не принадлежит. Для исследуемой точки вычислить полученное выражение.
Y
-7 Х
-1
Результаты всех вычислений вывести на печать.
Решение.
Текст программы № 1.а
program lab1a {вариант 2.a};
const x=0.675;
var y:real;
begin
writeln ('Вычислим значение функции y=x+1/(x*x*x-x)-2 при x=0.675');
y:=x+1/(x*x*x-x)-2;
writeln ('y=',y:0:2);
writeln ('y1=',y*y:0:2);
writeln ('|y^2|=',abs(y*y):0:2);
end.
Текст программы № 1.б
program lab1b {вариант 2.b};
const x0=1.5;
y0=0.5;
r=1;
var graf: boolean;
begin
graf:=(x0*y0+y0*y0<=r*r) and ((x0+1<=y0) or (abs(x0)-1>=y0));
writeln ('точка с координатами M(',x0:0:1,'.',y0:0:1,')');
if graf then writeln ('Принадлежит затрихованной области')
else writeln ('НЕ принадлежит заштрихованной области');
end.
Распечатка результатов выполнения программы.
Программы №1.a
Вычислим значение функции y=x+1/(x*x*x-x)-2 при x=0.675
y=-4.05
y1=16.37
|y^2|=16.37
Программы №1.b
точка с координатами M(1.5.0.5)
Принадлежит заштрихованной области
Лабораторная работа №2
Решение уравнение с использованием условного оператора
Вариант №2
Постановка задачи.
Составить программу решения системы неравенств:
Напечатать исходные данные и результаты.
Решение.
Текст программы № 2
program lab2 {вариант 2};
var a,b,c,d,x1,x2:real;
begin
writeln('решим уравнение a*x*x+b*x+c=0');
writeln('введите a=',' b=',' c=');
readln(a,b,c);
d:=b*b-4*a*c;
if d<0 then
writeln('решений нет') else
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('Ответ: x1=',x1:0:2,' x2=',x2:0:2);
end;
end.
Распечатка результатов выполнения программы.
Программы №2
решим уравнение a*x*x+b*x+c=0
введите a= b= c=
2
5
3
Ответ: x1=-1.00 x2=-1.50
Лабораторная работа №3
Построение таблиц формул
Вариант №2
Постановка задачи.
Составить программу вычисления значений функции sin(x) на отрезке [A, B] в точках Xi = A + iH, где H = (B - A)/M, M — заданное целое число.
Значение шага Н должно вычисляться один раз.
При A=/4, B=/2, M=15.
Решение.
Текст программы № 3
program lab3 {вариант 2};
var a,b,m,h,x:real;
i:integer;
begin
a:=Pi/4; b:=Pi/2; m:=15;
h:=(b-a)/m;
x:=a;
for i:=1 to 16 do
begin
writeln('sin(',x:5:4,')=',(sin(x)):5:4);
x:=x+h;
end;
end.
Распечатка результатов выполнения программы.
Программы №3
sin(0.7854)=0.7071
sin(0.8378)=0.7431
sin(0.8901)=0.7771
sin(0.9425)=0.8090
sin(0.9948)=0.8387
sin(1.0472)=0.8660
sin(1.0996)=0.8910
sin(1.1519)=0.9135
sin(1.2043)=0.9336
sin(1.2566)=0.9511
sin(1.3090)=0.9659
sin(1.3614)=0.9781
sin(1.4137)=0.9877
sin(1.4661)=0.9945
sin(1.5184)=0.9986
sin(1.5708)=1.0000
Лабораторная работа №4
Организация циклов в программе
Вариант №2
Составной оператор — это последовательность произвольных операторов программы, заключенная в операторные скобки — зарезервированные слова BEGIN ... END. Характер входящих операторов в данный момент может быть различным. Также ТР допускает любую глубину вложенности составных операторов.
Условный оператор имеет следующий вид:
IF <условие> THEN <оператор1> ELSE <оператор2>,
где IF, THEN, ELSE — зарезервированные слова;
<условие> — выражение логического типа;
<оператор1>, <оператор2> — операторы языка ТР.
Выполнение этого оператора начинается с проверки условия. Если оно истинно (=TRUE), то выполняется <оператор1>,
иначе (значение выражения = FALSE) выполняется <оператор2>.
Часть ELSE может быть опущена, тогда оператор выполняется только при значении выражения =TRUE, иначе он пропускается.