Две задачи ** 50 баллов . Pascal ABC Задача первая. Даны цифры двух трёхзначных чисел abc...

0 голосов

Две задачи на 50 баллов . Pascal ABC
Задача первая. Даны цифры двух трёхзначных чисел abc и dxy где a,d - число сотен ;b,x - число десятков ;c,y - число единиц.Получить цифры цисла , которое является суммой двух трехзначных чисел.
Вторая задача.Дано целое число N .Надо определить является ли число палиндромом.


спросил от (84 баллов) в категории Информатика
оставил комментарий от Одаренный (3.8k баллов)

В первом задании входные данные 6 чисел (a, b, c...)?

оставил комментарий от (84 баллов)

Пример

оставил комментарий от (84 баллов)

a=5

оставил комментарий от (84 баллов)

b=4

оставил комментарий от (84 баллов)

c=7

оставил комментарий от Одаренный (3.8k баллов)

Понял

2 Ответы
0 голосов
ответил от Кандидат Наук (34.0k баллов)
 
Лучший ответ

Var
a,b,c,d,x,y:byte;
Begin
Write('a = ');ReadLn(a);
Write('b = ');ReadLn(b);
Write('c = ');ReadLn(c);
Write('d = ');ReadLn(d);
Write('x = ');ReadLn(x);
Write('y = ');ReadLn(y);
WriteLn((a+d)*100+(b+x)*10+c+y);
End.



Var
A,B,C:integer;
Begin
Write('A = ');ReadLn(A);
C:=A;
While C<>0 do
   Begin
   B:=B*10+(C mod 10);
   C:=C div 10;
   End;
if A=B then WriteLn(A - ' палиндром')
else WriteLn(A,' не является палиндромом')
End.

0 голосов
ответил от Одаренный (3.8k баллов)

//PascalABC.Net 3.2
{1}
begin
var n:=100*readinteger('a =')+10*readinteger('b =')+readinteger('c =')+
100*readinteger('d =')+10*readinteger('x =')+readinteger('y =');
var s:=n+'';
Print(s[1], s[2], s[3], n>999? s[4]:' ')
end.

{2}
begin
var s:=readstring('N =');
write (s=s.Inverse? 'Палиндром':'Не палиндром')
end.

оставил комментарий от (84 баллов)

Спасибо огромное . Только вы учтите то что я в 8 классе и такие коды не изучали

оставил комментарий от Одаренный (3.8k баллов)

Ок

оставил комментарий от Кандидат Наук (34.0k баллов)

Вообще, технически второе - не правильно, т.к в задании дано целое число, а не строка

оставил комментарий от Одаренный (3.8k баллов)

Да Вы что?

оставил комментарий от Одаренный (3.8k баллов)

Выходные данные гарантированно корректны, тогда чем Вас не нравится мое решение?

оставил комментарий от (84 баллов)

Всё нравится , спасибо!

оставил комментарий от Одаренный (3.8k баллов)

//FPC 2.6.4
{1}
var
i, c: integer;
a, b: array[1..3] of byte;
begin
writeln ('Цифры первого цисла: ');
for i:=1 to 3 do readln (a[i]);
writeln ('Цифры второго цисла: ');
for i:=1 to 3 do readln (b[i]);
write (a[1]+b[1]+10*(a[2]+b[2])+100*(a[3]+b[3]));
end.

{2}
var
n, n1, n2: integer;
begin
write ('n ='); readln (n);
n1:=n; n2:=0;
repeat
n2:=n mod 10 + n2*10;
n:=n div 10;
until n=0;
if n2=n1 then write ('Полиндром') else write ('Не полиндром');
end.

...