Кубы чисел от A до B | Язык Паскаль
Pascal. Основы программирования Сложные Средние Простые задачи

Кубы чисел от A до B

Вывести на экран кубы чисел от A до B, которые вводит пользователь.

Для решения задачи используется цикл for.

Программа на языке Паскаль:

var
    a, b, i: integer;

begin
    write('A: '); readln(a);
    write('B: '); readln(b);

    for i := a to b do 
        writeln(i, ' в кубе = ', i * i * i);

end.

Пример выполнения программы:


A: 2
B: 10
2 в кубе = 8
3 в кубе = 27
4 в кубе = 64
5 в кубе = 125
6 в кубе = 216
7 в кубе = 343
8 в кубе = 512
9 в кубе = 729
10 в кубе = 1000

Пользователь может ввести значения так, что a будет больше b. В таком случае цикл for не выполнится. Мы можем использовать оператор ветвления if-else для обработки ситуаций, когда значение b меньше, чем a:

var
    a, b, i: integer;

begin
    write('A: '); readln(a);
    write('B: '); readln(b);

    if a < b then
        for i := a to b do 
            writeln(i, ' в кубе = ', i * i * i)
    else 
        for i := a downto b do 
            writeln(i, ' в кубе = ', i * i * i);

end.

Примеры выполнения:

A: 5
B: 1
5 в кубе = 125
4 в кубе = 64
3 в кубе = 27
2 в кубе = 8
1 в кубе = 1

A: 1
B: 5
1 в кубе = 1
2 в кубе = 8
3 в кубе = 27
4 в кубе = 64
5 в кубе = 125

Оператор if можно использовать для обмена значений переменных до цикла:

var
    a, b, i: integer;

begin
    write('A: '); readln(a);
    write('B: '); readln(b);

    if a > b then begin
        i := a;
        a := b;
        b := i;
    end;
    
    for i := a to b do 
        writeln(i, ' в кубе = ', i * i * i)

end.

Пример выполнения программы:

A: 6
B: 3
3 в кубе = 27
4 в кубе = 64
5 в кубе = 125
6 в кубе = 216

Задачу можно решить в том числе с помощью цикла while языка программирования Pascal:

var
    a, b: integer;

begin
    write('A: '); readln(a);
    write('B: '); readln(b);
    
    while a <= b do begin
        writeln(a, ' в кубе = ', a * a * a);
        a := a + 1;
    end;

end.

Вместо выражения a := a + 1 можно использовать вызов инкрементирующей (увеличивающей на единицу) переменную процедуры: inc(a)