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

Задание:

29. Прочитать текст «Цикл с предусловием», изучите примеры.

30. Составить блок-схему по готовому фрагменту программы.

31. Прочитать текст «Цикл с параметром (арифметический)», изучите примеры.

32. Определить значение переменной S.

33. Определить сколько раз будет выполняться тело цикла.

34. Прочитать текст «Цикл с постусловием», изучите примеры.

35. Определить сколько раз будет выполняться тело цикла.

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

Задание №1. Цикл с предусловием.

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

Существует три вида циклов:

ü Цикл с предусловием;

ü Цикл с параметром (арифметический цикл);

ü Цикл с постусловием.

Тело цикла
Условие выхода из цикла
_
+
Цикл с предусловием организует циклическое выполнение некоторой последовательности операторов, пока условие выхода из цикла имеет значение «истина».

ПОКА условие истина ПОВТОРЯТЬ

Тело цикла

КОНЕЦ ЦИКЛА

While <условие> Do

<тело цикла>;

Примеры:

a:=7; a:= -7;

While a>5 Do While a<5 Do

a:=a-1; a:=a+1;

· Условие выхода из цикла всегда имеет переменную <параметр>. Значение этой переменной необходимо явно изменять в теле цикла таким образом, чтобы условие выхода из цикла в какой-то момент времени приняло значение «ложь» (т.е., чтобы произошел выход из цикла).

Например:

s:=4;

While s>=0 Do

s:=s-1;

В данном примере параметром цикла является переменная s. Значение этой переменной в цикле уменьшается каждый раз на 1. В какой то момент времени значение переменной s станет меньше нуля и произойдет выход из цикла.

· Если в теле цикла значение параметра не изменяется или изменяется не правильно, то происходит зацикливание, т.е. цикл выполняется бесконечно.

Например:

s:=1;

While s>0 Do

Writeln(s);

В данном примере параметром является переменная s, но ее значение не изменяется в теле цикла, поэтому условие выхода из цикла всегда будет иметь значение «Истина» и цикл будет выполняться бесконечно.

· Если условие выхода сразу имеет значение «ложь», то тело цикла не выполнится ни разу.

Например:

a:=1;

While a<0 Do

Writeln(a);

· Если тело цикла содержит более одного оператора, то его заключают в операторные скобки.

Например:

a:=1;

While a>0 Do

Begin

Writeln(a);

a:=a-1;

End;

A:=A+0.1
конец
начало
S:=0
A:=0.2
S:=S+A
A<=2.0
S
-
+
Пример составления блок-схемы по готовому фрагменту программы:

Program summa;

Var A, S: real;

Begin

S:=0;

A:=0;

While A<=2.0 do

Begin

S:=S+A;

A:=A+0.1;

End;

Writeln(‘Сумма=’, S);

End.

Задание №2.Составить блок-схему по готовому фрагменту программы.

Program cikl;

Var

K, Max: real;

N:byte;

Begin

Max:=0;

N:=0;

While N<=10 do

Begin

Write (‘Введите число’);

Readln (K);

IF Max<K THEN

Max:=K;

N:=N+1;

End;

End.

Задание №3. Цикл с параметром.

Параметр:= н.з., к.з., шаг
тело цикла
Арифметический цикл – это цикл, в котором заранее известно число его повторений.

Параметр – это простая переменная целого типа.

Начальное и конечное значение – это переменные или выражения целого типа.

Шаг может быть равен +1 или -1.

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

Формат оператора:

1. Если Шаг равен +1

FOR <параметр>:=<н.з.> TO <к.з.> DO

<тело цикла>;

Примеры:

For i:=1 to 5 do или For i:= -5 to -1 do

Writeln (i); Writeln (i);

2. Если Шаг равен -1

FOR <параметр>:=<н.з.> DOWNTO <к.з.> DO

<тело цикла>;

Примеры:

For i:=5 downto 1 do или For i:= -1 downto -5 do

Writeln (i); Writeln (i);

!!!При этом если н.з.< к.з, то оператор не выполнится ни разу

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

Если тело цикла содержит более одного оператора, то оно заключается в операторные скобки begin … end.

Например:

For i:=1 to 5 do

Begin

K:=K+2;

Writeln (K);

End;

Задание №4.Определить значение переменной S после выполнения следующих операторов:

S:=1; I:=1 For I:=2 to 2 do S:=S+1/I; S=________ S:=0; I:=1 For I:=2 to -5 do S:=S+1/I;   S=________ S:=1; I:=1 For I:=2 downto 2 do S:=S+1/I;   S=________

Задание №5.Определить сколько раз будет выполняться тело следующих операторов цикла.

K:=0; For i:=1 to K+3 do K:=K+1; ______________   K:=0; For i:=1 to 9 do K:=K+sqr(i); ______________   K:=0; For i:=9 to 1 do K:=K+1; ______________   K:=0; For i:=1 to 1 do K:=K+1; ______________  

