Другие языки программирования и технологии

Кто шарит в Borland Pascal помогите написать прогу

var
one, a: byte;
number: longint; { вводимое число не должно быть больше 2147483647}
begin
one:= 0;
writeln ('vvedite thislo'); { приглашение ввести число}
readln (number);

repeat { цикл с постусловием}
a:= number mod (10); { откусываем от числа последнюю цифру}
if a= 1 then { и проверяем её на равество 1}
one:= one + 1; { если она равна 1, то прибавляем счётчик}
number:= trunc (number / 10); { убираем насовсем последнюю цифру }
until number = 0; { если всё число проверили, то выходим из
цикла}
writeln (' v thisle ', one, ' edinith'); { печать количества единиц в числе}
readln;
end.
Тим Милия
Тим Милия
1 183
Лучший ответ
1 перевод числа в строку
2 перебор строки циклом по буквам сравнивая с эталоном '1'
3 если сравнение прошло успешно +1 к счетчику
--------------------------------------------------------------------
ODD помойму вычисляет четность если нет то
if (i mod 2 == 0) then четное знач +1
все остальное как в 1й задаче
Alfarabi Zhailybaev Пишешь на C++? ))
В Паскале будет
if (i mod 2 = 0) then четное знач +1
var s,i:integer;
begin
readln(i); s:=0; repeat if i mod 10=1 then inc(s); i:=i div 10 until i=0;
writeln(s); readln
end.

var s,i:integer;
begin
readln(i); s:=0; repeat if not odd(i) then inc(s); i:=i div 10 until i=0;
writeln(s); readln
end.

Можно было бы написать короче, но это будет менее понятно.
А объяснение - проверяем последнюю цифру числа (в первой программе остаток от деления этого числа на 10, во второй можно просто проверить, четное ли число) , если соответствует условию, увеличиваем s на 1, после чего делим число на 10 и повторяем процесс, пока число не станет равно 0.
Числа - до 32000. Если надо больше, достаточно заменить слово integer на longint.
ЮЛ
Юрий Лямзин
32 266
Здесь можно скачать книжки по Паскалю, я бы рекомендовал Фаронова, сам по нему учил )
http : // tp7 . info/ebook.php