Операторы цикла с постусловием

Контрольные вопросы:

1. Как называется цикл, где сначала выполняется оператор, затем проверяется условие?

2. Сколько операторов можно записать между ключевыми словами repeat и until?

3. Какой тип имеет выражение в операторе цикла с постусловием?

4. Почему в цикле с постусловием тела цикла выполняется хотя бы один раз?

 

Задачи:

1. Дана числовая последовательность: . Найти сумму отрицательных элементов при . (ответ: -1644128).

2. Дана числовая последовательность: . Найти сумму отрицательных элементов при . (ответ: -0,0346789).

3. Дана числовая последовательность: . Найти сумму отрицательных элементов при . (ответ: -128846,8).

4. Дана числовая последовательность: . Найти произведение членов последовательности от пятого до двадцать пятого. (ответ: 1,555535Е-32).

5. Дана числовая последовательность: . Найти сумму первых пятидесяти членов. (ответ: 3,5158813).

6. После каждого движения поршня разряжающего насоса из сосуда удаляется 20% находящегося там газа. Сколько движений поршня нужно сделать, чтобы достичь давления при начальном давлении ? (ответ: при =1 и =100потребуется 21 движение поршня).

7. Шары расположены в форме треугольника так, что в первом ряду находится один шар, во втором- два, в третьем- три и так далее. Сколько рядов удастся построить, если имеется шаров? (ответ: при =105 будет построено 14 рядов).

8. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от результата предыдущего дня. Найти какой путь пробежит спортсмен в 7-й день? (ответ:17,71561 км).

9. Сколько чисел нужно взять в последовательности 1+2+3+4+…, чтобы получить число, больше чем ? (при =252 нужно взять 23 числа).

10. Найти наибольшее число вида , меньшее m, где . (ответ: при =0,5, =2).

11. Вычислить наибольшее целое положительное число , удовлетворяющее условию: (ответ: =42).

12. Найти натуральное число, которое в пять раз меньше суммы предшествующих ему натуральных чисел (ответ: число 11).

13. Найти натуральное число, которое равно сумме предшествующих ему натуральных чисел (ответ: число 3).

14. Для данного числа найти такое натуральное , для которого и (ответ: для ).

15. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от результата предыдущего дня. Найти через сколько дней спортсмен пробежит суммарный путь более 100 км? (ответ: через 8 дней).

16. Вычислить наибольшее целое положительное число , удовлетворяющее условию: (ответ: =411).

17. Дана числовая последовательность: . Найти сумму членов последовательности с десятого по тридцатый включительно (ответ: -2543,513).

18. Дана числовая последовательность: . Члены последовательности с четными номерами заменили на обратные им числа (5 на –5). Найти сумму членов последовательности с десятого по тридцать первый включительно (ответ: 33).

19. Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводится с клавиатуры (ответ: при 45, 23, 15 сумма чисел: 83, среднее арифметическое: 27,67).

20. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (ответ: при 56,75,43,0 максимальное число: 75).

 

Литературы:

Основная литература:

1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 с.

2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 с.

3. Вирт Н. Алгоритмы и структуры данных./Пер. с англ. М.: Мир, 1989. - 360 с.

4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 с.

5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Пер. с англ. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 с.

6. Епанешников Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 с.

7. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 с.

Дополнительная литература:

1. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988. - 224 с.

2. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 с.

3. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 с.

4. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Пер. с англ. - М.: Мир, 1993. - 536 с.

5. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 с.

6. Фаронов В.В. Паскаль и Windows. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1994. - 539 с.

 

Методические указания:

На Паскале опретор цикла с постусловием записывается следующим образом: repeat <оператор> until <условие>.

При переводе означает: повторять что-то пока не выполнилось условие. Под обозначением <оператор> здесь понимается либо одиночный, либо последовательность операторов, разделённых точкой с запятой.

Цикл работает следующим образом: выполняется оператор, затем проверяется условие, если оно пока еще не выполнилось, то оператор выполняется вновь, затем проверяется условие, и т. д. Когда условие, наконец, станет истинным выполнение оператора, расположенного внутри цикла, прекратится, и далее будет выполняться следующий за циклом оператор. Под условием, вообще говоря, понимается выражение логического типа.

Пример (подсчет суммы натуральных чисел от 1 до 100):

var i,sum: integer;

begin

sum:=0; i:=0;

repeat

i:=i+1;

sum:=sum+i;

until i=100;

writeln('сумма=',sum);

readln;

end.

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

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

 

Блок-схема:   Описание блок-схемы: 1-блок – начало алгоритма 2-блок – начальное значение суммы S=0 3-блок – N-количество чисел, удовлетворяющих заданному условию. Если мы хотим узнать количество таких чисел, то естественно мы должны ввести переменную, которая изначально равна 0 и увеличивается каждый раз, как только встретилось положительное число 4-блок – ввод чисел (а) 5-блок – сумма постепенно накапливается 6-блок - количество чисел, увеличивается на 1 каждый раз, как только встречается положительное число. 7-блок – дальнейшей ход алгоритма зависит от заданного условия 8-блок – Мы должны уменьшить N на единицу, чтобы получить точное количество положительных чисел, так как условие не выполняется 9-блок – вычисляется среднее арифметическое число по формуле M=S/n 10-блок – печать полученного результата 11-блок – конец алгоритма

program pr1;

var a: integer;

n: integer;

S: integer;

m: real;

begin

write (‘введите числа’);

S:=0;

n:=0;

repeat

readln (a);

S:=S+a;

n:=n+1;

until a<=0;

n:=n-1;

writeln (‘сумма чисел:’,S);

m:=S/n;

writeln (‘среднее арифм:’,m:6:2);

end.

 

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