Другие языки программирования и технологии

Информатика. Turbo Pascal.

Если n - четное, нужно выдать на экран четную последовательность. Т. е.: 2, 4, 6,..,n. Если n - нечетное, нужно выдать на экран нечетную последовательность. Т. е.: 1, 3, 5,..,n. И еще, последовательность должна остановиться на заданном числе n. Пример: n=4 => 2, 4 n=13 => 1, 3, 5, 7, 9, 11, 13 Абсолютно все числа последовательности должны выводиться на экран. НО: Вся загвоздка в том, что цикл использовать нельзя (тогда бы всё сама решила). Программу нужно написать с помощью операторов условий (ну и ввод-вывод, и прочее нужное).
n придется ограничить сверху:
Program Tanako;
Var i, n: Integer;
Begin
Write ("Введите n");
Readln (n);
If odd (n) than i:=1 else i:=2;

if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then
begin
Write(i,',');i:=i+2;
if (i < n) then Write('Задолбали извращенцы. допишите сами дальше свои if then до нужного n ')
end;
end;
end;
end;
end;
end;
End.
Виктор Смирнов
Виктор Смирнов
13 991
Лучший ответ
Нельзя цикл - используй рекурсию, фигли:

procedure Printn(k,n);
begin
if k>n then
exit;
Writeln(k);
Printn(k+2,n);
end;

var n:integer;
begin
readln(n);
Printn(2-n mod 2, n);
readln;
end.

Почему нельзя использовать что-то, чего вы не проходили, что за дурацкие ограничения? ? Есть условие задачи, есть решение, которое ему удовлетворяет - все, дело сделано.
С помощью одних операторов условия эту задачу не сделать, во всяком случае - для больших Н.
Виталий Д
Виталий Д
67 711
Если цикл нельзя использовать тогда задачу можно решить, например, с помощью оператора Go to.

Program Tanako;
Var i, n: Integer;
Begin
Write ("Введите n");
Readln (n);
If odd (n) than i:=1 else i:=2;
1: Write (i);
i:=i+2;
If i < n than Go to 1
End.
if else
Рекурсией =)