Помощь - Поиск - Пользователи - Календарь
Полная версия: Циклы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Sir-j
Задача N1:
Дано целое число N и набор из N вещественных чисел. Если данный набор образует убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность.

Задача N2:
Дано целое число N(>1). Вывести наибольшее целое K, при котором выполняется неравенство exp(x*ln(3))<N, и само значение exp(x*ln(3)).

P.S. Если можно распишите полностью, как делается задача.
volvo
Цитата(Sir-j @ 25.10.2005 13:01)
Проблема с циклами, не могу разобраться!
В чем именно?
Цитата(Sir-j @ 25.10.2005 13:01)
Если данный набор образует убывающую последовательность, то вывести 0; в противном случае вывести номер первого числа, нарушающего закономерность
Что такое убывающая последовательность? Это та последовательность, у которой
a[i] < a[i - 1]... Вот и пользуйся While-ом:
i := 1; z_a := true;
while (i <= n) and z_a do begin
  z_a := a[i] < a[i - 1];
  if z_a then inc(i);
end;
if z_a then writeln('0') else writeln('i = ', i);


Цитата(Sir-j @ 25.10.2005 13:01)
Дано целое число N(>1). Вывести наибольшее целое K, при котором выполняется неравенство exp(x*ln(3))<N, и само значение exp(x*ln(3)).
Ну, и где ты здесь видел K в неравенстве?
Guest
C теорией я знаком, но как это пременить на практике!!
во 2 задаче извеняюсь К=Х unsure.gif
Все ломаю голову: "...В противном случае ввывести номер первого числа, нарушающего закономерноcть..." мне было бы приятно увидеть всю задачу целиком, посмотреть в чем я ошибся!!! huh.gif
volvo
Цитата(Guest @ 25.10.2005 14:46)
C теорией я знаком, но как это пременить на практике!!
С теорией ??? Ты основной кусок программы там случайно не заметил? Кстати, как раз и делающий то, над чем ты "ломаешь голову"... А целиком задачи писать здесь не принято...

Если уж ты и ответы через строчку читаешь... <_<
Sir-j
пожелел бы первокурсника, покажи всю задачу!!!! :molitva:
я пока что еще плохо знаю программирование, но я стараюсь понять!!!!
но что-то не получается !! PLIZZZZZZ :molitva:
klem4
Ну во первых первую задачу Volvo тебе уже решил, жаль что ты ничего не понял, вот тебе мое решение, немного другое, но мне больше нравится

uses crt;
var
   x : array[1..30] of integer;
   i,n : integer;

begin

   clrscr;

   write('n='); readln(n);

   for i := 1 to n do readln(x[i]);

   i := 1;

   while (i<=n-1) and (x[i]>x[succ(i)]) do inc(i);

   writeln;

   write('Result : ');

   if i=n then writeln(0)
    else writeln(succ(i));

   readln;

end.


а вторая вроде вот так :

uses crt;
var
   x,n : real;

begin

   clrscr;

   write('N='); readln(n);

   x := (ln(n)/ln(3))-1;

   writeln('x=', x:3:1);

   writeln(exp(x*ln(3)):3 :1);


   readln;

end.

Sir-j
Друг, спасибо!! я не забуду помощь!!!! smile.gif
volvo
Цитата(klem4 @ 25.10.2005 15:57)
а вторая вроде вот так :

blink.gif
Цитата(Sir-j @ 25.10.2005 13:01)
Вывести наибольшее целое K, при котором выполняется неравенство exp(x*ln(3))<N, и само значение exp(x*ln(3)).


Все-таки, без Trunc не обойтись smile.gif

Добавлено:
А еще лучше - вот так (с циклом) :
uses crt;
var
   x, n : integer;
begin

   clrscr;

   write('N='); readln(n);
   // n := 28;

   x := 0;
   while 0.25 + exp(x*ln(3)) < n do inc(x);
   dec(x);

   writeln('x=', x:3);
   writeln(exp(x*ln(3)):3 :1, ' < ', n);
   readln;
end.
Sir-j
Как решить первую задачу не употребляя массива?? huh.gif
volvo
Цитата
Как решить первую задачу не употребляя массива?
Задания корректные давать. Я в задании не вижу запрета использовать массив... Если его все-таки запрещено использовать, то в следующий раз говори заранее...
uses crt;
var
   x, x_pred: integer;
   i, n : integer;
   z_a: boolean;

begin
   clrscr;

   write('n='); readln(n);
   i := 1; z_a := true;
   readln(x_pred);

   while (i <= n) and z_a do begin
     readln(x);
     z_a := x{a[i]} < x_pred{a[i - 1]};
     if z_a then inc(i);

     x_pred := x;
   end;
   if z_a then writeln('0: Ok') else writeln('i = ', succ(i));

   readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.