Задача №1.
Код на языке PascalABC:
program Z1;
uses crt;
var
x,y:real;
begin
writeln('Введите X ');
readln(x);
If x>0 then y:=sqrt(x)
else
y:=sqr(x);
writeln('X= ',x,'Y= ',y);
end.
Задача №2.
program Z2;
uses crt;
var
a,b,a1,b1,r:real;
begin
writeln('Введите 1 число ');
readln(a);
writeln('Введите 2 число ');
readln(b);
a1:=sin(a)/cos(a);
b1:=sin(b)/cos(b);
r:=a1+b1;
writeln('1 число: ',a,' 2 число: ',b,' 3 переменная: ',a1);
writeln(' 4 переменная: ',b1,' Сумма 2 последних переменных: ',r);
end.
Для кодирования фамилии 1 бита мало. Если кодировать факт наличия сдавших сессию, то число студентов может быть любым > 15. Скорее всего, кодируется количество сдавших сессию, и раз Иванов сдал, то количество = 1. Итого студентов 16.
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
function gcd(a,b:integer):integer;
// Нахождение НОД
begin
while b<>0 do
begin
a:=a mod b;
var i:=b; b:=a; a:=i
end;
Result:=a
end;
procedure Shorter(var a,b:integer);
// "сокращатель" дроби
begin
var k:=gcd(a,b);
a:=a div k;
b:=b div k
end;
begin
var a,b:integer;
Writeln('Введите числитель и знаменатель дроби: ');
Read(a,b);
Write(a,'/',b,'='); Shorter(a,b); Writeln(a,'/',b)
end.
<u><em>Тестовое решение:</em></u>
Введите числитель и знаменатель дроби:
25 15
25/15=5/3
123 ответ. Виды алгоритмов: линейный, разветвленный.
Рассматриваем только те строки таблицы истинности, где F =1
x y z F
0 0 0 1 ¬x*¬y*¬z
0 0 1 1 ¬x*¬y*z
0 1 0 1 ¬x*y*¬z
1 0 1 1 x*¬y*z
1 1 0 1 x*y*¬z
-------------------------------------------
¬x*¬y*¬z + ¬x*¬y*z + ¬x*y*¬z + x*¬y*z+x*y*¬z=
=¬x*¬y*(¬z+z) +y¬z*(¬x+x) +x*¬y*z=
=¬x*¬y+y*¬z+x*¬y*z=
=¬y*(¬x+x*z)+y*¬z=
=¬y*(¬x+z) +y*¬z=
=¬y*¬x+¬y*z+y*¬z=
=¬y*¬x+y⊕z
F =¬x*¬y+y*¬z+¬y*z или F=¬x*¬y+y⊕z
-----------------------------------------
проверка
x y z ¬x*¬y y*¬z ¬y*z F
0 0 0 1 0 0 1
0 0 1 1 0 1 1
0 1 0 0 1 0 1
0 1 1 0 0 0 0
1 0 0 0 0 0 0
1 0 1 0 0 1 1
1 1 0 0 1 0 1
1 1 1 0 0 0 0
(полное совпадение значений F cо значениями F в исходной таблице)