1 дано число в 10-й системе счислени. вывести количество цифр в 10-й системе счисления.
2 дано число в 10-й системе счислени. вывести количество цифр в 2-й системе счисления.
3 дано число в 10-й системе счислени. вывести количество цифр в 8-й системе счисления.
4 дано число в 10-й системе счислени. вывести количество цифр в 16-й системе счисления.
5 дано число в 10-й системе счислени. вывести разность между самой большой и самой маленькой цифрой в 10-й системе счисления.
6 дано число в 10-й системе счислени. вывести разность между самой большой и самой маленькой цифрой в 8-й системе счисления.
7 дано число в 10-й системе счислени. вывести разность между самой большой и самой маленькой цифрой в 16-й системе счисления.
8 дано число в 10-й системе счислени. вывести количество четных цифр в 10-й системе счисления.
9 дано число в 10-й системе счислени. вывести количество четных цифр в 2-й системе счисления.
10 дано число в 10-й системе счислени. вывести количество четных цифр в 8-й системе счисления.
11 дано число в 10-й системе счислени. вывести количество четных цифр в 16-й системе счисления.
12 дано число в 10-й системе счислени. вывести количество букв в 16-й системе счисления.
13 дано число в 10-й системе счислени. вывести в строчку цифры в 10-й системе счисления, начиная с младшего разряда (123 => 3 2 1).
14 дано число в 10-й системе счислени. вывести в строчку цифры в 8-й системе счисления, начиная с младшего разряда (123 => 3 7 1).
15 дано число в 10-й системе счислени. вывести в строчку цифры в 16-й системе счисления, начиная с младшего разряда (123 => b 7).
16 дано число в 10-й системе счислени. вывести в строчку цифры в 10-й системе счисления, начиная со старшего разряда (123 => 1 2 3).
17 дано число в 10-й системе счислени. вывести в строчку цифры в 8-й системе счисления, начиная со старшего разряда (123 => 1 2 3).
18 дано число в 10-й системе счислени. вывести в строчку цифры в 16-й системе счисления, начиная со старшего разряда (123 => 1 2 3).
19 дано число 0 123).
20 дано число 0 321).
nn=50;
type
data = record
number : 1..31;
month : 1..12;
year : 1901..1997
end;
var
d:array[1..nn] of data;
i,n,k:integer;
s,s1,s2,s3:string;
begin
Write('Количество дат (1..50)-> '); Read(n);
Writeln('Введите через пробел день, месяц, год: ');
for i:=1 to n do Read(d[i].number,d[i].month,d[i].year);
{ a }
Write('Самый ранний из годов: ');
k:=d[1].year;
for i:=2 to n do
if d[i].year<k then k:=d[i].year;
Writeln(k);
{ б }
Writeln('Все весенние даты');
for i:=1 to n do
if d[i].month in [3..5] then
Write(d[i].number,'.',d[i].month,'.',d[i].year,' ');
Writeln;
{ в }
Write('Cамая поздняя дата: ');
Str(d[1].year,s1); Str(d[1].month,s2); Str(d[1].number,s3);
if Length(s2)=1 then s2:='0'+s2;
if Length(s3)=1 then s3:='0'+s3;
s:=s1+s2+s3;
for i:=2 to n do
begin
Str(d[i].year,s1); Str(d[i].month,s2); Str(d[i].number,s3);
if Length(s2)=1 then s2:='0'+s2;
if Length(s3)=1 then s3:='0'+s3;
if s<s1+s2+s3 then s:=s1+s2+s3
end;
Writeln(Copy(s,7,2)+'.'+Copy(s,5,2)+'.'+Copy(s,1,4))
end.
Тестовое решение:
Количество дат (1..50)-> 6
Введите через пробел день, месяц, год:
18 4 1950
16 5 1968
5 8 1970
3 9 1968
11 6 1964
16 12 1967
Самый ранний из годов: 1950
Все весенние даты
18.4.1950 16.5.1968
Cамая поздняя дата: 05.08.1970
name=(Anya,Valya,Zhenya,Petya,Sasha,Tanya,Shura,Yura);
gender=(man,woman);
information=record
pol:gender;
height:140..200
end;
group=array[Anya..Yura] of information;
function SrRost(var Gr:group):single;
var
i:name;
s:single;
n:integer;
begin
s:=0; n:=0;
for i:=Anya to Yura do
begin s:=s+Gr[i].height; Inc(n) end;
SrRost:=s/n
end;
function Vysokiy(var Gr:group):string;
var
i,j:name;
h:integer;
begin
h:=Gr[Anya].height; j:=Anya;
for i:=Valya to Yura do
begin
if Gr[i].height>h then
begin h:=Gr[i].height; j:=i end
end;
Vysokiy:=j.ToString
end;
function OdinRost(var Gr:group):boolean;
var
i,j:name;
flag:boolean;
begin
i:=Anya; flag:=false;
repeat
j:=Succ(i);
while (not flag) and (j<=Yura) do
begin flag:=(Gr[i].height<>Gr[j].height); Inc(j) end;
flag:=(Gr[i].height<>Gr[j].height);
if not flag then Inc(i);
until flag or (i=Yura);
OdinRost:=flag
end;
var
Grp:group;
i:name;
g:0..1;
begin
{ ввод данных }
for i:=Anya to Yura do
begin
Write(i.ToString+': укажите пол м/ж числом 0/1 ');
Readln(g);
if g=0 then Grp[i].pol:=man else Grp[i].pol:=woman;
Write(i.ToString+': укажите рост, см (140-200) ');
Readln(Grp[i].height)
end;
{ вычисления }
Writeln('Средний рост равен ',SrRost(Grp):0:1);
Writeln('Наиболее высокий человек - ',Vysokiy(Grp));
If OdinRost(Grp) then Writeln('Есть минимум два человека одного роста')
else Writeln('У всех в группе разный рост');
end.
Тестовое решение:
Anya: укажите пол м/ж числом 0/1 1
Anya: укажите рост, см (140-200) 165
Valya: укажите пол м/ж числом 0/1 1
Valya: укажите рост, см (140-200) 170
Zhenya: укажите пол м/ж числом 0/1 0
Zhenya: укажите рост, см (140-200) 173
Petya: укажите пол м/ж числом 0/1 0
Petya: укажите рост, см (140-200) 178
Sasha: укажите пол м/ж числом 0/1 0
Sasha: укажите рост, см (140-200) 176
Tanya: укажите пол м/ж числом 0/1 1
Tanya: укажите рост, см (140-200) 170
Shura: укажите пол м/ж числом 0/1 1
Shura: укажите рост, см (140-200) 168
Yura: укажите пол м/ж числом 0/1 0
Yura: укажите рост, см (140-200) 175
Средний рост равен 171.9
Наиболее высокий человек - Petya
Есть минимум два человека одного роста