В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
amir139
amir139
12.04.2022 01:57 •  Информатика

Уважаемые, что тут не так, выдает ощибку в Python, кто знает ответьте

Показать ответ
Ответ:
БлинчикТян
БлинчикТян
16.04.2022 21:17
Program  Kasyanova98_1;
uses crt;
var n,nt,p:integer;
  begin
  writeln('***   Alphaues is thinking...   ***');
  write('Ok, введите натуральное число N = ');
  readln(n);
  nt:=n;
  while nt>=10 do
    begin
      p:=nt;
      nt:= nt div 10;
    end;
  writeln('Cумма первых двух цифр числа ',n,' равна ',(p div 10)+(p mod 10));
  writeln('Произведение первых двух цифр числа ',n,' равно ',(p div 10)*(p mod 10));
end.

Program  Kasyanova98_2;
uses crt;
var n,nt,sum,kw,temp:integer;
  begin
  writeln('***   Alphaues is thinking...   ***');
  write('Ok, введите натуральное число N = ');
  readln(n);
  nt:=n;
  sum:=0;
  kw:=1;
  while nt>=1 do
    begin
    temp:=nt mod 10;
    sum := sum + temp;
    kw:=kw * temp;
    nt := nt div 10;
  end;
  if kw*kw=sum*sum*sum then
      writeln('Квадрат произведения цифр числа ',n,' равняется кубу суммы его цифр')
    else
writeln('Квадрат произведения цифр числа ',n,' НЕ равняется кубу суммы его цифр');
end.

Program Kasyanova98_3.1;
uses crt;
const n=10;
var
  x,y:integer;
begin
  writeln('');
  writeln('*                   ТАБЛИЦА УМНОЖЕНИЯ                  *');
  writeln('');
  write('*    * ');
  for y:=1 to n do
    begin
      write(y:2);
      if y<n then write(' | ')
      else      writeln(' * ');
    end;
  writeln('');
  for x:=1 to n do
    begin
      write('* ',x:2, ' * ');
      for y:=1 to n do
         begin
          write(x*y:2);
          if y<n then write(' | ')
        end;
        if x*y<100 then writeln(' * ')
                   else writeln('* ');
        if x<10 then writeln('++')
                else writeln('');
    end;
end.

Program Kasyanova98_3.2;
uses crt;
const n=10;
var
  x,y:integer;
begin
  writeln('');
  writeln('*                   ТАБЛИЦА СЛОЖЕНИЯ                   *');
  writeln('');
  write('*    * ');
  for y:=1 to n do
    begin
      write(y:2);
      if y<n then write(' | ')
      else      writeln(' * ');
    end;
  writeln('');
  for x:=1 to n do
    begin
      write('* ',x:2, ' * ');
      for y:=1 to n do
         begin
          write(x+y:2);
          if y<n then write(' | ')
        end;
        if x+y<100 then writeln(' * ')
                   else writeln('* ');
        if x<10 then writeln('++')
                else writeln('');
    end;
end.
0,0(0 оценок)
Ответ:
KaPitanKartoIIIka
KaPitanKartoIIIka
24.09.2021 07:32
Сделать эту задачу можно двумя Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).

Var n:longint;

Function MinDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]<a then a:=s[i];
 val(a,n,c);
 MinDigit:=n;
end;

Function MaxDigit(n:longint):integer;
var s,a:string; c,i:integer;
begin
 str(n,s);
 a:=s[1];
 for i:=2 to length(s) do
   if s[i]>a then a:=s[i];
 val(a,n,c);
 MaxDigit:=n;
end;

Begin
 readln(n);
 writeln(MinDigit(n),' ',MaxDigit(n));
End.

По факту переменную "c" можно убрать из функций и использовать вместо нее уже не нужную в конце "i", таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота