type Data = record day: 1..31; month: 1..12; year: integer end; lichn = record famnam: string; datr: Data end; listlichn = array [1..nm] of lichn;
var m: listlichn; n: integer;
procedure GetLichn(k: integer); begin Write(k, ') Введите через пробел фамилию, имя: '); Readln(m[k].famnam); Writeln('Введите через пробел день, месяц и год рождения: '); Readln(m[k].datr.day, m[k].datr.month, m[k].datr.year) end;
procedure Vvod(var p: integer); var i: integer; begin Write('Введите количество лиц n (максимум 50) -> '); Readln(p); if p <= 50 then for i := 1 to p do GetLichn(i) else begin Writeln('Вы ввели неправильное значение'); p := 0 end end;
procedure Zapros1; { фамилии и имена тех кто родился в месяц l года } var i: integer; l: 1..12; begin Write('Введите номер месяца рождения (1-12): '); Readln(l); for i := 1 to n do if m[i].datr.month = l then WriteLichn(i) end;
procedure Zapros2; { фамилии и имена тех кто родился в год a } var a, i: integer; begin Write('Введите год рождения: '); Readln(a); for i := 1 to n do if m[i].datr.year = a then WriteLichn(i) end;
procedure Zapros3; { фамилии и имена тех чья дата рождения z.l.a } var a, i: integer; z: 1..31; l: 1..12; begin Write('Введите через пробел день, месяц и год рождения: '); Readln(z, l, a); for i := 1 to n do if (m[i].datr.year = a) and (m[i].datr.month = l) and (m[i].datr.day = z) then WriteLichn(i) end;
begin Vvod(n); Zapros1; Zapros2; Zapros3 end.
Тестовое решение: Введите количество лиц n (максимум 50) -> 3 1) Введите через пробел фамилию, имя: Иванов Иван Введите через пробел день, месяц и год рождения: 24 12 1973 2) Введите через пробел фамилию, имя: Петров Петр Введите через пробел день, месяц и год рождения: 05 03 1982 3) Введите через пробел фамилию, имя: Козлова Екатерина Введите через пробел день, месяц и год рождения: 1 12 1994 Введите номер месяца рождения (1-12): 12 Иванов Иван 24.12.1973 Козлова Екатерина 1.12.1994 Введите год рождения: 1982 Петров Петр 5.3.1982 Введите через пробел день, месяц и год рождения: 5 3 1982 Петров Петр 5.3.1982
1 задача:
import math
a=int(input())
b=int(input())
if(math.fabs(a+b)>20):
print(math.pow(a,2))
else:
b=math.fabs(b)
print(math.sqrt(b))
2 задача:
a=int(input())
if a == 5:
print("Отлично")
elif a == 4:
print("Хорошо")
elif a == 3:
print("Удовлетворительно")
elif a == 2:
print("Плохо")
elif a == 1:
print("Отвратительно")
else:
print("Это не оценка")
3 задача:
x=int(input())
y=int(input())
a=int(input())
b=int(input())
a7 = a%x
b7 = b%y
if(a7>b7):
print("7A")
else:
print("7Б")
4 задача:
import math
print("Введите интервал")
a=int(input())
b=int(input())
while(a<=b):
if a<100:
r=13*math.pow(a,2)
print("X=" + str(a) + " y=" + str(r))
elif a>100:
r=math.pow(a,3)-100
print("X=" + str(a) + " y=" + str(r))
else:
r=30-(a/(a-5))
print("X=" + str(a) + " y=" + str(r))
a=a+1
5 задача:
import math
print("Введите интервал")
a=int(input())
b=int(input())
while(a<=b):
if a<4:
r=3*a-7
print("X=" + str(a) + " y=" + str(r))
else:
r=5*math.pow(a,2)
print("X=" + str(a) + " y=" + str(r))
a=a+1
Объяснение:
nm = 50;
type
Data = record
day: 1..31;
month: 1..12;
year: integer
end;
lichn = record
famnam: string;
datr: Data
end;
listlichn = array [1..nm] of lichn;
var
m: listlichn;
n: integer;
procedure GetLichn(k: integer);
begin
Write(k, ') Введите через пробел фамилию, имя: ');
Readln(m[k].famnam);
Writeln('Введите через пробел день, месяц и год рождения: ');
Readln(m[k].datr.day, m[k].datr.month, m[k].datr.year)
end;
procedure WriteLichn(k: integer);
begin
Writeln(m[k].famnam, ' ', m[k].datr.day, '.', m[k].datr.month, '.', m[k].datr.year)
end;
procedure Vvod(var p: integer);
var
i: integer;
begin
Write('Введите количество лиц n (максимум 50) -> ');
Readln(p);
if p <= 50 then for i := 1 to p do GetLichn(i)
else begin Writeln('Вы ввели неправильное значение'); p := 0 end
end;
procedure Zapros1;
{ фамилии и имена тех кто родился в месяц l года }
var
i: integer;
l: 1..12;
begin
Write('Введите номер месяца рождения (1-12): ');
Readln(l);
for i := 1 to n do
if m[i].datr.month = l then WriteLichn(i)
end;
procedure Zapros2;
{ фамилии и имена тех кто родился в год a }
var
a, i: integer;
begin
Write('Введите год рождения: ');
Readln(a);
for i := 1 to n do
if m[i].datr.year = a then WriteLichn(i)
end;
procedure Zapros3;
{ фамилии и имена тех чья дата рождения z.l.a }
var
a, i: integer;
z: 1..31;
l: 1..12;
begin
Write('Введите через пробел день, месяц и год рождения: ');
Readln(z, l, a);
for i := 1 to n do
if (m[i].datr.year = a) and (m[i].datr.month = l)
and (m[i].datr.day = z) then
WriteLichn(i)
end;
begin
Vvod(n);
Zapros1;
Zapros2;
Zapros3
end.
Тестовое решение:
Введите количество лиц n (максимум 50) -> 3
1) Введите через пробел фамилию, имя: Иванов Иван
Введите через пробел день, месяц и год рождения:
24 12 1973
2) Введите через пробел фамилию, имя: Петров Петр
Введите через пробел день, месяц и год рождения:
05 03 1982
3) Введите через пробел фамилию, имя: Козлова Екатерина
Введите через пробел день, месяц и год рождения:
1 12 1994
Введите номер месяца рождения (1-12): 12
Иванов Иван 24.12.1973
Козлова Екатерина 1.12.1994
Введите год рождения: 1982
Петров Петр 5.3.1982
Введите через пробел день, месяц и год рождения: 5 3 1982
Петров Петр 5.3.1982