Перевести код из паскаля в си - C (СИ) (70600)
Формулировка задачи:
program While16;
var
P, S, D:Real;
K :Integer;
begin
Write('Введите процент: ');
Readln(P);
K:=1;
D:=10;
S:=10;
while S<=200 do
begin
inc(K,1);
D:=D+D*P/100;
S:=S+D;
end;
Writeln(K,' ',S);
end.Решение задачи: «Перевести код из паскаля в си»
textual
Листинг программы
#include <stdio.h>
#define EPSILON 0.000001f
int main(void) {
float s = 10.0f;
float d = 10.0f;
float p;
int k = 1;
printf("Enter percentage: ");
scanf("%f", &p);
while ((200.0f - s) > EPSILON) {
k++;
d = d + d * (p / 100.0f);
s = s + d;
}
printf("%d %f\n", k, s);
return 0;
}
Объяснение кода листинга программы
Вывод списка элементов кода:
- Объявлены переменные: s, d, p, k (строки 6-8)
- Задано значение переменной s равное 10.0 (строка 9)
- Задано значение переменной d равное 10.0 (строка 10)
- Значение переменной p считывается с помощью функции scanf (строка 14)
- Организован цикл while для перебора итераций (строка 17)
- Внутри цикла выполняется операция по увеличению переменной k на 1 (строка 18)
- Внутри цикла выполняется операция по увеличению переменной d на значение переменной p (строка 19)
- Внутри цикла выполняется операция по увеличению переменной s на значение переменной d (строка 20)
- Осуществляется проверка условия для цикла while (строка 21)
- После выполнения цикла, выводится значение переменной k и s (строка 24)
- Завершается функция main (строка 25) Код выполняет следующие действия:
- Сначала объявляются три переменные типа float: s, d и p, а также одна переменная типа int: k. Значение переменной s устанавливается равным 10.0, а значение переменной d и p считываются с помощью функции scanf.
- Затем начинается цикл while, который выполняется до тех пор, пока значение переменной s не станет больше 200.0. Внутри цикла выполняются следующие действия:
- Увеличивается значение переменной k на 1.
- Значение переменной d увеличивается на значение переменной d, умноженное на значение переменной p, деленное на 100.0.
- Значение переменной s увеличивается на значение переменной d.
- После выполнения цикла, выводится значение переменной k и s.
- Функция main завершается, и выполнение программы прекращается.