Задать вопрос
20 мая, 14:54

2. Определить, что является результатом работы программы при = 100, = 3

Program Z2;

Function largest_power (x, y: longint) : word;

Var n: word;

p: longint;

Begin

p:=y; n:=0;

While x<=x do

Begin

p:=y*p;

inc (n) ;

End;

largest_power:=n;

End;

Begin

Writeln ('Введите значения a и b') ; Readln (a, b) ;

Writeln ('n=', largest_power (a, b)) ;

End.

+5
Ответы (1)
  1. 20 мая, 17:24
    0
    Эта программа не делает ничего. Абсолютно. Зависает навсегда. В функции есть строка whle x<=x, что позволяет ей крутиться вечно. Я думаю, что то пошло не так, и раз уж так и произошло, то по сути, largest power - это степень не превышающего наименьшего числа, то есть, наибольшая степень, в которую можно возвести число, что бы итог был меньше, чем другое число. И тут нужно лишь заменить while x<=x на while p<=x и вот, она на тесте 100 3 даст ответ 4, так как 3*3*3*3=27*3100. Но это лишь предположения. А так ваша программа выводит просьбу о введении числа, считывает их, ставит на вывод "n=" и уходит вдаль, ожидая, пока число будет больше самого себя
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «2. Определить, что является результатом работы программы при = 100, = 3 Program Z2; Function largest_power (x, y: longint) : word; Var n: ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы
Похожие вопросы по информатике
Почему выводится ноль в программе? program pr1; var a: real; n: longint; function power (a:real; n:longint) : real; begin var i: integer; var anew: real; anew:=a; for i: = 2 to n do begin a:=a*anew; end; end; begin readln (a, n) ;
Ответы (1)
Укажите области видимости в программе: Program P; Var x: integer; Procedure P1; Var y: integer; Begin P2; End; Procedure P2; Var z: integer; Begin {Тело процедуры} End; Procedure P3; Var m: integer; Begin P1; End; Begin {Тело основной программы}P3;
Ответы (1)
Объясните строчку (c:=10*c+a mod 10; a : = a div 10;) program pr36; function qwer (var a, b: integer) : integer; var c: integer; begin c:=0; while a > 0 do begin c:=10*c+a mod 10; a : = a div 10; end; qwer: = c; end; var a, b: integer;
Ответы (1)
Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 21. Для Вашего удобства программа приведена на пяти языках программирования.
Ответы (2)
1) Определите, что будет напечатано в результате работы следующего фрагмента программы: var n, s: integer; begin n : = 3; s : = 0; while n < = 26 do begin s : = s + 6; n : = n + 1 end; write (s) end.
Ответы (2)