Лабораторная работа №3
Программы циклической структуры 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении алгоритмов и программ циклической структуры. ОСНОВНЫЕ СВЕДЕНИЯ Операторы циклов В языке Си существует 3 вида циклов: 1) цикл с параметром или цикл типа for; 2) цикл с предусловием или цикл типа while, 3) цикл с постусловием или цикл типа do ... while. Во всех этих циклах условие продолжения цикла заключается в круглые скобки. В циклах типов for и while повторяющаяся часть состоит из одного оператора, если требуется выполнить в цикле несколько операторов, они заключаются в фигурные скобки, образуя составной оператор. В цикле с постусловием тело цикла помещается между словами do и while. В отличие от цикла с предусловием, цикл с постусловием выполнится хотя бы один раз. Циклы с пред- и постусловием продолжаются, если условие продолжения истинно. Цикл с параметром Для цикла типа for заголовок состоит из трех разделов: инициализации (присваивания начальных значений), проверки условия повторения, модификации (изменения параметров). Разделителем между разделами заголовка служит запятая. Пример вычисления суммы квадратов натурального ряда чисел от 1 до n. S= = 12 + 2 2 + . . . + n 2. //lab3_1.c сумма квадратов натурального ряда #include <stdio.h> main() { int S,n,i; printf(“Введите n ”); scanf(“%d”,&n); for (S=0, i=1; i<=n; i++) S+=i*i; // соответствует S=S+i*i printf (“n=%d S=%d”,n,S); } В разделе инициализации присваиваются начальные значения переменным S и i. При i, не превышающем n, цикл повторяется, иначе выполняется выход из цикла. Оператор инкремента i++ (или декремента i--), эквивалентен i=i +1 (i=i-1). Для досрочного выхода из цикла и перехода на следующий оператор после цикла используется оператор break. Для пропуска всех операторов, оставшихся до конца тела цикла и перехода к следующему повторению цикла используется оператор continue. Циклы с неизвестным количеством повторений Изменим условие в предыдущем примере: Определить число n, при котором сумма чисел S предыдущего ряда не превысит величину K, введенную с клавиатуры. Такую программу можно реализовать с помощью циклов предусловия или постусловия следующим образом: //lab3_2 циклы while и do…while #include<stdio.h> #include<conio.h> main() {int K,S, i; clrscr(); // очистка экрана перед выводом printf (“Введите К ”); scanf (“%d”, &K); // цикл с предусловием //цикл с постусловием S=0; S=0; i=0; i= 0; do while ( S<K) { i++ ; S+=i*i }; { i++; S+=i*i; } while ( S<K) ; printf (“n=%d S=%d\n”, i, S); getch(); } Отличие этих программ: если ввести К<1, то в программе с предусловием получим S=0, i=0 ; а в программе с постусловием S=1, i=1. ВЫПОЛНЕНИЕ РАБОТЫ Составить 3 варианта программ циклической структуры типа for и while, сравнить полученные результаты. Варианты заданий 1. . 2. . 3. . 4. . 5. . 6. . 7. 8. 9. . 10. . 11. 12. 4. КОНТРОЛЬНЫЕ ВОПРОСЫ 4.1. Какой алгоритм является алгоритмом циклической структуры? 4.2. Типы циклов в языке Си. 4.3. Какой цикл выполнится хотя бы один раз? А какой - ни разу?
Лабораторная работа №4
Популярное: Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (437)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |