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

2.3 Цикл с постусловием – оператор цикла do-while

Если требуется выполнить тело цикла, хотя бы один раз до проверки условия выхода, используют оператор do-while:

do{

оператор;

}while(условие);

Цикл выполняется пока значение условия истинно. Например, считываем и выводим на экран число, пока не будет введено число большее или равное 100:

int i;

do{

scanf(“%d ”, &i);

printf(“%d”, i);

} while(i<100);

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

2.4 Организация вложенных циклов

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

for(int i=0; i < 10; i++)

for(int j=0; j<10; j++){

printf(“%d”, j+i*10);

printf(”\n”);

}

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

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

Лабораторная работа включает три задания

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

  1. Переменная цикла должна быть инициализирована до начала цикла

  2. Выражение условия цикла должно содержать переменную цикла

  3. В теле цикла необходимо предусмотреть изменение переменной цикла

Рассмотрим примеры решения задачи

Пример 1

Словесная постановка задачи. Разработать программу нахождения наименьшего простого делителя натурального числа k, большего единицы.

Формальная постановка задачи.

Входные данные: k – натуральное число, k>1;

Выходные данные: i – наименьший простой делитель числа k, i1.

Метод решения: Известно, что простым называется число, не имеющее делителей, отличных от единицы и его самого, причем единица во множество простых чисел не входит. Наименьшее число, на которое данное число k делиться без остатка, можно найти, последовательно деля число k на число i, начиная с i=2. Если k делиться на число i без остатка, то число iискомый простой наименьший делитель. Иначе проверяется, делиться ли число k на число i+1. Запишем рассуждения в виде последовательности команд.

Алгоритм решения задачи.

4. Листинг программы

#include <stdio.h>

#include <conio.h>

int main(){

printf(“введите натуральное число”);

readln(k);

i:=2;

while (k%i<>0){

i:=i+1;

}

writeln(‘наименьший простой делитель числа’, k, ‘равен’, i);

end.

Пример 2.

Вычислить и вывести значение функции, заданной с помощью ряда Тейлора, в точке x с точностью : .

Формальная постановка задачи.

Входные данные: x – действительное число число, k>1;

Выходные данные: i – наименьший простой делитель числа k, i1.

3. Варианты заданий

3.1 Задания для общего выполнения

  1. Написать программу нахождения наибольшего общего делителя двух натуральных чисел методом Евклида.

  2. Написать программу, подсчитывающую количество вхождений отрезка заданной длины в указанный интервал.

  3. «Угадай число». Пользователю предлагается отгадать число за 10 попыток. Программа дает подсказки вида больше, меньше.

  4. Составьте программу, выводящую на экран квадраты чисел от 10 до 20.

  5. Составьте программу, которая вычисляет сумму чисел от 1 до 100.

  6. Составьте программу, которая вычисляет сумму чисел от 1 до N. Значение N вводится с клавиатуры.

  7. Составьте программу, которая вычисляет произведение чисел от 1 до N. Значение N вводится с клавиатуры.

  8. С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел. Значение N вводится с клавиатуры.

  9. Составьте программу, которая печатает таблицу перевода расстояний из дюймов в сантиметры (1 дюйм = 2,5 см) для значений длин от 1 до 20 дюймов.

  10. В сберкассу на трехпроцентный вклад положили S рублей. Какой станет сумма вклада через N лет?

  11. Ввести с клавиатуры 10 пар чисел. Сравнить числа в каждой паре и напечатать большие из них.

  12. Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.

  13. Даны натуральные числа от 35 до 87. Найти и напечатать те из них, которые при делении на 7 дают остаток 1, 2 или 5.

  14. Даны натуральные числа от 1 до 50. Найти сумму тех из них, которые делятся на 5 или на 7.

  15. Ввести с клавиатуры 10 чисел. Если среди них есть числа, большие 15, заменить их на 15. Напечатать все полученные числа.

  16. Ввести с клавиатуры 10 чисел – положительных и отрицательных. Заменить все отрицательные числа их модулями и напечатать все полученные 10 чисел.

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

  18. Найти произведение двузначных нечетных чисел, кратных 13.

  19. Найти сумму чисел от 100 до 200, кратных 17.

  20. Ввести с клавиатуры 10 чисел. Если квадрат числа меньше 100, напечатать число и его квадрат.

  21. Составьте программу, которая вычисляет сумму квадратов чисел от 1 до введенного вами целого числа n.

  22. Написать программу, которая по заданным значениям чисел a и b находит ab. В запросе укажите допустимые значения этих переменных ( например, если a – дробное, то b не может быть отрицательным ).

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

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