Зайцев М. Г. / Отчет по практике 12 задач Зайцев 2 семестр
.docxОтчет по практике№1
Задача№1 Обменять переменные x,y значениями, используя промежуточную переменную.
program PLineDP;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var x,y,t: real;
begin
write('x = '); readln(x);
write('y = '); readln(y);
t:= x;
x:= y;
y:= t;
writeln('x = ',x:6:2);
writeln('y = ',y:6:2);
readln;
end.
Тестовые значения
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
х=1; y=2 |
у=1; x=2
|
|
2 |
х=5; y=7 |
у=5; x=7
|
|
Задача№2 Обменять переменные x,y значениями не используя промежуточную переменную.
program Z2;
{$APPTYPE CONSOLE}
uses
SysUtils;
Var
x,y: real;
begin
write('x = '); readln(x);
write('y = '); readln(y);
x:= x + y;
y:= x - y; x:= x - y writeln('x = ',x:6:2);
writeln('y = ',y:6:2);
readln;
end.
Трассировочная таблица.
|
код |
x |
y |
1 |
x:= x+y |
x1 = x0+ y0 |
y1 = y0 |
2 |
y:= x -y |
x2 = x1 |
y2 = x1+ y1 |
3 |
x:= x -y |
x3 = x2+ y2 |
y3 = y2 |
x3 = x2+ y2
x1 – x1+ y1
y0
y3 = y2
x1 - y1
x0 + y0 - y0
x0
Задача№3 Вычислить значение логарифма по основанию два, используя стандартную
функцию вычисления натурального логарифма (ln).
program z3;
{$APPTYPE CONSOLE}
uses
SysUtils;
var x,y:real;
begin
write('x= ');
readln(x);
y:=ln(x)/ln(2);
writeln('ln(',x:6:2,')=',y);
readln;
end.
Задача№4
Вычислить тангенс угла представленного в радианах, используя стандартные функции вычисления синуса и косинуса (Sin, Cos).
Program z4 ;
{$APPTYPE CONSOLE}
uses
SysUtils,windows;
var x,y:real;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write('x= ');readln (x);
y:=sin(x)/cos(x);
writeln('тангенс: ',y:6:2);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=60 |
Tg=0.32
|
|
2 |
X=50 |
Tg=-0.27
|
|
Задача№5
Вывести на экран монитора цифру 3-го разряда целого числа. Разряды числа пронумерованы справа налево, начиная с единицы.
program z5;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write(‘ввести число, содержащее более 3-х разрядов: ');readln(x);
x:=x div 100;x:=x mod 10;
writeln(' ',x );readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=5489 |
4
|
|
2 |
X=14783 |
7
|
|
Задача№6
Вывести на экран монитора цифру 3-го разряда дробной части действительного числа. Разряды дробной части пронумерованы слева направо, начиная с единицы.
program Z6;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,y:real;t,z:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write('введите дробное число,у которого не менее 3-х знаков после запятой : ‘);
readln(x);
y:=x*1000;z:=trunc(y);t:=z mod 10;
writeln('3-ий разряд: ',t);readln;
end.
Задача№7
Вычислить и вывести на экран сумму разрядов трёхразрядного целого неотрицательного числа.
program Z7;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,m:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write(введите 3-х разрядное целое число: ');
readln(x);
m:=((x div 100)+((x div 10) mod 10)+(x mod 10));
writeln(сумма разрядов: ',m);
readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=535 |
13
|
|
2 |
X=147 |
12
|
|
Задача№8
Вычислить и вывести на экран произведение трёх разрядов дробной части действительного числа. В дроби должно быть не менее 4 разрядов.
program Z8;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,y:real;z,n,k,s:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write (введите дробное число, у которого не менее 4-х разрядов после запятой: ');
readln(x);
s:=1;
y:=x*10;z:=trunc(y);z:=z mod 10;
y:=y*10;n:=trunc(y);n:=n mod 10;
y:=y*10;k:=trunc(y);k:=k mod 10;
s:=k*n*z;
writeln(произведение 3-х разрядов дробной части: ',s);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=4,5268 |
60
|
|
2 |
X=5,22158 |
4
|
|
Задача№9
Вычислить и вывести на экран сумму трёх разрядов дробной части действительного числа. В дроби должно быть не менее 4 разрядов.
program Z9;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,y:real;z,n,k,s:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write (введите дробное число, у которого не меньше 4-х разрядов после запятой: ');
readln(x);
s:=0;
y:=x*10;z:=trunc(y);z:=z mod 10;
y:=y*10;n:=trunc(y);n:=n mod 10;
y:=y*10;k:=trunc(y);k:=k mod 10;
s:=k+n+z;
writeln(сумма 3-х разрядов дробной части: ',s);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=4,5268 |
60
|
|
2 |
X=5,22158 |
4
|
|
Задача№10
Вычислить и вывести на экран произведение разрядов трёхразрядного целого неотрицательного числа.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,m:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write('введите 3-х разрядное целое число: ');readln(x);
m:=1;
m:=((x div 100)*((x div 10) mod 10)*(x mod 10));
writeln(произведение разрядов: ',m);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=256 |
60
|
|
2 |
X=221 |
4
|
|
Задача №11
Дано неотрицательное целое. Из его первых трёх младших разрядов сформировать и вывести на экран число, в котором эти разряды расположены в обратном порядке.
program Z11;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,m,n,k,s:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write(введите число, которое имеет больше 3-х разрядов: ');readln(x);
m:=x mod 10;n:=((x div 10)mod 10);k:=((x div 100)mod 10);s:=m*100+n*10+k;
writeln(' ',s);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=256 |
652
|
|
2 |
X=359 |
953
|
|
Задача№12
program Z12;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var n,t,g:integer; x,m,s:real;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write(введите дробное число ');readln(x);
m:=x*10;n:=trunc(m);
m:=m*10;t:=trunc(m);t:=t mod 10;
m:=m*10;g:=trunc(m);g:=g mod 10;
s:=g*0.1+t*0.01+n*0.001;
writeln(' ',s:6:3);readln;
end.
Задача№13
Сдвинуть циклически значения разрядов целого неотрицательного трёхразрядного числа на одну позицию вправо.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,z,y:integer;
begin
setconsolecp (1251);
setconsoleoutputcp (1251);
write('введите 3-х значное целое число: ');readln(x);
y:=x mod 10;z:=x div 10;x:=y*100+z;
writeln(' ',x);readln;
end.
Тестовая таблица
Номер теста |
Исходные данные |
Ожидаемый результат |
Примечание |
1 |
X=456 |
645
|
|
Задача№14
Сдвинуть циклически значения разрядов целого неотрицательного трёхразрядного числа на одну позицию влево.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
windows;
var x,y,z,t,s:integer;
begin
setconsolecp(1251);
setconsoleoutputcp(1251);
write('введите 3-х разрядное целое число: ');readln(x);
y:=x mod 10;t:=((x div 10)mod 10);z:=((x div 100)mod10);s:=t*100+y*10+z;
writeln(' ',s);readln;
end.