** входе программы подается 8-разрядное двоичное число, необходимо найти количество...

0 голосов
30 просмотров

На входе программы подается 8-разрядное двоичное число, необходимо найти количество единиц и нулей составляющих это число
ПАСКАЛЬ


Информатика (17 баллов) | 30 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
1. Современный вариант
// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  ReadlnString.GroupBy(c->c).Select(x->(x.Key,x.Count)).OrderBy(x->x[0])
    .Select(x->Format('"{0}" - {1}',x[0],x[1])).Println(NewLine)
end.

Пример
10101110
"0" - 3
"1" - 5

2. Школьный вариант в стиле Pascal ABC, Free Pascal

var
  s:string;
  i,k0,k1:integer;
begin
  Readln(s);
  k0:=0; k1:=0;
  for i:=1 to Length(s) do
    if s[i]='0' then Inc(k0) else Inc(k1);
  Writeln('"0" - ',k0);
  Writeln('"1" - ',k1)
end.

Вывод результатов точно такой же, как и выше.
(150k баллов)
0 голосов
var 
x: string;

begin 
readln(x); 
write('Единиц '); 
writeln(x.Where(x -> x = '1').Count); 
write('Нулей ');   
writeln(8 - x.Where(x -> x = '1').Count);  
end.

Пример
00011111
5
3
(314k баллов)