Предмет: Информатика,
автор: echelon6477
Напишите, пожалуйста, программы (паскаль).
1. Ввести два целых числа, если первое число больше второго, то посчитать сумму этих чисел, иначе прибавить ко второму числу 10.
2. Напишите программу, которая по координатам (номеру столбца и номеру строки) двух клеток шахматной доски определяет, одного они цвета или разного
Ответы
Автор ответа:
0
1.
var a,b:integer;
begin
readln(a,b);
if a>b then a:=a+b
else b:=b+10;
print ('a =',a,'b =',b);
end.
2.
var
a,a1,b,b1,x,y:integer;
begin
readln(a,a1,b,b1);
x:=0;
y:=0;
if ((a mod 2=0)and(a1 mod 2=0) or (a mod 2=1) and (a1 mod 2=1)) then
x:=1
else
x:=0;
if ((b mod 2=1)and(b1 mod 2=0) or (b mod 2=0) and (b1 mod 2=1)) then
y:=1
else y:=0;
if x<>y then write('Да') else write ('Нет');
end.
var a,b:integer;
begin
readln(a,b);
if a>b then a:=a+b
else b:=b+10;
print ('a =',a,'b =',b);
end.
2.
var
a,a1,b,b1,x,y:integer;
begin
readln(a,a1,b,b1);
x:=0;
y:=0;
if ((a mod 2=0)and(a1 mod 2=0) or (a mod 2=1) and (a1 mod 2=1)) then
x:=1
else
x:=0;
if ((b mod 2=1)and(b1 mod 2=0) or (b mod 2=0) and (b1 mod 2=1)) then
y:=1
else y:=0;
if x<>y then write('Да') else write ('Нет');
end.
Автор ответа:
0
Да... вторую задачу Вы намудрили... достаточно единственной проверки if ((a+a1) mod 2)=((b+b1) mod 2) then ... else ...
Автор ответа:
0
Т.е. вся Ваша вторая программа - это всего лишь
var
a,a1,b,b1:integer;
begin
Read(a,a1,b,b1);
if ((a+a1) mod 2)=((b+b1) mod 2) then Write('Да')
else Write ('Нет')
end.
var
a,a1,b,b1:integer;
begin
Read(a,a1,b,b1);
if ((a+a1) mod 2)=((b+b1) mod 2) then Write('Да')
else Write ('Нет')
end.
Автор ответа:
0
да,да знаю. Я уже потом понял, что можно и так сделать.
Похожие вопросы
Предмет: Английский язык,
автор: zuevandrei293
Предмет: Алгебра,
автор: angelinarusnak2
Предмет: Русский язык,
автор: aleshakuznecov0603
Предмет: Физика,
автор: вика022
Предмет: Алгебра,
автор: igrocc