Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_Раб_4С++.doc
Скачиваний:
5
Добавлен:
17.11.2019
Размер:
155.65 Кб
Скачать

Do оператор while ( выражение );

Схема выполнения оператора do while:

1. Выполняется тело цикла (которое может быть составным оператором).

2. Вычисляется выражение.

3. Если выражение равно нулю, то выполнение оператора do while заканчивается и выполняется следующий оператор по порядку за оператором цикла. Если выражение не равно нулю, то выполнение оператора цикла do while продолжается с пункта 1.

Пример 1. Сколько лет нужно ожидать вкладчику для накопления суммы в S рублей, если начальный вклад равен N, а проценты по вкладу за год равны P?

Блок-схема решения задачи представлена на рисунке 1.

# include <iostream.h>

#include <conio.h>

void main() {

int kol;

float n, p, s;

cout << “Введите начальный вклад \n”;

cin >>n;

cout << “Введите процент за год \n”;

cin >> p;

cout << “Введите требуемую сумму \n”;

cin >> s;

kol=0;

do {

n+=n*p/100; // накопление суммы с процентами

kol++; //подсчет количества лет

}

while n < s;

cout << “Через” << kol<<” лет будет сумма”<< s; getch() ;

}

Рис. 1 Блок-схема к примеру 1

1 .2 Вложенные циклы

В теле любого оператора цикла могут находиться другие операторы цикла. При этом цикл, содержащий в себе другой, называется внешним, а цикл, находящийся в теле первого – вложенным. Правила организации внешнего и вложенного циклов такие же, как и для простого цикла. Но при программировании вложенных циклов необходимо соблюдать следующее дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.

Пример 2. Вычислить .

Блок-схема решения задачи приведена на рисунке 2.

#include <iostream.h>

#include <conio.h>

void main() {

int i, j, n, f;

float s;

cout << “Введите n”;

cin >>n;

for (i=1; i<=n; i++) {

f=1;

for (j=1; j<=2*i; j++) f=f*j; //Подсчет факториала

s=s+1/f;

}

cout << “Сумма = “ <<s; Рис. 2 Блок-схема к примеру 2

getch() }

2 Задание

2.1 Составить и отладить программу с использованием цикла for в соответствии с указанным преподавателем вариантом из приложения А.

2.2 Составить и отладить программу с использованием вложенного цикла.

На предприятии выработка продукции за одну неделю месяца составляла n единиц. Еженедельно она увеличивалась на 10%. Каждый месяц цена продукции увеличивалась на 2%. Рассчитать стоимость продукции, выработанной предприятием, за каждую неделю трех месяцев. Считать, что в месяце 4 недели.

Фрагмент программы с использованием вложенных циклов:

for (i=1; i<=3; i++) { //Цикл по месяцам

for (j=1; j<=4; j++) { //Цикл по неделям

n=n+n*0.1; //Увеличение выработки продукции еженедельно

s=c*n; //Расчет стоимости еженедельно

cout << “Стоимость продукции за “<<i<<” месяц “<< j <<” неделю “<<s<<”\n”;

}

c=c+c*0.02; // Увеличение цены продукции ежемесячно

}

2.3 Составить и отладить программу с использованием вложенных циклов соответствии с указанным преподавателем вариантом из приложения Б

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

  1. Какие типы циклов вы знаете?

  2. Что такое вложенные циклы?

  3. Какие дополнительные условия необходимо соблюдать при организации вложенных циклов?

  4. Сколько раз выполнится цикл: for (i = 1; i<=-1; i++) k:=k*i ?

  5. Сколько раз выполнится цикл: for (i= -1; i<=1;i++) k:=k*i ?

  6. Сколько раз выполнится цикл: m=123; while (m<>0) m=m%10 ?

4Требования к отчету

Отчет о проделанной работе должен содержать:

  • название работы, ее цель;

  • номер и условие своего варианта для выполнения задания;

  • блок-схемы и тексты программ;

  • полученные результаты выполнения программы;

  • ответы на контрольные вопросы из пункта 3 по указанию преподавателя.

Приложение А

