Показать сообщение отдельно
Старый 15.11.2009, 10:30   #182 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,809
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 112676
По умолчанию

Цитата:
Сообщение от ДенисКО Посмотреть сообщение
Подскажите пожалуйста с программой:
Найти первую степень числа 3, превышающую данное целое число a. Язык Pascal.

program stepen;
var a:LongInt;y:real;
FUNCTION x2np(x:extended;n:integer) extended;
begin
writeln('vvedite 4islo a');
readln (a);
y:=x2np(3,n);
if y>a then
writeln ('n=',n);
readln (n);
end.

Проверьте пожалуйста и укажите на ошибки
Пожалуйста. Во-первых, отсутствует сама функция x2np (есть только заголовок), во-вторых, нет цикла поиска нужного значения степени, в третьих, перепутаны глобальные параметры с параметрами функции. Так что:

Код:
program stepen;
var 
 i:LongInt;
 a:extended;

FUNCTION x2np(x:extended;n:integer):extended;
Var i:INTEGER;
    y:Extended;
BEGIN
  IF n=0 THEN x2np:=1 ELSE
  IF n=1 THEN x2np:=x ELSE
  BEGIN
    y:=x;
    FOR i:=2 TO n DO y:=y*x;
    x2np:=y;
  END;
END;


begin
 write('vvedite 4islo a ');
 readln (a);
 i:=0;
 REPEAT
   INC(i);
 UNTIL x2np(3,i)>a;
 writeln ('n= ',i);
 readln;
end.
Vladimir_S вне форума  
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070