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

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

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<br>
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.


Информатика (59 баллов) | 55 просмотров
Дан 1 ответ
0 голосов

Эта программа не делает ничего. Абсолютно. Зависает навсегда. В функции есть строка whle x<=x, что позволяет ей крутиться вечно. Я думаю, что то пошло не так, и раз уж так и произошло, то по сути, largest power - это степень не превышающего наименьшего числа, то есть, наибольшая степень, в которую можно возвести число, что бы итог был меньше, чем другое число. И тут нужно лишь заменить while x<=x на while p<=x и вот, она на тесте 100 3 даст ответ 4, так как 3*3*3*3=27*3<100, а вот 3*3*3*3*3>100. Но это лишь предположения. А так ваша программа выводит просьбу о введении числа, считывает их, ставит на вывод "n=" и уходит вдаль, ожидая, пока число будет больше самого себя

(1.5k баллов)
0

Вы не поверите эту задачу дали на таблицу трассировки в колледже на алгоримизации. шок но я насребла какую то и прокатило