Информатика 8 класс, решения 1. Дано четырёхзначное число. Найти число, полученное при прочтении его цифр справа налево. Например, дано a=4579, получим b=9754. var a, a1, a2, a3, a4, b: integer; begin read(a); a1:=a div 1000; a2:=(a div 100) mod 10; a3:=(a div 10) mod 10; a4:=a mod 10; b:=a4*1000+a3*100+a2*10+a1; writeln(b); end. 2. Дано натуральное число n (9<n<1000). Найти число единиц в нём. Для решения данной задачи Вам необходимо познакомиться с оператором выбора. Этот оператор (команда) необходим в тех случаях, когда нужно сравнить переменную с конкретным значением или другой переменной. Например, нам нужно в данной задаче сравнить каждую цифру числа с единицей: if a1=1 then k:=k+1; После if пишут условие, а после then – команду, которую нужно выполнить после выполнения этого условия. Если условие не выполнится, то никаких действий выполнено не буде, и программа будет работать дальше. var a, a1, a2, a3, a4, k: integer; begin read(a); a1:=a div 1000; a2:=(a div 100) mod 10; a3:=(a div 10) mod 10; a4:=a mod 10; k:=0; if a1=1 then k:=k+1; if a2=1 then k:=k+1; if a3=1 then k:=k+1; if a4=1 then k:=k+1; writeln(k); end. Синица А.А., гимназия №1 имени К.Калиновского г.Свислочь Информатика 3. Дано натуральное число n (9<n<10000). Найти число цифр два в нём. Данная задача похожа на предыдущую. Отличие заключается в том, что дано пятизначное число. var a, a1, a2, a3, a4, a5, k: longint; begin read(a); a1:=a div 10000; a2:=(a div 1000) mod 10; a3:=(a div 100) mod 10; a4:=(a div 10) mod 10; a5:=a mod 10; k:=0; if a1=2 then k:=k+1; if a2=2 then k:=k+1; if a3=2 then k:=k+1; if a4=2 then k:=k+1; if a4=2 then k:=k+1; writeln(k); end. 4. Дано трёхзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр. var a, a1, a2, a3: longint; begin read(a); a1:=a div 100; a2:=(a div 10) mod 10; a3:=a mod 10; if a*a=a1*a1*a1+a2*a2*a2+a3*a3*a3 then writeln('Да') else writeln('Нет'); end. Примечание: давайте усовершенствуем это решение и попытаемся найти такие числа. Для этого нам понадобится новый оператор – команда повторения. Дело в том, что мы будем искать решение на всём множестве трёхзначных чисел. Для этого нам необходимо перебирать все трёхзначные числа. Применим команду повторения for: for i:=100 to 999 do; var a, a1, a2, a3: longint; begin Синица А.А., гимназия №1 имени К.Калиновского г.Свислочь Информатика for a:=100 to 999 do begin a1:=a div 100; a2:=(a div 10) mod 10; a3:=a mod 10; if a*a=a1*a1*a1+a2*a2*a2+a3*a3*a3 then writeln('a') else writeln('Нет'); end end. При выполнении этой программы вы узнаете: есть ли среди трёхзначных чисел искомые в задаче. Синица А.А., гимназия №1 имени К.Калиновского г.Свислочь