Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Зайцев М. Г. / Отчет по практике 2 Зайцев 2 семестр

.docx
Скачиваний:
13
Добавлен:
02.01.2020
Размер:
241.84 Кб
Скачать

Отчет по практике№2

Задача№1

Найти минимальное число из двух чисел x,y и занести в y.

program z1;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var x,y:Real;

begin

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

write('x = ');readln(x);

write('y = ');readln(y);

if x < y then

y:= x;

write('min(x,y) = ',y:6:2);

readln;

end.

Задача№2

Найти максимальное число из двух чисел x,y и занести в z.

program z2;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var x,y,z:Real;

begin

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

write('x = ');readln(x);

write('y = ');readln(y);

z:=y;

if x > y then

y:= x;

write('max(x,y) = ',z:6:2);

readln;

end.

Задача№3

Упорядочить значения переменных x,y в порядке возрастания их значений, так чтобы x<=y.

program z3;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

t,x,y: Real;

begin

write('x = ');readln(x);

write('y = ');readln(y);

if x > y then

begin

t:= y;

y:= x;

x:= t

end; // x <= y

write('x = ',x:6:2,' y = ',y:6:2);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 2, Y = 3

X = 2,Y = 3

Левая ветвь IFTHEN

2

X = 3, Y = 2

X = 2,Y = 3

Правая ветвь IFTHEN

Задача№4

Реализовать функцию нахождения максимального из трёх чисел d = max(x, y, z).

program Pmax;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

Max,x,y,z: Real;

begin

write('x = ');readln(x);

write('y = ');readln(y);

write('z = ');readln(z);

if x < y then

Max:= y; //Max = max(x,y)

if Max < z then

Max:= z; //Max = max(x,y,z)

write('max(x,y,z) = ',Max:6:2);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 3, Y = 2, Z = 1

X = 1,Y = 2, Z = 3

Левая, левая ветвь IFTHEN

2

X = 1, Y = 2, Z = 3

X = 1,Y = 2, Z = 3

Правая, правая ветвь IFTHEN

3

X = 2, Y = 1, Z = 3

X = 1,Y = 2, Z = 3

Левая, правая ветвь IFTHEN

4

X = 1, Y = 3, Z = 2

X = 1,Y = 2, Z = 3

Правая, левая ветвь IFTHEN

Задача№5

Упорядочить значения переменных x,y,z в порядке убывания их значений, так чтобы x>=y>=z.

program Preorder;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

x,y,z,t: Real;

begin

write('x = ');readln(x);

write('y = ');readln(y);

write('z = ');readln(z);

if x > y then

begin t:= x; x:= y; y:= t end;//x = min(x,y)

if x > z then

begin t:= x; x:= z; z:= t end;//x = min(x,y,z)

if y > z then

begin t:= y; y:= z; z:= t end;//x <= y <= z

write('x = ',x:6:2,' y = ',y:6:2,' z = ',z:6:2);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 1, Y = 2, Z = 3

X = 1,Y = 2, Z = 3

Левая, левая, левая ветвь IFTHEN

2

X = 3, Y = 2, Z = 1

X = 1,Y = 2, Z = 3

Правая, правая, правая ветвь IFTHEN

3

X = 2, Y = 1, Z = 3

X = 1,Y = 2, Z = 3

Правая, левая, левая ветвь IFTHEN

4

X = 3, Y = 1, Z = 2

X = 1,Y = 2, Z = 3

Правая, правая, левая ветвь IFTHEN

5

X = 2, Y = 3, Z = 1

X = 1,Y = 2, Z = 3

Левая, правая, правая ветвь IFTHEN

6

X = 1, Y = 3, Z = 2

X = 1,Y = 2, Z = 3

Левая, правая, левая ветвь IFTHEN

7

X = 1, Y = 2, Z = 1

X = 1,Y = 2, Z = 3

Левая, левая, правая ветвь IFTHEN

8

X = 4, Y = 1, Z = 3

X = 1,Y = 2, Z = 3

Правая, левая, правая ветвь IFTHEN

Задача№6 Сформировать значение логической переменной следующим образом: True если точка с координатами (x,y) принадлежит прямоугольной области V на плоскости, False - в противном случае

program ex6;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var x,y:real;b:boolean;const x1=1;x2=5;y1=1;y2=5;

begin

setconsolecp(1251);

setconsoleoutputcp(1251);

write('введите координату точки x= ');readln(x);

write ('введите координату точки y= ');readln(y);

if (x>=x1) and (x<=x2) then if (y>=y1) and (y<=y2) then b:=true

else b:=false;

writeln(' ',b); readln;

end.

начало

Введите x, y

(x>=x1) and (x<=x2)

(y>=y1) and (y<=y2)

b:=false

b:=true

Вывести b

Конец

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 1, Y = 2

true

Правая, правая IFTHENELSE

2

X = 3, Y = 2

true

Правая, правая IFTHENELSE

3

X = -1, Y = 0

false

Правая, левая IFTHENELSE

Задача№7 Z = {max(x,y), при x < 0; min(x,y), при x >= 0}

