На C++ else if выводит что то одно, у меня же оно выводит всё:
if v = power(10,12) then
write ('Result: '); write (v/100000); write (' tHz'); writeln;
if v = power(10,9) then
write ('Result: '); write (v/10000); write (' gHz'); writeln;
if v = power(10,6) then
write ('Result: '); write (v/1000); write (' mHz'); writeln;
if v = power(10,3) then
write ('Result: '); write (v/100); write (' kHz'); writeln;
if v = power(10,2) then
write ('Result: '); write (v/10); write (' hHz'); writeln;
if v = power(10,1) then
write ('Result: '); write (v/1); write (' daHz'); writeln;
if v = (1) then
write ('Result: '); write (v); write (' Hz');
Другие языки программирования и технологии
Не могу правильно написать else if на Паскале
if v = power(10,12) then
begin write ('Result: '); write (v/100000); write (' tHz'); writeln end;
Дальше аналогично.
А еще лучше вместо этого
if v = power(10,12) then writeln ('Result: ',v/100000,' tHz');
begin write ('Result: '); write (v/100000); write (' tHz'); writeln end;
Дальше аналогично.
А еще лучше вместо этого
if v = power(10,12) then writeln ('Result: ',v/100000,' tHz');
Михаил Есин
не работает
да можно и без елсе. Но где гарантия, что в именно равно 10**3н?
Если формулы верные, тогда так
const c = 300000;
r = 1.616229*(power(10,-35));
var y, v: real;
v1: longInt;
i: byte;
begin
writeln ('Расчёт частоты электромагнитных волн');
writeln ('Условные обозначения: ',#10, 'c - скорость света ', c,' м/с');
writeln ('v - частота волны ',#10,'y - длина волны ');
writeln ('Формулы расчёта: ',#10, 'v = c/y');
write ('Длина волны = ');
readln (y);
v:= c/y;
writeln ('v = ', v);
v1:=round(v);
while v1 > 10 do
begin
inc (i);
v1:= v1 div 10;
end;
write ('Result = ');
case i of
0: writeln (v, ' Hz');
1: writeln (v/10,' daHz');
2: writeln (v/100,' hHz');
3: writeln (v/1000,' kHz');
4..6: writeln (v/1000000,' mHz');
7..9: writeln (v/1000000000,' gHz');
10..12: writeln (v/1000000000000,' tHz');
{можно еще дописать диапазоны, также отрицательные -3..-1, -6..-4, тогда немного поправить код необходимо}
else writeln ('Error: невозможное значение');
end;
end.
const c = 300000;
r = 1.616229*(power(10,-35));
var y, v: real;
v1: longInt;
i: byte;
begin
writeln ('Расчёт частоты электромагнитных волн');
writeln ('Условные обозначения: ',#10, 'c - скорость света ', c,' м/с');
writeln ('v - частота волны ',#10,'y - длина волны ');
writeln ('Формулы расчёта: ',#10, 'v = c/y');
write ('Длина волны = ');
readln (y);
v:= c/y;
writeln ('v = ', v);
v1:=round(v);
while v1 > 10 do
begin
inc (i);
v1:= v1 div 10;
end;
write ('Result = ');
case i of
0: writeln (v, ' Hz');
1: writeln (v/10,' daHz');
2: writeln (v/100,' hHz');
3: writeln (v/1000,' kHz');
4..6: writeln (v/1000000,' mHz');
7..9: writeln (v/1000000000,' gHz');
10..12: writeln (v/1000000000000,' tHz');
{можно еще дописать диапазоны, также отрицательные -3..-1, -6..-4, тогда немного поправить код необходимо}
else writeln ('Error: невозможное значение');
end;
end.
там надо через else вроде обязательно, то есть как в экселе условия, если вариантов больше двух, то два пишутся в условии внутри "иначе", а потом еще раз и т. д.
Похожие вопросы
- [PASCAL] IF - ELSE IF - ELSE. Программирование.
- Напишите программу на языке Паскаль для решения задачи:
- напишите пожалуйста программы по паскалю.
- Помогите написать простенькие задачи в паскале
- Помогите написать программу в Турбо паскале.
- Что не правильно в этой программе на паскале?
- Помогите пожалуйста! помогите написать программу на языке паскаль
- Напишите пожалуйста программу на паскале!!
- Помогите написать программу для турбо паскаля
- Здравствуйте напишите простую прогу на паскале пожалуйста. задание внутри