Скласти програму Рухомий рядок. 1) Запишіть команду завантаження модуля tkinter.
2) Створіть вікно програми з розміра- ми 300 × 100 із заголовком Реклама (рис. 4.2).
3) До змінної s занесіть текст рекла- ми, наприклад: s = 'Вивчайте мову Python!'
4) Додайте до вікна віджет lab класу Label. Задайте значення атри- бутів об’єкта lab на ваш розсуд, наприклад: lab = Label(root, text = s, font = ('Comic Sans MS', 18, 'bold'), width = 20, height = 40, bg = 'yellow', fg = 'red') lab.pack()
5) Для того щоб рядок рухався, створіть функцію clock(). При кожному виклику функції 0-й символ рядка s переміщується в кінець рядка й оновлюється властивість text віджета lab: def clock(): global s # Оголошення змінної s як глобальної s = s[1:]+s[0] # 0-й символ рядка s переміщується # в кінець рядка lab.config(text = s) # Оновлення властивості text віджета lab root.after(200, clock) # Повторний виклик clock через 0,2 с
6) В основній програмі запишіть команду виклику функції clock, а в останньому рядку програмного коду — оператор запуску головного циклу обробки подій: clock() root.mainloop() Збережіть код у файлі Vprava4. Випробуйте програму. Поекспериментуйте з нею, змінюючи рекламний текст, періо- дичність виклику функції сlock тощо.
Const A = 65; Z = 90; N = 20;
Var b: Array[A..Z] of Integer;
i, j, max: Byte;
s: Array[1..N] of String;
Begin
WriteLn('Введите ', N, ' строчек большими буквами на английском языке');
For i := 1 To N Do
ReadLn(s[i]);
For i := 1 To N Do
For j := 1 To Length(s[N]) Do
If (Ord(s[i][j]) >= A) And (Ord(s[i][j]) <= Z) Then
b[Ord(s[i][j])] := b[Ord(s[i][j])] + 1;
max := A;
WriteLn('В данных предложениях присутствовали такие буквы:');
For i := A To Z Do
Begin
If b[i] > 0 Then
Begin
Write(Chr(i), ' ');
If b[i] > b[max] Then
max := i;
End;
End;
WriteLn;
WriteLn('Наиболее встречалась буква ', chr(max));
ReadLn;
End.
A, B, C: array[1..15] of real;
i, m, max_weight, b_n, c_n, N, max: integer;
s: real;
begin
N := 15;
m := 10;
max_weight := 50;
writeln('ВВедите массы состава ', m, ' состоящего из ', n, ' вагонов');
for i := 1 to n do
begin
write('Масса вагона № ', i, ' = ');
readln(a[i]);
end;
writeln();
writeln('Все вагоны:');
for i := 1 to n do
writeln('Вагон №', i, ' = ', a[i], ' тон');
writeln();
writeln('Порожние вагоны:');
for i := 1 to n do
if (A[i] <= m) then
writeln('Вагон №', i);
writeln();
s := 0;
writeln('Груженные вагоны:');
for i := 1 to n do
if (A[i] > m) then begin
s := s + a[i];
writeln('Вагон №', i);
end;
Writeln('Сумма масс груженных вагонов = ', s);
{// if s > max_weight then begin
// writeln('Превышение массы! Состав не будет сформирован');
// exit;
// end;}
writeln;
writeln('Новый состав:');
s := 0;
for i := 1 to n do
if (A[i] > m) and (s + A[i] <= max_weight) then begin
b_n := b_n + 1;
s := s + A[i];
B[b_n] := A[i];
writeln('Вагон №', b_n, ' = ', B[b_n], ' тон');
end
else begin
c_n := c_n + 1;
C[c_n] := A[i];
end;
writeln();
writeln('Остаток:');
for i := 1 to c_n do
writeln('Вагон №', i, ' = ', C[i], ' тон');
writeln();
max := 1;
for i := 1 to b_n do
if B[i] > B[max] then
max := i;
writeln('Максимальная масса в составе: Вагон №', max, ' = ', B[max], ' тон');
end.