решить задачи в паскале 8 класс, приведен пример решения

yubloh yubloh    1   07.05.2020 21:17    13

Ответы
Hjlüüä Hjlüüä  24.08.2020 14:12

Задача 10.

var

 flag, a: integer;

 n: longint;

begin

 Write('n -> '); Readln(n);

 flag := 0;

 

 while (n <> 0) do

 begin

   a := n mod 10;

   if (a = 3) then flag := 1;

   n := n div 10;

 end;

 

 if (flag = 1) then Writeln('Цифра 3 есть в записи числа')

 else Writeln('Цифры 3 не встречается в записи числа');

 Readln;

end.

Задача 11.

var

 a, flag_2, flag_5: integer;

 n: longint;

begin

 Write('n -> ');

 Readln(n);

 

 flag_2 := 0;

 flag_5 := 0;

 repeat

   a := n mod 10;

   

   if (a = 2) then flag_2 := 1

   else if (a = 5) then flag_5 := 1;

   

   n := n div 10;

 until n = 0;  

 

 if (flag_2 = 1) and (flag_5 = 1) then Writeln('Цифры 2 и 5 есть в записи числа')

 else if (flag_2 = 1) and (flag_5 = 0) then Writeln('В записи числа присутствует цифра 2, но отсутствует цифра  5')

 else if (flag_2 = 0) and (flag_5 = 1) then Writeln('В записи числа присутствует цифра 5, но отсутствует цифра  2')

 else Writeln('Цифры 2 и 5 не встречаются в записи числа');

 Readln;

end.

Задача 13.

var

 a, k, i: integer;

 n: longint;

begin

 write('n -> ');

 Readln(n);

 Write('k -> ');

 Readln(k);

    i := 0;

 repeat

   a := n mod 10;

   if a = 5 then i := i + 1;

   n := n div 10;  

 until n = 0;

 

 if (i > k) then Writeln('Не верно')

 else Writeln('Верно');

 Readln;

end.

Задача 14.

var

 a, k_0, k_9: integer;

 n: longint;

begin

 write('n -> ');

 Readln(n);

 

 k_0 := 0;

 k_9 := 0;

 repeat

   a := n mod 10;

   if a = 0 then k_0 := k_0 + 1

   else if a = 9 then k_9 := k_9 + 1;

   n := n div 10;  

 until n = 0;

 if (k_0 > k_9) then Writeln('Нолей больше')

 else if (k_9 > k_0) then Writeln('Девяток больше')

 else if (k_9 = 0) and (k_0 = 0) then Writeln('В числе отсутствуют 0 и 9')

 else Writeln('Их одинаковое количество');

 Readln;

end.

Задача 15.

var

 min, a: integer;

 n: longint;

begin

 write('n -> ');

 Readln(n);

 min:=10;

 while n <> 0 do

   begin

   a := n mod 10;

   if a < min then min := a;

   n := n div 10;  

 end;

 Writeln('Минимальная цифра ', min);

 Readln;

end.

Задача 16.

var

 first_digit, last_digit, k: integer;

 n: longint;

begin

 write('n -> ');

 Readln(n);

 

 k := 1;

 // найдём разряд последней цифры в числе

 while n div k >= 10 do

 begin

   k := k * 10

 end;

 

 // первая цифра

 first_digit := n mod 10;

 // последняя цифра

 last_digit := n div k;

 

 // если первая и последняя цифра числа равны то нет необходимости менять первую и последнюю цифру местами

 if (first_digit = last_digit) then

   Write(n)

 else

   Writeln(first_digit * k + (n mod k div 10) * 10 + last_digit);

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика