Переписать код из цикла 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.