Создайте программу, с библиотеки Tk, у которого такой же интерфейс как на рисунке (при нажатии кнопки «Кликни меня» слово «Клик!» должно выводиться в интерактивном режиме.
1. Вывести на экран N чисел, в порядке чередования (например если N = 9, то ответом будет 1 9 2 8 3 7 4 6 5) 2. Найти наибольший общий делитель и наименьшее общее кратное двух чисел. 3. Вывести введенную строку в обратном порядке. Решения на Pascal: 1.
var n, i: integer; begin read(n); for i := 1 to n do if odd(i) then write(i div 2 + 1, ' ') else write(n - i div 2 + 1, ' ') end.
2.
var a, b, a1, b1, t: integer; begin read(a, b); a1 := a; b1 := b; repeat t := a mod b; a := b; b := t; until b = 0; writeln('НОД=', a); writeln('НОК=', a1 * b1 div a); end.
3.
var s, s1: string; i: integer; begin read(s); s1 := ''; for i := length(s) downto 1 do s1 += s[i]; write(s1) end.
2. Найти наибольший общий делитель и наименьшее общее кратное двух чисел.
3. Вывести введенную строку в обратном порядке.
Решения на Pascal:
1.
var n, i: integer;
begin
read(n);
for i := 1 to n do
if odd(i) then write(i div 2 + 1, ' ')
else write(n - i div 2 + 1, ' ')
end.
2.
var a, b, a1, b1, t: integer;
begin
read(a, b);
a1 := a;
b1 := b;
repeat
t := a mod b;
a := b;
b := t;
until b = 0;
writeln('НОД=', a);
writeln('НОК=', a1 * b1 div a);
end.
3.
var s, s1: string;
i: integer;
begin
read(s);
s1 := '';
for i := length(s) downto 1 do
s1 += s[i];
write(s1)
end.
points = 0
points_per_turn = 100
lives = 3
rooms = [("В комнате дракон :(", -1), ("В комнате живая вода :)", 1), ("Комната пуста :|", 0)]
n = len(rooms)
while lives > 0:
print("Жизней: ", lives, ", очков: ", points, sep = "")
shuffle(rooms)
print("Выбирайте любую из дверей, введите число от 1 до", n, end=" ")
choice = int(input()) - 1
points += points_per_turn
print(rooms[choice][0])
lives += rooms[choice][1]
print("Коварный дракон лишил вас последней жизни, но тем не менее у вас осталось", points, "очков.")