КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Теоретическая часть. 4.1.1. Циклические алгоритмы
4.1.1. Циклические алгоритмы.
Цикл – это последовательность действий, которая может выполняться более одного раза. Циклический алгоритм – это алгоритм, содержащий один или несколько циклов. Имеется 3 вида циклов: - цикл с предусловием; - цикл с постусловием; - цикл со счетчиком (счетный цикл). Если выполнение цикла связано с каким-либо логическим условием, то используются циклы с предусловием или с постусловием. Циклы со счетчиком представляют такой класс, в котором выполнение тела цикла должно повторяться заранее определенное число раз. Блок-схемы циклических алгоритмов выглядят следующим образом: 1. Цикл со счетчиком. 2. Цикл с предусловием. 3. Цикл с постусловием. 4.1.2 Операторы цикла в языке программирования C++.
В C++ для каждого вида цикла имеется соответствующий оператор: - цикл типа while (с предусловием); - цикл типа do…while (с постусловием); - цикл типа for (счетный).
1.Оператор цикла типа while Форма записи: while (условие) оператор; где: (условие) – логическое выражение; оператор – выполняемый в цикле оператор или тело цикла. Если тело цикла представляет собой составной оператор, то его нужно заключить в операторные скобки{...}: while (условие) { группа операторов } Схема работы такого цикла: пока условие является истинным (true), выполняется тело цикла и снова проверяется условие и т.д. Когда условие станет ложным (false) цикл завершает работу. 2. Оператор цикла типа do…while Форма записи: do оператор; while (условие); Схема работы такого цикла: сначала выполняется оператор, потом проверяется условие, если условие является истинным, выполняется оператор и снова проверяется условие и т.д. Когда условие станет ложным, цикл завершает работу. Если тело цикла представляет собой составной оператор, то, как и для цикла с предусловием, его нужно заключить в операторные скобки{...}: do { группа операторов } while (условие); 3. Оператор цикла типа for Форма записи: for (A;B;C) оператор; A – начальное выражение, которое задает начальные значения параметру цикла и при необходимости начальные значения другим параметрам. Например: i=0, x=0.5, p=1, s=0 B – условное выражение, которое проверяет условие продолжения работы цикла. Например: x<=5 C – выражение приращения, которое задает приращение параметру цикла и при необходимости другим параметров, тогда они записываются списком. Например: x+=0.1, i++ 4.1.3 Пример составления алгоритма и программы на языке C++ для циклического вычислительного процесса. Задание: Вычислить значение выражения: b – исходная величина, ее значение вводятся с клавиатуры и не изменяется; a – изменяется в диапазоне [0;10] с шагом 1; y – результат, его значения выводятся на экран. Решение. Исходя из условия задания переменная a является целочисленной, поэтому может быть использована в качестве счетчика в счетном цикле. Блок-схема алгоритма решения данной задачи с использованием счетного цикла выглядит следующим образом: Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом: #include <conio.h> #include <math.h> #include <stdio.h> int main() { int a; float b,y; clrscr(); printf(“Введите b: “); scanf(“%f”,&b); printf(“ a y\n”); for (a=0;a<=10;a++) { printf(“%3d”,a); if (a>b) { y=1.2*a+3*b; printf(“%8.2f\n”,y); } else { if (a>0) { y=(a-b)/sqrt(a); printf(“%8.2f\n”,y); } else printf(“ y не существует\n”); } } getch(); return 0; }
Блок-схема алгоритма решения данной задачи с использованием цикла с предусловием выглядит следующим образом: Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом: #include <conio.h> #include <math.h> #include <stdio.h> int main() { int a; float b,y; clrscr(); printf(“Введите b: “); scanf(“%f”,&b); a = 0; printf(“ a y\n”); while(a<=10) { printf(“%3d”,a); if (a>b) { y=1.2*a+3*b; printf(“%8.2f\n”,y); } else { if (a>0) { y=(a-b)/sqrt(a); printf(“%8.2f\n”,y); } else printf(“ y не существует\n”); } a=a+1; } getch(); return 0; }
Блок-схема алгоритма решения данной задачи с использованием цикла с постусловием выглядит следующим образом:
Текст программы на языке C++, соответствующей данному алгоритму, выглядит следующим образом: #include <conio.h> #include <math.h> #include <stdio.h> int main() { int a; float b,y; clrscr(); printf(“Введите b: “); scanf(“%f”,&b); a = 0; printf(“ a y\n”); do { printf(“%3d”,a); if (a>b) { y=1.2*a+3*b; printf(“%8.2f\n”,y); } else { if (a>0) { y=(a-b)/sqrt(a); printf(“%8.2f\n”,y); } else printf(“ y не существует\n”); } a=a+1; } while(a<=10); getch(); return 0; }
Дата добавления: 2014-11-20; Просмотров: 477; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |