Операторы безусловного перехода
В языке С++ есть четыре оператора перехода: return, goto, break, continue. Оператор goto не будем рассматривать, так как другие операторы позволяют заменить его, а применение этого оператора в программе довольно сильно запутывает алгоритм.
Оператор return используется для выхода из функции, в том числе и из главной – main(). Общая форма записи оператора:
return <выражение>;
Подробно работа этого оператора будет рассмотрена в разделе «Функции».
Оператор break применяется для выхода из оператора выбора switch() или для прекращения работы цикла любого типа без проверки условия окончание работы этого цикла. Это означает, что если в теле цикла встречается оператор break, то произойдет безусловный переход на оператор, следующий за этим циклом.
Оператор continue используется для передачи управления на заголовок цикла из любого оператора тела этого цикла. При этом все операторы тела цикла, следующие после continue до конца тела цикла, будут игнорироваться.
Пример. Вывести на экран таблицу из n значений функции .
Ход выполнения работы
1. Алгоритм решения задачи строится следующим образом. Из условий задачи видно, что значения x изменяются от a до b. Шаг h, на который изменяются значения x, вычисляется по формуле . Формула для изменения значений x выглядит следующим образом:
Т
Такие формулы называют рекурсивными, поскольку новое значение переменной зависит от предыдущего значения и вычисляется через него.
Каждый раз при получении нового значения x будем вычислять значение y по заданной формуле. Таким образом, необходимо повторить одну и ту же последовательность действий известное (это важно) число раз (в данной задаче количество повторений равно n). Для решения такого типа задач как раз и используются циклические вычислительные процессы. В нашей задаче будет использован цикл с параметром.
2. Написать программу, соответствующую алгоритму:
Алгоритм | Программа |
объявление вещ: а,b,x,y,h, цел: n,i // ввод концов отрезка ввод a ввод b // задаем количество вычисляемых // значений функции ввод n // вычисление шага h=(b-1)/n // задаем начальное значение аргумента x=a // цикл для построения таблицы значений для i=1 до n шаг 1 // вычисляется значение функции y=|cos(x)|+|x-1| печать x,y // вычисляем новое значение // аргумента x=x+h всё_для i | #include "stdio.h" #include "math.h" int main ( ) { float a, b, x, y, h; int n, i; // ввод концов отрезка printf("a="); scanf("%f",&a); printf("b="); scanf("%f",&b); // задаем количество //вычисляемых значений функции printf("n="); scanf("%i",&n); // вычисление шага h=(b-a)/n; // задается начальное значение аргумента x=a; //печатается заголовок таблицы printf("x\ty\n"); // цикл для построения таблицы значений for (i=1; i<=n; i++) { // вычисляется значение функции y=fabs(cos(x))+fabs(x-1); printf("%7.3f\t%7.3f\n",x,y); // вычисляется новое значение //аргумента x=x+h; } return 1; } |
3. Создать проект и реализовать данную задачу в среде Visual C++ 6.0.
Дата добавления: 2015-08-08; просмотров: 1101;