TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

Гостевая книга

От автора

Решение задач с использованием цикла параметром

  1. Как выглядит оператор цикла с параметром?
  2. Какие из приведенных операторов правильные и почему?
    For i := 12 To 15 Do s := s + i;
    For a := 30 To 20 Do

    If a Mod 3 = 0 Then d := d + 1;

    For x := 1 To 20 Do

    s := s + x;
    If (x Mod 2 = 0) Or (x Mod 3 = 0) Then d := d + 1.

    В цикле должны выполнятся два оператора.

  3. Задать с помощью условного оператора следующие действия:
    меньшее из двух данных чисел (a и b) заменить на 0, а в случае их равенства заменить оба;
    большее из трех данных чисел (a, b, и c) уменьшить на 5.

Решение задач

  1. В трехзначном числе зачеркнули первую цифру слева, когда полученное двузначное число умножили на 7, то получили данное число. Найти это число. Ответ: 350.
  2. Сумма цифр трехзначного числа кратна 7, само число также делится на 7. Найти все такие числа.
  3. Дано натуральное число n (n<=9999). Определить, является ли оно палиндромом (''перевертышем''), с учетом четырёх цифр. Например, палиндромами является числа: 2222, 6116, 0440.

    Вопросы для обсуждения

    Дано число n. Каким образом можно построить ''перевёртыш'' данного числа?
    Сколько переменных необходимо для решения данной задачи? Объясните назначение каждой переменной.

    Решение

    Обозначим: n - вводимое число; m - дубликат числа n; a - перевертыш числа n; i - переменная цикла для создания перевертыша.

    Program Example_7;
    Var n,m,a,i : Integer;
    Begin Writeln('введите целое число, не большее 9999');
    Readln(n) {вводим целое число}
    m:=n; a:=0;>

    { создание перевертыша }

    For i=1
    Begin
    a:=a*10+m Mod 10; m:=m Div 10
    End.>

    Трассировка примера

    Рассмотрим выполнение этой программы в пошаговом режиме для числа 3994.

    i

    n

    m

    a - это перевертыш

    -

    3994

    3994

    0

    1

    3994

    399

    0*10+3994 mod 10=0+4=4

    2

    3994

    39

    4*10+399 mod 10=40+9=49

    3

    3994

    3

    49*10+39 mod 10=490+9=499

    4

    3994

    0

    499*10+3 mod 10=4990+3=4993

    Так как значение переменной a не равно значению переменной n, то на экране появится слово 'НЕТ!!!'.

  4. Даны натуральные числа n, k (n, k<=9999). Из чисел от n до k выберете те, запись которых содержит три одинаковых цифры. Например, числа 6766, 5444, 0006, 0060 содержат ровно три одинаковых цифры.

    Решение

    Если данное число содержит ровно три одинаковых цифры, то только одна из цифр отличается от остальных, то есть возможны четыре случая:

     

    1

    2

    3

    4

    1

    x

    x

    x

     

    2

    x

    x

     

    x

    3

    x

     

    x

    x

    4

     

    x

    x

    x

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

    Фрагмент решения

    Begin
    Writeln('Введите два числа, не больших 9999');
    For i:=n To k Do
    Begin

    {выделение цифр: а1 - первая, а2 - вторая, а3 - третья, а4 - четвертая}

    a4:=m Mod 10; m:=m Div 10;
    a3:=m Mod 10; m:=m Div 10;
    a2:=m Mod 10; a1:=m Div 10;

    {проверка условий}

    If ((a1=a2) And (a1= a3) And (a1<>a4)) Or

    {первое условие}

    Трассировка примера

    Рассмотрим выполнение программы для числа 3733.

    n m a1 a2 a3 a4
    3733 3733 - - - 3
    3733 373 - - 3 3
    3733 37 3 7 3 3

    Для данного числа выполняется третье условие, поэтому на экране появится число 3733.

  5. Среди четырёхзначных чисел выбрать те, у которых все четыре цифры различны.
  6. Дано четырёхзначное число n. Выбросить из записи числа n цифры 0 и 5, оставив прежним порядок остальных цифр. Например, из числа 1509 должно получиться 19.
  7. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведённых в n-ю степень, равна самому числу. Получить все числа Армстронга, состоящие из трёх и четырёх цифр.
  8. Дана последовательность из 20 целых чисел. Определить количество чисел в наиболее длинной последовательности из подряд идущих нулей.

    Содержание

 

На главную страницу
(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

    Rambler's Top100 PROext: Top 1000
    Rambler's Top100 Яндекс цитирования
Hosted by uCoz