Урок 11

Тема: «Длинные целые числа. Циклы с предусловием»

1.  Длинные целые числа.

Кроме обычных целых чисел, можно использовать так называемые длинные числа, которые могут принимать значения из большего диапазона. Переменные соответствующего типа описываются посредством идентификатора Longint и могут принимать значения в диапазоне от –2 до 2

2.  Цикл с предусловием.

Цикл с предусловием используется тогда, когда число повторений оператора цикла заранее не известно, а задается некоторое условие продолжения цикла.

While <условие> Do <тело цикла>;

Выполнение оператора цикла с предусловием начинается с проверки условия, записываемого после оператора While. Если оно соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т. д. Как только при очередной проверке окажется, что условие не соблюдается, <тело цикла> выполняться не будет.

Примечание

1.  Если <тело цикла> состоит из нескольких операторов, то они объединяются операторными скобками.

2.  В теле цикла обязательно должен быть оператор, влияющий на соблюдение условия, в противном случае произойдет зацикливание.

Пример 1

Подсчитать количество цифр заданного натурального числа n.

Решение

Подсчет количества цифр начнем с последней цифры числа. На очередном шаге цикла увеличим счетчик цифр на единицу, а число уменьшим в 10 раз (тем самым мы избавляемся от последней цифры числа). Далее с получившимся числом проделаем ту же последовательность действий и т. д., пока число не станет равным нулю.

НЕ нашли? Не то? Что вы ищете?

Program Example_1;

Var m, n: Longint;

K: Integer;

Begin

Writeln(‘Введите натуральное число’);

Readln(n); m:=n;

K:=0;

While m<>0 Do

Begin

Inc(k); {k:=K+1;}

m:=m div 10; {выбрасываем последнюю цифру}

End;

Writeln(‘В числе ’, n,’–‘,K,’ цифр’);

Readln;

End.

Пример 2

Дана непустая последовательность натуральных чисел, за которой следует 0. Найти порядковый номер наименьшего элемента последовательности.

Решение

Обозначим через x и i очередной элемент последовательности и его номер; min и k – минимальный элемент последовательности и его номер. Считывание элементов последовательности производится до тех пор, пока не будет введен 0, т. е. пока x<>0. Начальное значение минимума определяется значением первого элемента последовательности. Очередное вводимое число требуется сравнивать с текущим значением минимума, и если текущее значение min окажется больше очередного элемента последовательности, то min нужно изменить, а номер очередного элемента последовательности – запомнить.

Program Example_2;

Var x, i, min, K: Integer;

Begin

Writeln(‘Введите первый элемент последовательности’);

Read(x); k:=1;

min:=x; i:=2;

While x<>0 Do

Begin

If x<min Then

Begin min:=x; k:=i-1 End;

Writeln(‘Введите ’,i, ‘элемент последовательности’);

Read(x);

Inc(i);

End;

Writeln(‘Номер минимального элемента - ’, k);

Readln;

End.

Домашнее задание: 1. Найти сумму цифр числа.

2. Найти старшую цифру числа.