TURBO PASCAL

Новости           

Программы

Turbo Pascal

Игры

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

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

FAQ

Ссылки

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

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

От автора

Целый тип данных. Цикл с параметром

Повторение

  1. Какие операции можно применять к переменным целого типа?
  2. Можно ли применять операцию деления (/) к переменным целого типа? Почему?
  3. Что получится в результате выполнения операторов:
    Write('AB':3); Writeln(5*2:3);
    Writeln(5:6,8:5); Writeln('КОНЕЦ');
    Writeln('РЕЗУЛЬТАТ',5*3,3).
  4. Что такое If, Then, Else?
  5. Как выглядит полный условный оператор? Как он работает?
  6. Как выглядит неполный условный оператор? Как он работает?
  7. Записать на языке Паскаль следующие выражения:
    если число является четным, то вывести ''ДА'', иначе вывести ''НЕТ''
    если число делится на 5, то вывести целую часть от деления.
  8. Записать на языке Паскаль следующую формулу:

    x = { -5, если x<-5, x, если -5<=x<=0, 2x, если 0<=x<3, 6, если x>=3

    Возможно ли сделать это без вложенных операторов условия? Почему?

Цикл с параметром (разбор на примере)

Примечание: К уроку надо подготовить таблицу с конструкцией оператора цикла с параметром.

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

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

Рассмотрим, как выполняется оператор цикла с параметром вида For <параметр>:=A To B Do <тело цикла>. Сначала вычисляются значения выражений A и B. Если A<=B, то <параметр> последовательно принимает значения, равные A, A+1,..., B-1, B, и для каждого из этих значений выполняется <тело цикла>. Если A>B, то <тело цикла> не будет выполнен ни разу и выполнение цикла с параметром сразу же закончится.

Оператор цикла с параметром For <параметр>:=A DownTo B Do <тело цикла> выполняется аналогичным образом, но значение <параметра> изменяется с шагом, равным -1.

Если <тело цикла> состоит из несколько операторов, то операторы тела цикла заключаются в операторные скобки Begin-End.

Пример

Составить программу вычисления значения выражения y = ((...(202 - 192)2 - 182)2 -...- 12)2.

Решение

В данном случае целесообразно организовать цикл с параметром, изменяющимся от 20 до 1, то есть шаг изменения параметра равен -1.

Обозначим: y - очередное значение квадрата числа; n - параметр цикла.

Учитывая это, составим программу:

Program Example_5;
Var y, n: Integer;
Begin
y:=sqr(20);
For n:19 Downto 1 Do y:=sqr(y-sqr(n));
Writeln('Значение выражения равно');
Writeln(y);
End.

Пример

Из чисел от 10 до 99 вывести те, сумма цифр которых равна n(0<n<=18).

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

  1. Каким действием можно выделить последнюю цифру числа?
  2. Каким действием можно выделить первую цифру числа?

Обозначим: k- это просматриваемое число; p1 - это первая цифра числа k; p2 - это вторая цифра числа k; s - это сумма цифр данного числа k. Число k будем выписывать только в том случае, когда сумма p1 и p2 будет равна s.

Program Exampl_6;
Var k,n,p1,p2,s : Integer;
Begin
Writeln('введите целое число ');
Readln(n); {вводим целое число}
For k:=10 To 99 Do {для(For) К от 10 до(To) 99 делать(Do)}
Begin
p1:=k Div 10; {выделяем первую цифру}
p2:=k Mod 10; {выделяем вторую цифру}
s:=p1+p2; {находим сумму цифр}
If s=n Then Writeln(k); {если сумма равна n, то выводим K}
End;
Readln;
End.

Пример

Найти все двузначные числа, в которых есть цифра N или само число делится на N.

Решение

Если двузначное число соответствует условию задачи, то для него выполняется хотя бы одно из трех условий: первая цифра равна n (p1 = n), или вторая цифра равна n (p2 = n), или само число делится на n (k mod n = 0).

Задание

Какую логическую операцию необходимо использовать для объединения этих простых условий?

Решение

  1. Сколько раз будут выполнены операторы из тела циклов в следующих фрагментах программ:
    For k:=-1 To 1 Do ...
    For k:=10 To 20 Do ...
    For k:=20 To 10 Do ...
    k:=5; r:=15;
    For i:=k+1 To r-1 Do ...
    k:=5; r:=15;
    For i:=0 To k*r Do ...
    k:=r;
    For i:=k To r Do ...
  2. Определить значение переменной S после выполнения следующих операторов:

    s := 0; n := 10

    For i := 2 To n Do s := s + 100 Div i

  3. Составить программу возведения натурального числа в квадрат, используя следующую закономерность:

    12 = 1

    22 = 1 + 3

    32 = 1 + 3 + 5

    42 = 1 + 3 + 5 + 7

    ....

    n2 = 1 + 3 + 5 + 7 + 9 + ... + 2n-1

  4. Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N.
  5. Составить программу вычисления суммы кубов чисел от 25 до 125.
  6. Среди двузначных чисел найти те, сумма квадратов цифр которых делится на 13. Ответ: 23, 32.
  7. Написать программу поиска двузначных чисел, таких, что если к сумме цифр этого числа прибавить квадрат этой суммы, то получится это число. Ответ: 12, 42, 90.
  8. Квадрат трехзначного числа оканчивается тремя цифрами, которые как раз и составляют это число. Ответ: 376, 625.
  9. Написать программу поиска четырехзначного числа, которое при делении на 133 дает в остатке 125, а при делении на 134 дает в остатке 111. Ответ: 1987.
  10. Найти сумму положительных нечетных чисел, меньших 100.
  11. Найти сумму целых положительных чисел из промежутка от A до B, кратных 4 (значения переменных A и B вводятся с клавиатуры).
  12. Найти сумму целых положительных чисел, больших 20, меньших 100, кратных 3 и заканчивающихся на 2, 4 или 8.

    Содержание

 

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

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

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