Задача: в последовательности четырёх чисел, заданных с клавиатуры, найти количество нулей. У меня получилась такая вот программка, только какая-то она примитивная...
program zadacha;
uses crt;
var a,b,c,d:real;
i:integer;
begin clrscr;
i:=0;
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
write('d=');
readln(d);
if a=0then i:=i+1;
if b=0then i:=i+1;
if c=0then i:=i+1;
if d=0then i:=i+1;
writeln ('Количество нулей = ',i);
readkey;
end.
М
Просьба использовать тэги [cоde=pas] ... [/cоde] для паскалевского кода. Исправлено. Lapp
Айра
27.02.2009 1:10
Да вроде так все.. А массивы проходили, может с ними делать? Или "найти количество нулей" - не чисел, равных нулю, а цифр=0 во всех этих числах
goosberry
27.02.2009 1:20
С массивами я знакома, но здесь мы их ещё не разбирали, поэтому программа точно без массивов.
Lapp
27.02.2009 4:41
Любая программу будет смотреться примитивно, если в ней не соблюдается элементарное форматирование (отступы). И любая, даже самая простая программа, даже 2х2, будет выглядеть профессионально, если она правильно сформатирована.
А если хочешь пооригинальнее, можешь сделать так, например:
program zadacha;
uses
crt;
var
a,b,c,d:real;
begin
clrscr;
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
write('d=');
readln(d);
writeln ('Количество нулей = ',Byte(a=0)+Byte(b=0)+Byte(c=0)+Byte(d=0));
readkey;
end.
Еще одно замечание: действительные числа неправильно сравнивать с нулем знаком равенства. Ошибки вычислений всегда были, есть и будут. Для только что введенных с клавиатуры чисел это еще сработает, но для результатов вычислений - практически никогда. Сравнивать надо так:
Abs(a)<e
- где e - допустимая ошибка.
И обрати внимание на замечание Айры про нули в десятичной записи - не это ли имелось в виду?
Добавлено через 3 мин. И последнее: убери clrscr. Это mauvais ton
volvo
27.02.2009 5:58
Цитата
С массивами я знакома, но здесь мы их ещё не разбирали
Циклы разбирали? (насколько я помню, циклы идут перед массивами) Читаешь число, сразу проверяешь его на близость к нулю. Если близко - увеличиваешь счетчик. И так 4 раза подряд... А потом содержимое счетчика печатаешь...
goosberry
28.02.2009 23:07
Циклом мне тоже пользоваться нельзя, т.к. тема "Алгоритмы разветвлённой структуры". А за советы всем спасибо))
Lapp
1.03.2009 13:52
Цитата(goosberry @ 28.02.2009 19:07)
т.к. тема "Алгоритмы разветвлённой структуры"
Фи.. это, выходит, тебе и мое решение не подходит. Тогда твое изначальное решение рулит!))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.