Задачи ** цикл с предисловие While

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

Задачи на цикл с предисловие While


image

Информатика (26 баллов) | 64 просмотров
Дан 1 ответ
0 голосов
//PascalABC.NET
//Версия 3.3, сборка 1611 (06.01.2018)

1)
begin
  var a:=ReadInteger('Число -> ');
  var b:integer;
  while a>0 do 
  begin 
    b:=b*10+a mod 10; 
    a:=a div 10; 
  end;
  writeln(b);
end.
2)
begin
   var a:=ReadInteger('Число -> ');
   var s:integer;
   while a>0 do 
   begin
     s+=1;
     a:=a div 10;
   end;
   writeln('Количество:',s);
end.
3)
begin
   var a:=ReadInteger('Число -> ');
   var s:=0;
   var p:=1;
   while a>0 do 
   begin
     s+=a mod 10;
     p*=a mod 10;
     a:=a div 10;
   end;
   writeln('Сумма:',s);
   writeln('Произведение:',p);
end.
4)
begin
   var a:=ReadInteger('Число -> ');
   var b:=ReadInteger('Цифра->');
   var p:=0;
   while a>0 do 
   begin
     if b=a mod 10 then p+=1;
     a:=a div 10;
   end;
   writeln('Количество',b ,':',p);
end.



(5.8k баллов)
0

5 написал с помощью строк, тк с while там ад

0

begin
var a:=ReadString('Ведите число->');
var b,d:string;
var c:=a.Length;
b:=copy(a,0,a.Length div 2);
if c mod 2=0 then d:=copy(a,c div 2+1,c-c div 2) else d:=copy(a,c div 2+2,c-c div 2+1);
If b=ReverseString(d) then Println(a,'-симетричное') else Println(a,'-не симетричное');
end.