Пятница, 24.11.2017, 14:15
ОТКРЫТАЯ ИНФОРМАТИКА
Приветствую Вас Гость | RSS
Главная Цикл Регистрация Вход
Меню сайта

Форма входа

Поиск

Календарь
«  Ноябрь 2017  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

Цикл. Программирование циклов на Паскале

  • Как с помощью языка программирования записать повторяющееся действие?
  • Какие бывают циклы?
  • Как организовать цикл?

Цикл - это повторение некоторой группы команд (тело цикла). 

Различают два типа циклов: циклы с заданным числом повторений и циклы с условием.

Цикл с заданным числом повторений (со счетчиком).


Для программирования циклов с заданным числом повторений при постоянном шаге изменения параметра цикла в Паскале существует цикл с параметром.

       1)for i:=<выражение 1> to <выражение 2> do <оператор>
       2)for i:=
<выражение 2> downto <выражение 1> do <оператор>

Здесь, переменная i является счетчиком, поэтому должна быть целочисленной.

Алгоритм выполнения:

Выполнение оператора for в 1-м случае происходит по следующей схеме:


1) Вычисляются значения <выражения 1> и  <выражения 2>. Это делается один раз, при входе в цикл.
2) Параметру i  присваивается значение выражения 1.
3) Значение параметра цикла сравнивается со значением выражения 2. Если параметр цикла меньше или равен этому значению, то выполняется тело цикла. Иначе, выполнение цикла заканчивается.
4) Значение параметра цикла изменяется на следующее значение в его типе (для целых чисел - увеличивается на 1). Происходит возврат к п.3.

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

Правила:
1) параметр цикла не может иметь вещественный тип;
2) в теле цикла нельзя менять переменную - параметр цикла;
3) при выходе из цикла значение параметра является неопределенным.

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

Например
, чтобы получить на экране десятичные коды букв латинского алфавита можно написать следующую программу:

for c:='a' to 'z' do begin
  write(c,' -  ', ord(c)); end;


Переменная с в этом случае имеет тип  char.
Вопрос: как вывести кодировку букв латинского алфавита в обратном порядке?

Циклы с условием (итерационные циклы).

Итерационными циклами называются циклы, число повторений которых заранее не известно. Оно определяется в результате выполнения цикла.

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

Цикл - пока:
  while (логическое выражение) do <оператор>;

 <оператор> - тело цикла. Цикл повторяет повторение , пока истинно логическое выражение.



Цикл - до:
  Repeat <оператор> until (логическое выражение) ;

 Повторяется (логическое выражение) до тех пор, пока условие не станет истинным.



Задача.

Составить программу для вычисления суммы заданного количества слагаемых n.

Два варианта решения задачи. В первом случае - цикл с предусловием, во втором - с постусловием.



И тот и другой цикл повторится N раз. Переменная i является не только знаменателем дроби но и счетчиком числа повторений цикла. Такие переменные называют параметрами цикла.

ЭТО ИНТЕРЕСНО
Кто первым в мире спроектировал робота?
Среди многочисленных изобретений Леонардо да Винчи нашлись также чертежи робота, который был запрограммирован имитировать человеческие движения (приподниматься и садиться, двигать руками и шеей) и имел анатомически правильное строение челюсти. Неизвестно, была ли разработка осуществлена. 


ОН-ЛАЙН ТЕСТ "Циклы с условиями" (К.Поляков)
ОН-ЛАЙН ТЕСТ "Цикл с переменной" (К.Поляков)


Разминка:
Какие из приведенных ниже циклов составлены неправильно? Почему? Сколько раз выполнится оператор в цикле?

1)      For c:= 1 to 6 do <оператор>;

2)      For c:= 6 to 1 do <оператор>;

3)      For c:= 0.1 to 0.6 do <оператор>;

4)      For c:= ‘a’ to ‘а’ do <оператор>;

5)      For c:= 1 to 6 do c:=sqr(c);

6)      For c:= A to B do begin A:=sqr(A); S:=S+A end;

2. Укажите порядок записи блоков для нахождения среднего арифметического значений введенных чисел:

A. s:=s/n;

B. writeln(S)

C. s:=s+a[i]

D. s:=0;

E. read(n)

F. for i:=1 to n do

Упражнения:


1. Какие значения примут переменные с  и d после выполнения следующих фрагментов программ:

1) c:=0;  d:=10;
    while d>=0 do begin 

    c:=c+1; 

    d:=d-3 

    end;
2) c:=1;  d:=10;
    while d<100 do begin 

    c:=c*2;

    d:=d+10;

    end;

3) c:=1;  d:=2;
    while с+d<10 do begin

    c:=c+1; 

    d:=d+1; 

    end;

2. Какие значения примет переменная а после выполнения следующих фрагментов программ:


1) А:=0; x:=1;
    repeat
    А:=А+x*x;
    x:=х+1
    until x>=4;
2)

А:=0;  x:=1;
repeat
А:=А+x;
x:=х*2
until x>=30;


3)

А:=1;  x:=2;
repeat
А:=А*x;
x:=х+2;
until A>=30;


3. Определить, какое значение будет принимать переменная y после выполнения фрагментов программы:

а) Var x,y:Integer;