Задания на повторение с использованием операторов цикла

  1. В бригаде, работающей на уборке сена, имеется N сенокосилок. Первая сенокосилка работала m часов, а каждая следующая на 10 минут больше, чем предыдущая. Сколько часов проработала вся бригада?

  2. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней?

  3. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. В какой день впервые спортсмен пробежит более 20 км?

  4. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. В какой день впервые суммарный путь превысит 60 км?

  5. Подрабатывая вечерами, студент решил накопить сумму в S рублей для покупки компьютера. В первый месяц он отложил P рублей. Затем его вклад каждый раз бы л на 3 % больше предыдущего вклада. Через сколько месяцев студент сможет купить компьютер?

  6. В водоеме 100 т рыбы. Каждый год рыболовецкая бригада вылавливает 15 т. Воспроизводство рыбы 5 % в год. Для сохранения воспроизводства необходимо прекращать лов, когда в водоеме ее остается менее 5 т. Через сколько лет лов рыбы должен быть прекращен?

  7. Дано n вещественных чисел. Найти сумму тех из них, которые имеют четный остаток от деления на некоторое число t.

  8. Дана последовательность из 10 действительных чисел. Найти количество элементов последовательности, превышающих по модулю число 7.

  9. Дано n вещественных чисел. Найти сумму тех из них, которые имеют остаток от деления на некоторое число m, равный 0. Посчитать количество таких элементов.

  10. Дано n вещественных чисел. Заменить те из них, у которых остаток от деления на m равен 2 числом m. Подсчитать количество таких замен.

  11. С клавиатуры вводятся действительные числа и последовательно суммируются. Когда их сумма превысит 150, найти количество введенных чисел и их сумму.

  12. Дано n вещественных чисел. Заменить все ее члены, большие данного числа x, этим числом. Подсчитать количество таких замен.

  13. С клавиатуры вводится десять двузначных нечетных чисел. Если число кратно 13, то найти произведение чисел, из которого оно состоит. Результат вывести на экран.

  14. С клавиатуры вводится десять чисел – положительных и отрицательных. Заменить все отрицательные числа их модулями, подсчитать количество таких замен.

  15. С клавиатуры вводятся десять двузначных чисел. Напечатать те из них, которые делятся нацело на 4, но не делятся на 6. Подсчитать их количество.

  16. Гражданин 1 марта открыл счет в банке, вложив 1000 руб. через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить: через сколько месяцев размер вклада превысит 1200 руб.

  17. Гражданин 1 марта открыл счет в банке, вложив 1000 руб. через каждый месяц размер вклада увеличивается на 2% от имеющейся суммы. Определить за какой месяц величина ежемесячного увеличения вклада превысит 30 руб.

  18. Начав тренировки, лыжник в первый день пробежал 5 км. Каждый следующий день он увеличивал длину пробега на 15% от пробега предыдущего дня. Определить, в какой день он пробежит больше 40 км;

  19. В некотором году (назовем его условно первым) на участке 100 гектаров средняя урожайность зерна составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность – на 2%. Определить: в каком году урожайность превысит 22 центнера с гектара.

  20. В некотором году (назовем его условно первым) на участке 100 гектаров средняя урожайность зерна составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность – на 2%. Определить: в каком году площадь участка станет больше 120 гектаров.

  21. В некотором году (назовем его условно первым) на участке 100 гектаров средняя урожайность ячменя составила 20 центнеров с гектара. После этого каждый год площадь участка увеличивалась на 5%, а средняя урожайность – на 2%. Определить: в каком году общий урожай, собранный за все время, начиная с первого года, превысит 800 центнеров.

  22. Дано число а (1 < а < 1,5) . Из чисел , ,… напечатать те, которые не меньше а.

  23. Дано число а (1 < a < 1,5). Среди чисел , ,… найти первое, меньшее а.

  24. Дана последовательность чисел , ,…, . Напечатать все значения n, при которых все числа последовательности будут меньше а (1 < a < 1,5).

  25. Дано число а (1 < а < 1,5). Найти такое наименьшее n, что в последовательности чисел , ,…, последнее число будет меньше а.

  26. Дано вещественное число а. Из чисел 1, , , … напечатать те, которые меньше а.

  27. Среди чисел 1, , , …найти первое, большее числа n.

  28. Дано вещественное число а. Напечатать все значения n, при которых < a.

  29. Дано вещественное число а. Найти такое наименьшее n, что >a.

  30. Для заданного натурального числа n и вещественного числа х вычислите .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]