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.
begin write('Введите a: '); readln(a); write('Введите b: '); readln(b); var x := Range(a, b); writeln('Последовательность: '); x.Println; writeln('Ср. ариф. неотриц чисел: '); writeln(x.Where(x -> x >= 0).Average); end.
var a, b,i,s: integer; k: real;
begin write('Введите a: '); readln(a); write('Введите b: '); readln(b); writeln('Последовательность: '); for i:=a to b do write(i,' '); writeln(); s:=0; for i:=a to b do if i>=0 then begin s:=s+i; k:=k+1; end; writeln('Ср. ариф. неотриц чисел: '); write(s/k); end.
целая часть 101 = 22*1 + 21*0 + 20*1 = 4 + 0 + 1 = 5
дробная часть 101 = 2-1*1 + 2-2*0 + 2-3*1 = 0.625
101,101 = 5, 625