Аппаратная часть ЭВМ: Блок питания, Материнская плата, Процессор, ОЗУ, Жесткий диск и Видеокарта.
Программная часть ЭВМ: <span>Набор программ, управляющих действиями компьютера при его использовании для решения задач. Можно написать про BIOS (как микропрограмма), далее можно написать про Операционную систему, какие-то программы в ОС... </span>
//PascalABC.NET Версия 3.0 Сборка 1150
var n:integer;
begin
writeln('Сколько стоит товар?');
readln(n);
n:=1000-n;
writeln('Сдача ',n,' рублей. Нужны купюры:');
writeln(n div 500, ' по 500 рублей, ', (n-(n div 500)*500)div 100, ' по 100 рублей, ', (n mod 100) div 50, ' по 50 рублей, ', (n-(n div 50)*50) div 10,' по 10 рублей, и ещё ', n mod 10, ' рублей мелочью.');
<span>end.
Результат работы:
Сколько стоит товар?
324
Сдача 676 рублей.
Нужны купюры:
1 по 500 рублей, 1 по 100 рублей, 1 по 50 рублей, 2 по 10 рублей, и ещё 6 рублей мелочью.<span>
</span></span>
<em>1. Современное решение, когда можно решить "в одну строку"</em>
<em>// PascalABC.NET 3.2, сборка 1439 от 09.05.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('S=',ReadSeqInteger(3).Select(n->n.ToString
.Where(d->Pos(d,'13579')>0)).SelectMany(c->c)
.Select(c->c.ToDigit).Sum)
end.
<u>Пример</u>
252 337 105
S=24
<em>2. А примерно вот так учат писать в школе - долго и длинно (да и не особо понятно)</em>
var
m,i,j,s,d:integer;
begin
s:=0;
for i:=1 to 3 do begin
Read(m);
for j:=1 to 3 do begin
d:=m mod 10;
if d mod 2<>0 then s:=s+d;
m:=m div 10
end
end;
Writeln('S=',s)
end.
Никак, никак и еще раз никак