program ex7;

{$APPTYPE CONSOLE}

uses

SysUtils;

var x,y,max,min:real;

begin

write('x= ');readln(x);

write('y= ');readln(y);

if x<0 then begin if x>y then max:=x else max:=y;

writeln('max: ',max);

end;

else begin if x<y then min:=x else min:=y;

writeln('min: ',min);

end;

readln;

end.

начало

x<0

x>y

max:=x

max:=y

x<y

min:=x

min:=y

Вывести результат

конец

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 1, Y = 2

Min = 1

2

X = 3, Y = 2

Min = 2

3

X = -1, Y = 0

Max = 0

Задача№8 Переменной k присвоить номер квадранта координатной плоскости, в котором находится точка с координатами x, y, 0 – для начала координат, -1 – для оси X, -2 – для оси Y.

program ex8;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var x,y:real;k:integer;

begin

setconsolecp(1251);

setconsoleoutputcp(1251);

write ('x= ');readln(x);

write ('y= ');readln(y);

if (x=0) and (y=0) then k:=0;

if (x=0) and (y<>0) then k:=-2;

if (y=0) and (x<>0) then k:=-1;

if (x>0) and (y>0) then k:=1;

if (x>0) and (y<0) then k:=4;

if (x<0) and (y<0) then k:=3;

if (x<0) and (y>0) then k:=2;

writeln (' ',k);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

X = 1, Y = 2

K = 1

Левая, левая, левая, правая

2

X = -0.5, Y = -1.5

K = 3

Левая, левая, левая, левая, левая, правая

3

X = -1, Y = 0

K = -1

Левая, левая, правая

(x < 0) and (y > 0)

Л

И

k= 2

(x > 0) and (y > 0)

Л

И

k= 1

1

2

Л

И

3

(x < 0) and (y < 0)

k= 3

(x > 0) and (y < 0)

Л

И

k= 4

4

Л

И

k= -2

5

(x = 0) and (y > 0) or (y < 0)

Л

И

k= -1

6

(y = 0) and (x > 0) or (x < 0)

(x = 0) and (y = 0)

Л

И

k= 0

7

Задача№9 Преобразовать символ, изображающий р-ичную цифру в целое число

program PDigToNum;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

ch: Char;

n: integer;

begin

write('ch = '); readln(ch);

case ch of

'0'..'9': n:= Ord(ch) - Ord('0');

'A'..'F': n:= Ord(ch) - Ord('A') + 10;

'a'..'f': n:= Ord(ch) - Ord('a') + 10;

else n:= -1;

end;

write('n = ',n);

readln;

end.

Номер теста

Исходные данные

Ожидаемый результат

Путь прохождения

1

ch = ‘0’

n = 0

первая ветвь case

2

ch = ‘9’

n = 9

первая ветвь case

3

ch = ‘A’

n = 10

вторая ветвь case

4

ch = ‘F’

n = 15

вторая ветвь case

5

ch = ‘a’

n = 10

третья ветвь case

6

ch = ‘f’

n = 15

третья ветвь case

7

ch = ‘w’

n = -1

четвёртая ветвь case

Задача№10 Преобразовать число, соответствующее р-ичной цифре в соответствующий ей символ.

program ex10;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var m:char;x:integer;

begin

setconsolecp(1251);

setconsoleoutputcp(1251); write('введите число: '); readln(x);

m:='p';

if x=0 then m:='0';

if (x=1) then m:='1';

if (x=2) then m:='2';

if(x=3) then m:='3';

if (x=4) then m:='4';

if (x=5) then m:='5';

if (x=6) then m:='6';

if (x=7) then m:='7';

if (x=8) then m:='8';

if(x=9) then m:='9';

if x=10 then m:='A';

if x=11 then m:='B';

if x=12 then m:='C';

if x=13 then m:='D';

if x=14 then m:='E';

if x=15 then m:='F';

if x>16 then writeln('введите повторно ') else

writeln('символ, который соответствует числу: ',m);readln;

end.

program ex10;

{$APPTYPE CONSOLE}

uses

SysUtils,

windows;

var m:char;ch:integer;

begin

setconsolecp(1251);

setconsoleoutputcp(1251); write('введите число: '); readln(ch);

case ch of

0..9:m:=chr(ord(‘0’)+ch);

10..15:m:=chr(ord(‘A’)+ch-10);

Else

Writeln(‘введите число от 0 до 15 ');

End;

Writeln(‘m= ‘,m);

Readln;

End.

ch

0..9

10..15

n:= chr(Ord('0')+Ch )

writeln

n:= chr(Ord('A') + Ch - 10)

  1. Какое значение будет иметь переменная z после выполнения операторов:

Z:= 0;

if x > 0 then if y > 0 then z:= 1 else z:= 2;

при x = y = 1; x = 1,y = -1;x = -1,y = 1.

X=1, y=1, => z=1

X=1, y=-1 => z=2

X=-1, y=1 => z=0

Л и

X>0

Z:=0

Л и

y>0

z := 2

z := 1