• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Вывести последовательность чисел в паскале

  • Автор темы Автор темы amki6
  • Дата начала Дата начала

amki6

Ученик
Регистрация
21 Окт 2012
Сообщения
8
Реакции
0
Баллы
0
Вывести последовательность чисел в паскале

Для заданного х вывести все положительные члены последовательности
x, (x-1)*2, (x-2)*3, (x-3)*4,........
оператора go to и рекурсии
 
Для заданного х вывести все положительные члены последовательности
x, (x-1)*2, (x-2)*3, (x-3)*4,........
оператора go to и рекурсии
Не понял, при чем тут goto и рекурсия, но вот:
Код:
Var
 x:real;
 i:word;
Begin
 Write('x= ');
 Readln(x);
 If x<=0 then
  writeln('No positives!')
 else
  for i:=0 to Trunc(x) do writeln((x-1.0*i)*(i+1):12:3);
 Readln
End.
 
Потому что сказали сделать с помощью них с помощью цикла я уже сделала:
uses CRT;

const
n=1000;
var
i,x,a:integer;

begin
write('Ââîä X: '); readln(x);

if x > 0 then write(x, ' ');

for i:=1 to n do
begin
a:=(x-i)*(i+1);
if a > 0 then write(a, ' ');
end;
end.

Теперь осталась еще двумя способами. а как не знаю(((((помогите пожплуйста
 
Теперь осталась еще двумя способами. а как не знаю(((((помогите пожплуйста
Хорошо, добавил к своей программе (она всё-таки, извините, получше Вашей) рекурсивную процедуру и (превозмогая отвращение) переход по метке. Хотя с моей точки зрения, преподов, которые требуют от студентов программирования с использованием GoTo, нужно гнать в три шеи.
Код:
Var
 x:real;
 i:word;
 Label P;

Procedure Out(k:word);
begin
 If (x-1.0*k)>0 then
  begin
   write((x-1.0*k)*(k+1):0:3,' ');
   Out(k+1);
  end;
end;

Begin
 Write('x= ');
 Readln(x);
 If x<=0 then
  Writeln('No positives!')
 else
  begin
   Writeln;
   Writeln('Cycle:');
   for i:=0 to Trunc(x) do write((x-1.0*i)*(i+1):0:3,' ');
   Writeln;
   Writeln('Recursive:');
   Out(0);
   Writeln;
   Writeln('Lable:');
   i:=0;
   P: write((x-1.0*i)*(i+1):0:3,' ');
   i:=i+1;
   if (x-1.0*i)>0 then GoTo P;
  end;
 Readln
End.
 
Спасибо большое!
 
Назад
Сверху