Программирование циклических алгоритмов. Циклы «до» и «пока»



Как уже говорилось, известны три типа циклических алгоритмических структур. Была рассмотрена только одна из них – цикл с параметром. Поговорим об остальных:

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

- цикл с постусловием

Существуют операторы для их реализации.

1.Цикл с предусловием (цикл-«пока») - наиболее универсальная циклическая структура. Реализуется оператором While. Формат оператора:

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

Пока значение логического выражения истинно (true), выполняется тело цикла, тело может быть простым или составным оператором.

2.Цикл с постусловием (цикл-«до»)имеет формат

Repeat < тело цикла > until < логическое выражение >

Повторяется выполнение тело цикла. Цикл заканчивается, когда логическое выражение становится истинным. Тело цикла с постусловием выполняется хотя бы один раз. Использование операторных скобок для ограничения тела цикла не требуется.

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

Break – реализует немедленный выход из цикла

Continue – обеспечивает досрочное завершение очередного прохода цикла.

Лабораторная работа №10

Задача: Вывести 5 одинаковых надписей: «Программа цикла»

Для вывода повторяющегося действия нам понадобиться описать переменную i целого типа, обработать события OnClick для кнопки Button1. В теле процедуры необходимо описать нижеследующий метод:

procedure TForm1.Button1Click(Sender: TObject);

begin

for i:=1 to 5 do

Memo1.Lines.Add('Программа цикла')

end;

Рассмотрим пример решения задачи: найти сумму ряда s=1+1/2+1/3+…+1/k.

Для задачи наиболее оптимальным алгоритмом решения будет цикл. Для того чтобы выделить повторяющие части запишем ряд следующим образом: s=1/1+1/2+1/3+…+1/k.

Заметим, что числители постоянен и равен 1. Знаменатели постоянно увеличиваются на 1 в интервале от 1 до k. Таким образом, общий вид элемента ряда = 1/i, где i – изменяющийся знаменатель. Следовательно, запишем метод решения задачи:

Var k,i: integer; s: real;

Begin

k:=StrToInt(Edit1.Text); s:=0;

For i:=1 to k do s:=s+1/i; {i пробегает все значения знаменателя от 1 до k (1, 2, 3, …, k) изначально s=0, при k=1 s=0+1/1, s становится равным 1; при k=2 s=1+1/2, s становится равным 1,5 и т.д.}

Memo1.Text:=FloatToStr(s);

End;

Задания для самостоятельной работы:

1.Вывести таблицу умножения на любое число, введенное с клавиатуры.

2.Вывести таблицу значений функции y=sin(x) в интервале 0..1

3.Вывести 4 надписи: «На окне сидело n кошек», 1£n£4.

4.В интервале [0,20] подсчитать количество четных чисел и чисел, которые делятся на 3.

5.Вычислить сумму натурального ряда чисел от 1 до n.

6.Вычислить сумму чисел s=1/(p+2)+2(p+2)+3/(p+2)+…+p/(p+2).

7.Вычислить произведение чисел кратных 5 ряда от 1 до n.

8*. Вычислить сумму чисел s=(1+3+5+…+2*n-1)3-(2+4+6+…+2*n)2.

9*. Составить программу для проверки утверждения: «Результатами вычислений по формуле х2+х+17 при 0≤х≤15 являются простые числа». Все результаты вывести на экран (простое число – число которое делится только на себя и на единицу).

10*. Покупатель должен заплатить в кассу s рублей. У него имеются 1, 2, 5, 10, 50, 100, 500, 1000-рублевые купюры. Сколько купюр разного достоинства отдаст покупатель, если он начнет платить с самых крупных? (использовать процедуру Continue).

11*.Написать программу, которая запрашивает исходные данные и производит над ними выбранное пользователем действие. Выбор действий осуществляется с помощью меню. Исходные данные – числа a и b. Меню действий:

1. – сложить

2. – умножить

3. – вычесть

4. – разделить

5. – выход

Результат выводить после каждого действия

Рассмотрение дополнительных компонентов для
ввода/вывода строк

Для ввода и вывода информации в объектно-ориентированном программировании существует целый ряд вариантов. В библиотеке визуальных компонентов Delphi существует множество компонентов, позволяющих отображать, вводить и редактировать текстовую информацию. Нами уже были рассмотрены Label (метка), Edit (однострочное поле) и Memo (многострочное поле). В таблице приведен перечень оставшихся компонентов с краткими характеристиками и указанием основных параметров, содержащих отображаемый или вводимый текст.


Дата добавления: 2018-04-15; просмотров: 1199; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!