Задание №6. Цикл с постусловием

Цикл с постусловием –это цикл, у которого условие выхода располагается после его тела.

Условие выхода проверяется после выполнения тела цикла, поэтому тело в цикле с постусловием всегда выполняется хотя бы один раз.

Тело цикла
Условие выхода
-
+
ПОВТОРЯТЬ

Тело цикла

ДО выполнения Условия выхода;

REPEAT

<тело цикла>

UNTIL <условие выхода>;

Примеры:

A:=1; REPEAT A:=A+1; UNTIL A=5; A:=1; REPEAT A:=A-1; UNTIL A= -5; A:=5; REPEAT A:=A+1; UNTIL A>=5;

Переменная (параметр), которая используется в условии выхода из цикла обязательно должна изменятся в теле цикла таким образом, чтобы условие выхода в какой-то момент времени стало равно «истина».

A:=1; REPEAT A:=A+1; S:=S+A; UNTIL A=5;

Если параметр не изменяется в теле цикла или изменяется не правильно, то произойдет зацикливание (т.е. цикл будет выполняться бесконечно).

Ключевые слова REPEAT и UNTIL играют роль операторных скобок, поэтому если тело цикла содержит более одного оператора, то необходимостивиспользовании операторных скобок begin…end нет.

Пример:

начало
конец
К:=1
К:=K*2
K
N
K>N
-
+
Задача: Дано натуральное число N. Получить наименьшее число вида 2 в степени R, превосходящее число N.

Постановка задачи

Ид. N – число: integer.

Рез. K – число: integer.

Мм. K=2R

В языке программирования Turbo Pascal

отсутствует функция вычисления степени

числа.

Степень числа вычисляется как произведение

2 R = 2*2*2*2*2

R раз

Для вычисления произведения используется

стандартный алгоритм.

Словесное описание алгоритма

1. Ввести число N.

2. Произведению присвоить начальное значение 1.

3. Вычислить число вида 2R

4. Если полученное число не больше N, то повторить п.3.

5. Вывести полученное число.

Трассировочная таблица

  N K K>N
   
  ложь
  ложь
  ложь
  ложь
  ложь
  истина

Ответ.Наименьшее число вида 2R, большее 50 равно 64

Задание №7.Определить сколько раз будет выполняться тело цикла.

S:=0; I:=0; REPEAT I:=I-1; S:=S+1/I; UNTIL I<=1;   ______________   S:=0; I:=1; REPEAT I:=I+1; UNTIL I>=2; S:=S+1/I;   ______________ S:=0; I:=1; REPEAT S:=S+1/I; I:=I+1; UNTIL I<1;   ______________

Практическое задание №19

Тема: Массивы на Паскале

Задание:

36. Прочитать текст «Одномерные массивы», изучите примеры.

37. Составить блок-схемы к примерам решения задач (2.1, 2.2., 2.3, 2.4).

38. Записать блок-схемы и примеры в тетрадь (2.1, 2.2., 2.3, 2.4).

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

Задание №1. Одномерные массивы

Понятие «массив»

С понятием «массив» приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений. В общем случае массив – это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

Название регулярный тип (или ряды) массивы получили за то, что в них объединены однотипные (логически однородные) элементы, упорядоченные (урегулированные) по индексам, определяющим положение каждого элемента в массиве.

Массив – это составной объект, образованный из элементов (компонент) одного и того же типа. Такой тип данных применяется в программировании для обозначения объектов, аналогичных числовым последовательностям в математике, где сразу целая группа чисел обозначается одним именем (чаще всего буквой), а для обращения к каждому отдельному числу данной последовательности используются различные индексы (номера элементов). В математике это может выглядеть, например, так:

a1, а2, а3, …, аn.

Таким образом, в программировании массив – это последовательность однотипных элементов, имеющих общее имя, причем каждый элемент этой последовательности определяется порядковым номером (индексом) элемента.

Примеры массивов:

  • Х1, Х2, …, Хn – одномерный массив, состоящий из n элементов;
  • А0, А1, А2, …, А10 – одномерный массив,состоящий из 11 элементов.

Массивы бывают одномерными (один индекс), двумерными (два индекса) и т.д.

Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. Другая особенность массива состоит в том, что к любой его компоненте можно обращаться произвольным образом. Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу). Номер элемента массива называется индексом. Индекс – это значение порядкового типа, определенного, как тип индекса данного массива. Тип индекса определяет границы изменения значений индекса.

Рассмотрим массив Х1, Х2, …, Хn. Здесь

  • Х – имя массива;
  • 1, 2,…, n – индексы (порядковые номера) элементов;
  • Х7 – седьмой элемент массива Х.

Наши рекомендации