Народна Освіта » Інформатика » Цикл с предусловием

НАРОДНА ОСВІТА

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

1.    Какой вид имеет и как исполняется команда цикла со счетчиком в Object Pascal?

2.    Какой вид имеет блок-схема цикла с предусловием и как исполняется этот цикл?

3.    В каких случаях в алгоритмах используется цикл со счетчиком, а в каких - цикл с предусловием?

ЦИКЛ С ПРЕДУСЛОВИЕМ

Вы уже знаете, что цикл с предусловием как фрагмент алгоритма начинается с команды проверки условия, и результатом исполнения этой команды может быть либо истина (Да, true), либо ложь (Нет, false). И в зависимости от результата исполнения этой команды будут исполняться команды тела цикла, или команда алгоритма, следующая за циклом.

В общем случае в этой команде определяется значение некоторого логического выражения, которое может быть либо true, либо false.

Общий вид блок-схемы цикла с предусловием приведен на (рисунке 6.31).

КОМАНДА ЦИКЛА С ПРЕДУСЛОВИЕМ В OBJECT PASCAL

Команда цикла с предусловием в языке программирования Object Pascal выглядит следующим образом:

While<aora4ecKoe выражение>

Then begin

<команды тела цикла> end;

(англ. while - пока).

Исполняется эта команда следующим образом: вычисляется значение логического выражения; если это значение true, то исполняются команды тела цикла, после чего опять вычисляется значение логического выражения, и если это значение опять true, то снова исполняются команды тела цикла, после чего опять вычисляется значение логического выражения; если значение логического выражения равно false, то команды тела цикла не исполняются, а исполняется команда, следующая за циклом.

Обращает ваше внимание:

•    если в теле цикла только одна команда, то операторные скобки begin и end можно не ставить;

•    среди команд тела цикла могут быть и линейные фрагменты, и ветвления, и другие циклы.

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

Задача. Сколько необходимо взять слагаемых, первое из которых равно заданному действительному числу, а каждое следующее на 3 больше предыдущего, чтобы их сумма превышала 100?

Данными этой задачи является первое слагаемое. Будем вводить его в поле.

Перед началом цикла присвоим переменной s, которую используем для хранения суммы, значение первого слагаемого. А переменной n, которую используем для хранения количества взятых слагаемых, присвоим значение 1, потому что в сумме уже учтено одно (первое) слагаемое.

К сумме следует прибавлять следующие слагаемые, пока эта сумма будет меньше или равна 100. Поэтому логическое выражение в заголовке цикла будет таким: s <= 100. В теле цикла необходимо искать следующее слагаемое, прибавлять его к текущему значению суммы и увеличивать количество слагаемых на 1.

Соответствующий фрагмент проекта будет выглядеть так: var a, s: real; n: integer; begin

a := StrToFloat (Editl.Text); s := a; n := 1; while s <=100 do begin a := a+3; s := s+a; n := n+1; end;

Labell.Caption := IntToStr(n);

end;

Общий вид блок-схемы цикла с предусловием приведен на рисунке 6.31.

Команда цикла с предусловием в языке программирования Object Pascal выглядит так:

While <логическое выражение>

Then begin

<команды тела цикла> end;

Исполненяется эта команда следующим образом: вычисляется значение логического выражения; если это значение true, то исполняются команды тела цикла, после чего снова вычисляется значение логического выражения, и если это значение опять true, то снова исполняются команды тела цикла, после чего опять вычисляется значение логического выражения; если значение логического выражения равно false, то команды тела цикла не исполняются, а исполняется команда, следующая за циклом.

1*. Как выглядит блок-схема цикла с предусловием? Объясните исполнение этого цикла.

2*. Могут ли команды тела цикла с предусловием не исполняться ни разу? Объясните свой ответ. Приведите примеры.

3*. Может ли исполнение цикла с предусловием никогда не закончиться? Объясните свой ответ. Приведите примеры.

4*. Чем отличаются между собой цикл со счетчиком и цикл с предусловием?

5*. В чем различия в исполнении основных алгоритмических структур: следования, ветвления, цикл со счетчиком и цикл с предусловием?

6°. Каков общий вид команды цикла с предусловием в Object Pascal?

7*. Как исполняется команда цикла с предусловием в Object Pascal?

1. Исполните алгоритмы.

2*. Исполните фрагмент программы и определите значения переменных после его завершения:

3*. Исполните фрагмент программы и определите значения переменных после его завершения:

4*. Составьте блок-схему алгоритма нахождения суммы чисел, первое из которых равно 7, каждое следующее на 5 больше предыдущего и все они не превышают 100. Исполните алгоритм.

5*. Составьте блок-схему алгоритма нахождения суммы положительных чисел, первое из которых равно 50, каждое следующее на 8 меньше предыдущего. Исполните алгоритм.

6*. Создайте проект, в котором можно вычислить количество двузначных чисел среди чисел, первое из которых равно 10, а каждое следующее больше предыдущего на заданное положительное число. Сохраните проект в папке с именем Задание 6.7.6, созданной в вашей папке.

7*. Создайте проект для вычисления среднего арифметического положительных чисел, первое из которых равно 100, а каждое следующее меньше предыдущего на заданное положительное число. Сохраните проект в папке с именем Задание 6.7.7, созданной в вашей папке.

8*. Создайте проект для решения задачи: Клиент положил в банк определенную сумму денег. Ежегодно банк добавляет ко вкладу заранее определенный процент от суммы, хранящейся на счету по итогам предыдущего года. Через сколько лет сумма на счету превысит S грн? Сохраните проект в папке с именем Задание 6.7.8, созданной в вашей папке.

ПРАКТИЧЕСКАЯ РАБОТА № 12 «Составление и исполнение проектов с повторениями и ветвлениями для обработки величин»

Внимание! Работая с компьютером, соблюдайте правила безопасности и санитарно-гигиенические нормы.

1.    Откройте окно среды Lazarus.

2.    Создайте проект для решения задачи: Известны длины сторон двух прямоугольников. Вычислить площади прямоугольников и сравнить их. Определить, являются ли прямоугольники квадратами. Определить, поместится ли первый прямоугольник внутри второго.

1.    Разместите на форме поля для ввода данных, метки для вывода результатов и три кнопки.

2.    В проекте:

*    создайте обработчик события Click для первой кнопки, исполнение которого приведет к вычислению площадей прямоугольников и их сравнению;

*    создайте обработчик события Click для второй кнопки, исполнение которого, в зависимости от установленных флажков, приведет к определению того, является ли соответствующий прямоугольник квадратом;

• составьте обработчик события Click для третьей кнопки, исполнение которого приведет к определению, поместится ли первый прямоугольник внутри второго или второй прямоугольник внутри первого, в зависимости от выбранного пункта раскрывающегося списка.

3.    Сохраните проект в папке с именем Практическая 12_1, созданной в вашей папке.

4.    Создайте проект для решения задачи: Перед началом наводнения уровень воды в реке составлял Н метров. Во время наводнения каждый час уровень воды увеличивался на Р процентов по сравнению с уровнем предыдущего часа. Каким будет уровень воды через N часов после начала наводнения? Через сколько часов после начала наводнения уровень воды будет не менее чем K метров?

1.    Разместите на форме поля для ввода данных, метки для вывода результатов и три кнопки.

2.    Установите на первой кнопке надпись Задание 1, на второй - Задание 2, на третьей - Сначала, у полей - пустой текст.

3.    Создайте обработчик события Click для первой кнопки, исполнение которого приведет к выводу в окно сообщения ответа на первый вопрос задачи.

4.    Исполните проект и убедитесь, что результаты его работы правильные.

5.    Создайте обработчик события Click для второй кнопки, исполнение которого приведет к получению ответа на второй вопрос задачи и выводу его в отдельную метку.

6.    Исполните проект и убедитесь, что результаты его работы правильные.

7.    Создайте обработчик события Click для третьей кнопки, исполнение которого приведет к очистке текста в полях и метке с ответом на второй вопрос задачи.

5.    Сохраните проект в папке с именем Практическая 12_2, созданной в вашей папке.

6.    Закройте окно среды Lazarus.

 

Это материал учебника Информатика 8 класс Ривкинд

 

Категорія: Інформатика

Автор: admin от 16-10-2016, 02:51, Переглядів: 2661