Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Программирование циклических вычислительных процессовСодержание книги
Поиск на нашем сайте
Цель работы: Изучить циклические операторы for, while, do – while, научиться составлять и программировать циклические алгоритмы.
Краткие теоретические сведения Операторы циклов применяют, когда надо повторить некоторые действия (операторы и операции) несколько раз, и такие участки алгоритмов называют циклами.
Оператор цикла for Основная форма оператора цикла for имеет вид for (выражение_1; выражение_2; выражение_3) оператор; где выражение_1 – начальное значения параметра цикла; выражение_2 – проверка условия на продолжение цикла; выражение_3 – изменение параметра цикла (коррекция); оператор – простой или составной оператор языка С. Схема работы оператора следующая: только один раз вначале вычисляется выражение_1, затем проверяется выражение_2, и если оно - «истина», то выполняется циклический участок программы, затем производится коррекция параметра, и так до тех пор, пока выражение_2 не примет значение «ложь». Например: for (k=1; k<5; k++) printf(“\n %d”, k); В результате выполнения этого оператора печатаются в столбик цифры от 1 до 4. В качестве параметра цикла можно использовать переменную любого базового типа. Например: for(ch=’a’; ch<=’z’; ch++) // Вывод на экран букв printf(“ %c”,ch); // латинского алфавита Необходимо тщательно контролировать структуру циклов for в программе, чтобы не получился бесконечный цикл (из которого нет выхода). Например: for(k=10; k>6;k++) printf(“бесконечный цикл \n”); Выйти из цикла досрочно можно следующими способами: - по дополнительному условию; - используя следующие операторы: break; - выход из цикла, в котором находится break, управление передается на первый после цикла выполняемый оператор; exit(int Kod); - выход из программы; return; - выход из функции; - с помощью оператора безусловного перехода goto <метка>; Досрочное завершение текущего циклического шага возможно при помощи дополнительного условия или оператора continue, который прерывает выполнение текущего шага цикла, т.е. пропускает операторы оставшейся части цикла и передает управление в головной оператор цикла для коррекции параметра и проверки условия. Передавать управление извне внутрь цикла запрещается. Любое из выражений цикла for в круглых скобках может отсутствовать, но символ «;» опускать нельзя. Например: int i=0; for(; i<3; i++) puts(“Hello!”);
Циклические операторы while и do–while Основная форма циклического оператора while: While (условие) оператор; где оператор – это простой, составной или пустой оператор. Цикл выполняется до тех пор, пока условие принимает значение «истина», т.е. выражение в скобках возвращает ненулевой результат. Это цикл с предусловием – сначала проверяется условие, затем выполняется оператор. Поэтому цикл while не выполнится ни разу, если изначально результат вычисления условия будет равен 0. Основная форма оператора do – while: do оператор; while (условие); где оператор – это простой, составной или пустой оператор. Оператор do – while – оператор цикла с постусловием, т.е. сначала выполняется оператор, а затем проверяется условие на истинность. Так как в цикле do–while условие проверяется в конце цикла, то цикл будет выполнен хотя бы один раз. В циклах типа while и do–while допустимы те же способы досрочного выхода из цикла и досрочное завершение текущего шага цикла, как и в операторе for, но в последнем случае в отличие от цикла for управление передается на проверку условия. Для предотвращения бесконечного цикла внутри циклов while и do–while нужно предусмотреть изменение переменных, входящих в условие. Например: int i; for (i=1;i<=300;i++) // Печать целых чисел, кратных 5 { if (i%5!=0) continue; printf(“%5d”,i); } Примеры бесконечных циклов: 1) for(;;) оператор; 2) while(число_не_0) // Всегда истинно! оператор; 3) do оператор; while(число_не_0); // Всегда истинно! Среди операторов цикла обязательно должно быть условие выхода. Вложенные циклы В случае вложенных циклов один цикл находится внутри другого, например: for(i=nn;i<nk;i++) for(j=mn;j<mk;j++) оператор; где оператор – это простой, составной или пустой оператор. Внутренний цикл будет выполняться для каждого значения параметра i, удовлетворяющего условию внешнего цикла. Пример: int i,j; for(i=1;i<10;i++) // Печать таблицы умножения { for(j=1;j<4;j++) printf(“\n %d*%d=%2d”, i, j, i*j); printf(“\n”); }
Пример использования оператора for Вычислить . На печать программа должна выводить промежуточные и окончательный результаты. Текст программы может иметь вид #include <stdio.h> #include <conio.h> void main(void) { float s; int k,N; clrscr(); puts(“ Введите N”); scanf(“%d”,&N); for (s=0, k=1; k<=N; k++) // В заголовке цикла можно выпол- { // нять и двойное присваивание s+=1.0/k; printf(" \n k=%d s=%f ", k, s); } printf("\n ОТВЕТ: s=%f, Press any key...",s); getch(); }
Варианты индивидуальных заданий
Составить программу для определения таблицы значений функции у в произвольном диапазоне [ a, b ] изменения аргумента х с произвольным шагом h. Значения a, b, h вводятся с клавиатуры. Таблица должна содержать следующие столбцы: порядковый номер, значение аргумента x, значение функции, сообщение о возрастании или убывании функции, разность двух соседних значений функции. Определить максимальное и минимальное значения функции. 1. a=-p; b=p; h=0,4. 2. a=0,7; b=1,8; h=0,1. 3. a=-0,5; b=2,5; h=0,2. 4. a=-0,9; b=2,7; h=0,3. 5. a=-2; b=0,8; h=0,2. 6. a=-1,9; b=2,7; h=0,3. 7. a=-0,4p; b=0,4p; h=0,5. 8. a=-0,3p; b=1,3p; h= p/10. 9. a=-p/2; b= p/2; h=p/10. 10. a=-3; b=3; h=0,5. 11. a=-p; b=p; h= p/6. 12. a=-0,9; b=1, h=0,3. 13. a=-0,9; b=2,7; h=0,3. 14. a=-0,1; b=2; h=0,1. 15. a=p; b=2p; h= p/15.
Значение аргумента x изменяется от a до b с шагом h. Для каждого x найти значение суммы S(x). Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a=0,1; b=1,0; h=0,1; n выбрать максимально возможным! 16. . 17. . 18. . 19. . 20. .
Контрольные вопросы
1. Какой процесс называется “циклическим”? 2. Чем отличаются операторы while и do - while? 3. Обьясните работу оператора for. 4. Поясните понятие “вложенный цикл”? ЛАБОРАТОРНАЯ РАБОТА № 3
|
||||
Последнее изменение этой страницы: 2016-04-08; просмотров: 1913; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.42.61 (0.006 с.) |