Переписать код из цикла while в цикл for - C (СИ)
Формулировка задачи:
Помогите, объясните, как из цикла while() переделать в for(;;, конкретно на этом примере готовой задачи..
#include <stdio.h> #include <stdlib.h> #include <math.h> #define C 1 int main() { const float B=3.4; int D; float S,F,A,AN,AK,HA; printf("Vvedite nachalnoe znachenie, konecnoe i shag A :"); scanf("%f%f%f",&AN, &AK, &HA); printf("Vvedite chislo D:"); scanf("%d",&D); A=AN; while(A<=AK+0.01*HA) { printf("\n A=%8.2f", A); S=B-C*A+D; printf("\n Rezultat: %7.3f",S); if((A>=-1)&&(A<=1)) { F=S*acos(A); printf("\n F=%12e",F); } else printf("\n F - ne sushestvuet"); A+=HA; } return 0; }
Решение задачи: «Переписать код из цикла while в цикл for»
textual
Листинг программы
for (A = AN;A <= AK + 0.01*HA;A+=HA) { printf("\n A=%8.2f", A); S = B - C*A + D; printf("\n Rezultat: %7.3f", S); if ((A >= -1) && (A <= 1)) { F = S*acos(A); printf("\n F=%12e", F); } else printf("\n F - ne sushestvuet"); }
Объяснение кода листинга программы
- Цикл
for
начинается с инициализации переменнойA
значениемAN
и условием, чтоA
меньше или равноAK + 0.01*HA
. ЗначениеHA
используется для увеличенияA
на каждой итерации цикла. - На каждой итерации цикла значение
A
выводится на экран с помощью функцииprintf
. - Затем вычисляется значение переменной
S
, используя формулуB - C*A + D
. - Значение
S
также выводится на экран с помощью функцииprintf
. - Затем проверяется, находится ли значение
A
в диапазоне от -1 до 1. Если это так, то вычисляется значение переменнойF
с помощью формулыS*acos(A)
. - Значение
F
выводится на экран с помощью функцииprintf
. - Если значение
A
не находится в диапазоне от -1 до 1, то выводится сообщениеF - ne sushestvuet
с помощью функцииprintf
. - Цикл продолжается до тех пор, пока значение
A
не превыситAK + 0.01*HA
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д