Вы не указали как хранятся данные о студентах и как осуществляется ввод. Попробуйте так, хотя я уже давно в Паскале не писала.
program pr1;
procedure CreateMass(var str:mass; n:integer);
var i:integer;
begin
for i:=1 to n do begin
write('Введите имя учащегося: ');
readln(str[i])
end
end;
procedure SearchN (str:mass; n:integer);
var i, j, s1, s2:integer;
b:boolean;
begin
b:=false;
j:=1;
while (j <= (n-1)) and (not b) do
begin
for i:=j+1 to n do
begin
if str[j]=str[i] then
begin
b:=true;
s1:=i;
s2:=j
end
end;
j:=j+1
end;
if (not b) then writeln('Нет двух студентов с одинаковыми именами.') else
writeln('Студенты с одинаковыми именами - ',str[s1], ' находятся в массиве под номерами ', s1, ' и ', s2, '.')
end;
type mass = array [1..n] of string;
const n = 10;
var str:mass;
begin
CreateMass(str, n);
SearchN(str, n)
end.
На Python:
number = input('Введите число в двоичной системе счисления: ')
number_of_zeros = 0
number_of_units = 0
for i in number:
if i == '0':
number_of_zeros += 1
elif i == '1':
number_of_units += 1
try:
# print('Введеное число: ' + str(int(number, 2)))
print('Нулей: ' + str(number_of_zeros))
print('Единиц: ' + str(number_of_units))
except ValueError:
print('Error')
Объяснение:
закомментировал строку вывода числа в десятичной системе, если понадобится, можно раскомментировать (убрать #), если совсем не надо, можно удалить.
begin
readln(n);
n := abs(n);
while n <> 0 do begin
s := s + Trunc(Power(n mod 10, 3));
n := n div 10;
end;
writeln(s mod 3 = 0);
end.