program zn; var n,k,sum: integer; beginwriteln('введите натуральное число'); readln(n); while n< > 0 do begink: = n mod 10; if k mod 2 = 0 then sum: =sum+k; n: = n div 10; end; writeln('сумма четных чисел = ', sum); end.
(проверено и откомпелировано на pascal.net)
dsnewline
29.10.2021
1. записать двоичное число так, чтобы над ним сверху было место. 2. над каждой двоичной цифрой (нулем или единицей) записать справа налево числа, начиная с единицы, при этом каждая последующая цифра должна равняться удвоенной предыдущей, т.е. цифры будут 1, 2, 4, 8, 16, 32, 64, 3. сложить между собой те написанные числа, под которыми окажутся единицы из двоичной записи числа. 4. полученная сумма - эквивалент двоичного числа в десятичной системе счисления. пример: 64 32 16 8 4 2 1 1 0 1 0 1 1 0 складываем: 64+16+4+2=86. 1010110(2)=86(10)
mishapavlov9
29.10.2021
Program pro1; type date = record day : 1..31; mounth : 1..12; year : integer; end; person = record surnamename : string; birthday : date; end; listofpeople = array [1..50] of person; var people: listofpeople; jounghuman: integer; i, jounghumanindex: byte; beginfor i: =1 to 50 dobegin write('human '+inttostr(i)+': ')write('input surname and name: ')readln(people[i].surnamename); write('input birthday date(day, mounth, year) : ')read(people[i].birthday.day, people[i].birthday.mounth, people[i].birthday.year); end; // jounghumanindex: =1; //jounghuman: =people[1].birthday.day + people[1].birthday.mounth*13 + people[1].birthday.year * 32 * 13; for i: =2 to 50 doif jounghuman> people[i].birthday.day + people[i].birthday.mounth*13 + people[i].birthday.year * 32 * 13 thenbegin // jounghumanindex: =i; // jounghuman: =people[i].birthday.day + people[i].birthday.mounth*13 + people[i].birthday.year * 32 * 13; end; writeln('most joung human: '+people[jounghumanindex] .surnamename); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Написать программу(на abc pascal), которая находит сумму четных цифр в введенном с клавиатуры натуральном числе меньше 30000)
program zn; var n,k,sum: integer; beginwriteln('введите натуральное число'); readln(n); while n< > 0 do begink: = n mod 10; if k mod 2 = 0 then sum: =sum+k; n: = n div 10; end; writeln('сумма четных чисел = ', sum); end.
(проверено и откомпелировано на pascal.net)