Program NN; uses crt; var O,b:integer; s:string; k:byte; p:real; function...

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

Program NN;
uses crt;
var O,b:integer; s:string; k:byte; p:real;
function N0(l:integer):byte;
begin
repeat
if l mod 10=0 then
inc(l);
l:=l div 10;
until l=0;
end;
begin
read (s);
b:=length(s);
k:=N0(s);
p:=100*k/b;
writeln(p);
end.
По заданию надо найти процент правильных ответов
Условия:
1) тип записи ответов: 100101110101
2)1-правильный ответ
3)0-неправильный ответ
4)надо найти по кол. ответов и кол. правильных ответов, процент правильных ответов
Примечание: Я написал программу но в ней ошибка, пытался устранить, но из-за нехватки знаний не получается

Среда Pascal


Информатика (32 баллов) | 79 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// PascalABC.NET 3.3, сборка 1561 от 02.11.2017

var
  s:string;
  k,kp,i:integer;
  pp:real;

begin
  Readln(s);
  k:=Length(s);
  kp:=0;
  for i:=1 to k do
    if s[i]='1' then kp:=kp+1;
  pp:=kp/k*100;
  Writeln('Дано ответов- ',k,', из них верных- ',kp,' (',pp:0:2,'%)');
end.

Пример
100101110101
Дано ответов- 12, из них верных- 7 (58.33%)
(150k баллов)