Пример выполнения контрольной работы
1. Примеры выполнения заданий, связанных с написанием программы на алгоритмическом языке Паскаль и составлением схемы алгоритма.
1.1 Ввод и вывод числовых значений
1 группа | 2 группа | 3 группа |
G=10^4 H=-25 | Y=-4,5 Z=42567*10^-2 | Q=4,57*10^-3 R=-56,3 |
uses CRT;
var a:array [1..6] of real;
b:array [1..6] of char;
i:integer;
begin
ClrScr;
b[1]:='G';
b[2]:='H';
b[3]:='Y';
b[4]:='Z';
b[5]:='Q';
B[6]:='R';
writeln('vvedite G v decatichnoj forme');
readln(a[1]);
writeln('vvedite H v decatichnoj forme');
readln(a[2]);
writeln('vvedite Y v decatichnoj forme' );
readln(a[3]);
writeln('vvedite Z v decatichnoj forme');
readln(a[4]);
writeln('vvedite Q v pokazatelnoj forme');
readln(a[5]);
writeln('vvedite R v pokazatelnoj forme');
readln(a[6]);
writeln;
writeln('Resulyatu rabotu');
FOR I:=1 TO 6 DO
begin
if i in [1..4] then
writeln(' ',b[i],' v pokazatelnoj forme ',a[i]:2:4);
if i in [5,6] then
writeln(' ',b[i],' v pokazatelnoj forme ',a[i])
end;
writeln;
end.
Результат работы программы:
1.2 Составить схему алгоритма и программу вычисления значения функции.
Вид функции | Исходные данные | ||
Х | Y | Z | |
-0,643 | -6,324 | - |
uses CRT;
var x:real;
b:real;
y:real;
begin
ClrScr;
writeln('VVedite x');
readln(x);
writeln('vvedite y');
readln(y);
b:= x+(y/(x+(y/(x+y))));
writeln('b=',b:6:3);
writeln;
end.
Выполнение программы:
1.3 Составить схему алгоритма и программу для вычисления значения функций при заданных условиях.
Вид функции | Исходные данные | ||
Х | Y | Z | |
3,75 0,22 | -6,72 | 1,05 |
var x1,x2,a1,a2,b1,b2,z,y:real;
i,n:integer;
begin
writeln('vedite x1 ');
readln(x1);
writeln('vedite x2 ');
readln(x2);
writeln('vedite z');
readln(z);
writeln('vedite y');
readln(y);
if (x1>=z) or (x2>=z) then
begin
a1:= (x1+y)/(5+sqr(sin(z)));
a2:= (x2+y)/(5+sqr(sin(z)));
writeln ( 'a1=',a1:5:2);
writeln ( 'a2=',a2:5:2);
end;
if (x1<z) or (x2<z) then
begin
b1:=sqrt(abs(y+sqr(sin(z)/cos(z))));
writeln ( 'b=',b1:5:2);
end;
writeln;
readln
end.
Выполнение программы:
1.4 Вычислить таблицу значений функции для значений аргумента в заданном интервале с заданным шагом.
Вид функции | Исходные данные | ||||
a | b | xn | xk | Dx | |
8,24 | - | 14,9 | 24,8 | 1,5 |
Uses crt;
var x,x1,x2,dx,a,y:real;
i,n:integer;
begin
clrscr;
writeln('vedite x1 ');
readln(x1);
writeln('vedite x2 ');
readln(x2);
writeln('vedite dx');
readln(dx);
writeln('vedite a');
readln(a);
while x1<=x2 do begin
y:=sqr(ln(a+x1))/sqr(a+x1);
writeln ( 'y = ',y:5:5);
x1:=x1+dx;
end;{while}
writeln;
readln
end.
Выполнение программы:
1.5 Вычислить таблицу значений функции для значений аргумента, который представляет собой массив.
Вид функции | Исходные данные | |||||
a | b | x1 | x2 | x3 | x4 | |
1,38 | -1,26 | 70,1 | 96,3 | 17,8 | 20,65 |
const x:array[1..4]of real=(70.1,96.3,17.8,20.65);
var i:integer;
y,a,b:real;
begin
a:=1.38; b:=-1.26;
writeln(' x y');
for i:=1 to 4 do
begin
y:=a*sqr(ln(x))/(b+sqrt(x));
writeln(x[i]:5:2,y:7:2);
end;
readln;
end.
Выполнение программы:
1.6 Для совокупности чисел Х(0.01;-27.3;0;125.27;-371.45;0;12;-5;-172.3;0.05;17.1;49.5;-0.01) при А=-5. Вычислить сумму элементов, меньших А.
uses crt;
const x: array [1..13] of real = (0.01,-27.3,0,125.27,371.45,0,12,-5,-172.3,0.05,17.1,49.5,-0.01);
A = -5;
Var n,i, k:integer;
sum:real;
begin
clrscr; writeln('Masiv X'); sum:=0;
for i:=1 to 13 do begin writeln(x[i]:2:2);
if x[i]<A then sum:=sum+x[i];
end;
writeln; write('Sum = ',sum:4:3); writeln
end.
Выполнение программы:
1.7 Для совокупности чисел Х(0.01;-27.3;0;125.27;-371.45;0;12;-5;-172.3;0.05;17.1;49.5;-0.01) при А=-5. Найти номер элемента с максимальным значением
const x:array[1..13]of real=(0.01,-27.3,0,125.27,-371.45,0,12,-5,
-172.3,0.05,-17.1,49.5,-0.01);
A=-5;
var i:integer;
max:real;
begin
max:=x[1];
for i:=2 to 13 do
if x[i]>max then max:=x[i];
writeln('Max=',max:3:2);
readln;
end.
1.8 Обработка двумерного массива:
uses CRT;
type q=array [1..3] of integer;
var
Q3: array [1..5] of q;
j,i,k,temp:integer;
begin
ClrScr; writeln('Vvedite masiv Q3 5 na 3');
for i:=1 to 5 do
for j:=1 to 3 do read(Q3[i,j]);
for j:=1 to 3 do begin
for i:=1 to 4 do
for k:=1 to 5-i do begin
if q3[k,j]<q3[k+1,j] then begin
temp:=q3[k,j];
q3[k,j]:=q3[k+1,j];
q3[k+1,j]:=temp;
end; end; end;
writeln ('Preobrazovanaya matrica Q3:');
for i:=1 to 5 do begin
for j:=1 to 3 do begin write (' ', Q3[i,j]);
end; writeln; end; readln end.
Выполнение программы:
1.9 Организация программ, содержащих функции пользователя.
Вероятности m событий в распределении Пуассона |
uses CRT;
var
A,M,i:integer;
z:real;
function fact(var n:integer):integer;
var temp : integer;
begin
if n>1 then begin
temp:=n-1;
fact:=n*fact(temp);
end
else
fact:=1;
end;
begin
ClrScr;
writeln('vvedite M ' );
readln(M);
writeln('vvedite A ' );
readln(A);
z:=(A*exp(-A*Ln(1.27)))/(fact(M));
writeln('z=',z:6:2);
writeln;
end.
Выполнение программы:
2. Пример ответа на теоретический вопрос.