Begin

   y:=0;

   For x:=1 to 9 do

      y:=y+1;

   Writeln(‘y=’,y)

End.


б) Var x,y:Integer;

Begin

  y:=0; x:=10;

  While x>0 do begin

      x:=x–2;

      y:=y+x

  end;

  Writeln(‘y=’,y)

End.


в) Var x,y:Integer;

Begin

   y:=1; x:=15;

   Repeat

      y:=y*x;

      x:=x–3

   Until x<5;

   Writeln(‘y=’,y)

End.


Вопросы: 

1. Чем отличается итерационный цикл от цикла с заданным числом повторений?

2. Какие виды циклов есть в Паскале?


3. Как работает цикл с параметром?


4. Как выполняется цикл с предусловием?


5. Как работает цикл с постусловием?


6. Чем отличаются циклы с условием?


Домашнее задание:

1. Получить таблицу значений функций Sin(x) и Cos(x) на отрезке [0,1] с шагом 0,1 в виде:
х      sin(x)       cos(x)
          0       0.0000     0.0000
          0.1    0.0998     0.9950
          ...........................
          1       0.8400     0.5403
2.Получить в возрастающем порядке все трехзначные числа, в записи которых нет одинаковых цифр.
3. Получить все простые числа в диапазоне до N.

Компьютерный практикум (репродуктивный уровень)

1.     Вывести на экран 7 раз слово «Пятница»

2.     Пронумеровать список из слов «Пятница» от 1 до 7

 3.     Вывести на экран числа от 20 до 50

4.     Вывести на экран четные числа из интервала от 1 до 20

5.     Вывести на экран  двузначные числа оканчивающиеся 0.

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

Компьютерный практикум (И.Г. Семакин) (продуктивный, творческий уровень)
  1. Натуральные числа a, b, c называются числами Пифагора, если выполняется условие a2 + b2 = c2. Напечатать все числа Пифагора, меньшие N.

2. Даны два натуральных числа m и n.  Проверить, есть ли в записи числа m цифры, одинаковые с цифрами в записи числа n.

3. Найти наибольшую и наименьшую цифры в записи данного натурального числа.

4. Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N – 1, у которых сумма всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово «нет». Пример. N = 44. Числа: 17, 26, 35.

5. Дано натуральное число N. Найти и вывести все числа в интервале от 1 до N – 1, у которых произведение всех цифр совпадает с суммой цифр данного числа. Если таких чисел нет, то вывести слово «нет». Пример. N = 44. Числа: 18, 24.

6. Дано натуральное число N (N > 9). Определить количество нулей, идущих подряд в младших разрядах данного числа. Пример. N = 1020000. Количество нулей равно четырем.

7. Дано натуральное число N (N > 9). Определить количество нулей в цифровой записи числа, кроме нулей в младших разрядах. Пример. N = 10025000. Количество нулей равно двум.

8. Натуральное число M называется совершенным, если оно равно сумме всех своих делителей, включая 1, но исключая себя. Напечатать все совершенные числа, меньшие заданного числа N.

9. Дано целое n > 2. Напечатать все простые числа из диапазона [2, n].

10. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.

11. Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение. Пример. N = 4548. Количество цифр с наименьшим значением равно двум (две цифры 4).

12.  Дано натуральное число N. Определить количество цифр в цифровой записи данного числа, которые имеют наибольшее значение. Пример. N = 1808. Количество цифр с наибольшим значением равно двум (две цифры 8).

13.  Дано натуральное число N. Получить новое число M, которое образуется из числа N путем замены последней цифры на значение наименьшей цифры в записи числа N. Пример. N = 128452, M = 129451.

14.  Дано натуральное число N. Получить новое число M, которое образуется из числа N путем замены последней цифры на значение наибольшей цифры в записи числа N. Пример. N = 128452, M = 128458.

15.  Палиндром — это сочетания символов, которые читаются одинаково слева направо и справа налево. Например, числа:  4884, 121 являются палиндромами. Составить программу, которая определяет, является ли заданное натуральное число палиндромом.

16*. Дано натуральное k. Напечатать k-ю цифру последовательности 12345678910111213…, в которой выписаны подряд все натуральные числа.

17*. Дано натуральное k. Напечатать k-ю цифру последовательности 149162536…, в которой выписаны подряд квадраты всех натуральных чисел.

18*. Составить программу перевода данного натурального числа n в шестнадцатеричную систему счисления.

19*. Дано натуральное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.

20*. Дано натуральное число n. Переставить его цифры так, чтобы образовалось наименьшее число, записанное теми же цифрами.

21*. Дано натуральное число n. Переставить его цифры так, чтобы образовалось наименьшее число, записанное теми же цифрами.

Домашнее задание:

Жилин А.С. Типовые варианты задач к тематическому разделу "Основы программирования" смотреть


Наш опрос
Имеете ли вы доступ к компьютеру и в какой форме?
Всего ответов: 456

Друзья сайта
  • Министерство образования РБ
  • Официальный портал подготовки к ГИА и ЕГЭ
  • Всероссийская олимпиада школьников
  • Федеральный портал Российского образования
  • Институт развития образования РБ

  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Copyright MyCorp © 2017 Бесплатный конструктор сайтов - uCoz