
УП9
.docxГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
Старший преподаватель |
|
|
|
Е.П. Виноградова |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ПРАКТИЧЕСКОЙ РАБОТЕ №9 |
ЗАДАЧА ПРО КУБИК |
по курсу: УЧЕБНАЯ ПРАКТИКА |
|
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. № |
4116 |
|
|
|
|
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург 2022
Задача: Андрей, Борис, Василий, Григорий и Денис бросают по одному кубику, на каждом из которых случайно выпадают значения от 1 до 6. Реализовать функцию, которая возвращает первые буквы имен двух участников, сумма на кубиках у которых наибольшая. Вывести также значения каждого броска. В случае нескольких вариантов вывести все возможные комбинации.
Решение:
Решение задачи на языке программирования Pascal:
var a,b,v,g,d,a1, b1, v1,g1 , d1,max1,max2,i:integer;
begin
max2:=1;
randomize;
a:=random(6)+1;
b:=random(6)+1;
v:=random(6)+1;
g:=random(6)+1;
d:=random(6)+1;
a1:=a;b1:=b; v1:=v; g1:=g;d1:=d;
if ((a>=b) and (a>=v) and ( a>=g) and (a>=d)) then
begin
max1:=a;
a1:=0;
end;
if ((b>=a) and (b>=v) and ( b>=g) and (b>=d)) then
begin
max1:=b;
if a1<> 0 then b1:=0;
end;
if ((v>=a) and (v>=b) and ( v>=g) and (v>=d)) then
begin
max1:=v;
if (a1<>0) and (b1<>0) then v1:=0;
end;
if ((g>=a) and (g>=b) and ( g>=v) and (g>=d)) then
begin
max1:=g;
if (a1<>0) and (b1<>0) and (v1<>0) then
g1:=0;
end;
if ((d>=a) and (d>=b) and ( d>=v) and (d>=g)) then
begin
max1:=d;
if (a1<>0) and (b1<>0) and (v1<>0) and (g1<>0) then
d1:=0;
end;
if (a1>=b1) and (a1>=v1) and ( a1>=g1) and (a1>=d1) then
max2:=a;
if (b1>=a1) and (b1>=v1) and ( b1>=g1) and (b1>=d1) then
max2:=b1;
if (v1>=a1) and (v1>=b1) and ( v1>=g1) and (v1>=d1) then
max2:=v1;
if (g1>=a1) and (g1>=b1) and ( g1>=v1) and (g1>=d1) then
max2:=g1;
if (d1>=a1) and (d1>=b1) and ( d1>=v1) and (d1>=g1) then
max2:=d1;
writeln (a,' ',b,' ',v,' ',g,' ',d);
if ((max1=a)and (max2=b1))or ((max1=b)and (max2=a1)) then
writeln (' A ',' Б ' );
if ((max1=a)and (max2=v1))or ((max1=v)and (max2=a1)) then
writeln (' A ',' В' );
if ((max1=a)and (max2=g1))or ((max1=g)and (max2=a1)) then
writeln (' A ',' Г ' );
if ((max1=a)and (max2=d1))or ((max1=d)and (max2=a1)) then
writeln (' A ',' Д ' );
if ((max1=b)and (max2=v1))or ((max1=v)and (max2=b1)) then
writeln (' Б ',' В ' );
if ((max1=b)and (max2=g1))or ((max1=g)and (max2=b1)) then
writeln (' Б ',' Г ' );
if ((max1=b)and (max2=d1))or ((max1=d)and (max2=b1)) then
writeln (' Б ',' Д ' );
if ((max1=v)and (max2=g1))or ((max1=g)and (max2=v1)) then
writeln (' В ',' Г ' );
if ((max1=v)and (max2=d1))or ((max1=d)and (max2=v1)) then
writeln (' В ',' Д ' );
if ((max1=g)and (max2=d1))or ((max1=d)and (max2=g1)) then
writeln (' Г ',' Д ' );
end.
снимки результатов работы программы при разных бросках кубика :
благодаря правильно написанной программе, мы видим все возможные комбинации.
Вывод: языки программирования, такие как Pascal, позволяют решать математические и прикладные задачи.