Паскаль программа1)Программа загадывает случайное целое число из отрезка [1;10] и просит...

0 голосов
33 просмотров

Паскаль программа
1)Программа загадывает случайное целое число из отрезка [1;10] и просит пользователя его угадать, вводя варианты с клавиатуры, пока пользователь не угадает число, программа будет ему подсказывать, сообщая больше или меньше число загаданное, чем то, что ввёл пользователь.
2)
Ввести число (меньше 200000). Поменять в числе цифры местами. Например: вводится 23456 получается 65432.


Информатика (16 баллов) | 33 просмотров
Дан 1 ответ
0 голосов

1)
var a, b: integer;
begin
     a := random(9) + 1;
     repeat
          readln(b);
          if (a > b) then writeln('X > ', b);
          if (a < b) then writeln('X < ', b);
     until (a = b);
     writeln('WIN!');
end.

2)
"Лучшее решение - самое простое"
                                          -GLaDOS =)
var a, i: integer;
    b: string;
begin
     readln(a);
     b := inttostr(a);
     for i := length(b) downto 1 do
         write(b[i]);
end.

(16.9k баллов)
0

А зачем во втором задании вообще строку преобразовывать сначала в число а потом опять в строку?

0

Чтобы не заморачиваться с длиной этого числа, просто выводим строку в обратном порядке) Можно было через while, наверное, но так короче)

0

так сразу считать строку, тримнуть ее и потом оборачивать, и никаких интов

0

Ну, про trim в паскале я не знал, а если строку считывать, то под задачу не подходит

0

просто программа получается более универсальной чем планировалось)