Проект по информатике: Разработка приложения на языке Python
Оценка 4.6

Проект по информатике: Разработка приложения на языке Python

Оценка 4.6
pdf
28.05.2024
Проект по информатике: Разработка приложения на языке Python
Беневоленский А..pdf

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ МОСКОВСКОЙ ОБЛАСТИ

"ОДИНЦОВСКИЙ "ДЕСЯТЫЙ ЛИЦЕЙ"

 

 

 

 

 

 

«Разработка приложения на языке Python»

(Проектная работа)

(Информатика)

(Секция – IT)

 

 

 

 

 

                                                          Выполнил:

                                                          Беневоленский Александр Сергеевич

                                                          ученик 9В класса 

                                                          Руководитель:

                                                          Деткова Людмила Анатольевна,                                                           учитель информатики

 

 

Одинцово

2024

Паспорт проекта

Название

«Разработка приложения на языке Python»

Автор

Беневоленский Александр, ученик 9В класса

Научный руководитель

Деткова Людмила Анатольевна, учитель информатики

Цель

Создать компьютерное приложение.

Задачи

1.                 Познакомиться с языком программирования Python.

2.                 Познакомиться с основами библиотеки Tkinter создания приложений;

3.                 Установить на свой компьютер необходимую программу PyCharm и получить базовые знания по написанию программы для предстоящей работы;

4.                 Создать приложение с помощью PyCharm и приобретённых знаний.

Даты

В сентябре 2023 г. я получил задание на написание проекта.

В сентябре-октябре выбрал тему проекта и представил презентацию о проекте.

Ноябрь 2023 г. - февраль 2024 г. работа над проектом, разработка приложения.

Материальнотехническое обеспечение

Материальных затрат проект не требует, нужны только компьютер, программы и свободное время.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение……………………………………………………………………….. 4 1. ОСНОВНАЯ ЧАСТЬ............................................................................................. 5

1.1. Что такое Python............................................................................................. 5

1.2. История Python................................................................................................ 6

1.3. Библиотека Tkinter......................................................................................... 9

2. ПРАКТИЧЕСКАЯ ЧАСТЬ............................................................................. 15

2.1. Создание приложения................................................................................... 15

2.2. Порядок проектирования приложения....................................................... 15

Заключение.......................................................................................................... 22

Список литературы............................................................................................. 23

 

Приложения……………………………………………………………………..24 ВВЕДЕНИЕ

Прикладные программы являются неотъемлемой частью жизни каждого пользователя персонального компьютера. Такие программы отвечают за выполнения множества задач, таких как написание текстовых документов, обработка аудио или видео файлов, а также выполнение математических расчетов. Подобные приложения позволяет решать огромное количество задач быстрее и точнее, чем это смог бы обычный человек. Анализируя «рынок программистов», увидел, что язык Python востребованный и часто используемый. 

Python - один из самых популярных языков программирования на данный момент. У него существуют свои фанаты, но есть и те, кто данный язык не переносит, в любом случае равнодушным он никого не оставляет. На сегодняшний день углубление знаний и расширение навыков по разработке алгоритмов и их реализации на персональном компьютере дает большие возможности в мире программирования.

Актуальность: Актуальность моего приложения состоит в том, что в нём собрана основная информация по предмету «Информатика» для учеников 7-8 классов.

Проблема: Информация по предмету «Информатика» 7-8 классов разбросана по разным источникам, может быть неисчерпывающей и размытой. Поэтому я решил создать приложение, в котором будет основная информация по предмету «Информатика» с 7 по 8 класс.

Цель: 

-   создать компьютерное приложение.

Задачи:

-   познакомиться с языком программирования Python;

-   познакомиться с основами библиотеки Tkinter создания приложений;

-   установить на свой компьютер необходимую программу PyCharm и получить базовые знания по написанию программы для предстоящей работы; - создать приложение с помощью PyCharm и приобретённых знаний.

Методы исследования:

-   изучение Интернет ресурсов по работе с библиотекой Tkinter;

-   работа с источниками Интернета и электронными ресурсами.

 

1. ОСНОВНАЯ ЧАСТЬ.

1.1. Что такое Python.

 

Python — это интерпретируемый язык программирования высокого уровня с динамической типизацией. Язык Python поддерживает различные виды программирования: императивное (исходный код, основанный на командах выполняющиеся последовательно), процедурное (деление программ на подпрограммы), структурное (представление программы в виде структуры блоков инструкций), объектно-ориентированное (основанное на типах), метапрограммирование (написание программ, которые управляют другими программами) и функциональное (вычисления трактуются как значения функций).

Python часто изучается и рекомендуется как первый язык программирования. Простота синтаксиса Python обеспечивает высокую производительность при написании кода.

Хотя Python является не таким быстрым, как языки, такие как C или C++, экономится время на программирование, а в большинстве программ разница в скорости все равно не будет заметна. 

Есть множество причин для успеха Python. Python имеет гораздо более простой и понятный синтаксис, чем другие популярные языки, например, Java, C и C++, что упрощает изучение. Многие считают, что один из главных факторов успеха Python это наличие дружелюбного и отзывчивого сообщества пользователей, наряду с дизайнерской интуицией его создателя Гвидо Ван Россума.

 

 

 

 

 

 1.2. История Python

    Автор Python Гвидо ван Россум

Первичная концепция языка Python была придумана в конце 1980-х Гвидо Ван Россумом, сотрудником голландского Национального исследовательского института математики и информатики.

Изначально язык был разработан как ответ языку программирования ABC, родиной которого также являются Нидерланды. Среди главных особенностей Python в сравнении с языком ABC можно выделить то, что Python мог обрабатывать исключения и был в основном ориентирован на операционную систему Amoeba.

Забавный факт. Python не имеет никакого отношения к змеям. Язык получил свое название в честь британского телешоу — «Летающий цирк Монти Пайтона».

Конечно же, Python, как и все языки программирования, пережил целый ряд различных версий. Python 0.9.0 впервые вышел в свет в 1991 году. Помимо обработки ошибок, Python имел классы, списки и строки. И, что более важно, он включал лямбда-функции, map(), filter() и reduce(). Всё это говорило о сильной направленности языка в сторону функционального программирования.

Python 1.0 появился в январе 1994 года. Последней версией, выпущенной Ван Россумом во время работы в центре математики и информатики (CWI), был Python 1.2.

В 2000 году вышла новая версия Python — 2.0. Здесь уже были генераторы списков и полноценный сборщик мусора. Также версия 2.0 поддерживала Unicode.

Первая обратно-несовместимая версия Python 3.0 была выпущена 3 декабря 2008 года после длительного периода тестирования. 

В октябре 2019 года он ушел на пенсию. Но в ноябре 2020 г. вернулся в ряды разработчиков, но на этот раз в Microsoft, чтобы улучшить работу Python в Windows.

Конечно, Python улучшается не только в Windows, но и в целом. Так в конце 2022 года было выпущено сразу несколько обновлений, которые усилили безопасность Python-программ, а также значительно увеличили его скорость работы и улучшили подсказки в случае возникновения ошибок.

Само собой на этом развитие языка не остановилось и в 2023 и в 2024 годах мы ожидаем еще больше возможностей. 

Этапы развития языка Python отражены в Приложении 1.

 

 

Преимущества Python

-скорость выполнения программ, написанных на Python очень высока;

-возможность написать свои собственные модули для Python на С или С++;

- в стандартных библиотеках Python можно найти средства для работы с электронной почтой, протоколами Интернета, FTP, HTTP, базами данных;

-скрипты, написанные при помощи Python, выполняются на большинстве современных ОС (Linux, Windows, OS X);

-Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.

 

Недостатки Python

-непривычный синтаксис;

-низкая скорость выполнения программ по сравнению с такими языками, как C и C++;

-несовместимость разных версий языка;

-динамическая типизация создает трудности при изучении;

-отсутствие учебников для школьников.

 

 

 

Где используется Python?

•Компания Google использует Python в своей поисковой системе 

•Компании Intel, Cisco, HP, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения

•Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на Python

•Агентство национальной безопасности (NSA) использует Python для шифрования и анализа данных;

•Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка.

Python в индустрии

 

 

Теперь предлагаю посмотреть индекс TIOBE за 2023 год (Приложение2). Индекс TIOBE отражает популярность языков программирования. Рейтинг учитывает количество разработчиков, курсов и статей по конкретному языку во всём мире.

На первом месте находится Python. Этот язык программирования уже несколько раз признавался языком года по данным индекса TIOBE и вот сейчас мы вновь видим его на первой строчке рейтинга. На втором месте с незначительным отставанием находится язык программирования C. На третьем месте оказался язык C++, а Java опустился на 4-ю строчку.

 

 

1.3. Библиотека Tkinter.

Tkinter — это кроссплатформенный графический интерфейс Python, позволяющий работать с библиотекой Tk. Он содержит элементы графического интерфейса пользователя (GUI — Graphical User Interface), с помощью которых можно создавать различные приложения. 

GUI (Graphical User Interface) — это графический интерфейс пользователя, оболочка программы, с которой мы взаимодействуем с помощью клавиатуры и мыши. На современных операционных системах почти все программы работают с графическим интерфейсом, и мы каждый день сталкиваемся с GUI: читаем статьи в браузере, набираем текст в редакторе или играем в игры. 

Для работы с GUI в Python есть четыре библиотеки:

-Tkinter;

-Kivy; -Python QT; -wxPython.

Мы выбрали Tkinter, потому что она не требует дополнительной установки и позволяет быстро создавать приложения с простым графическим интерфейсом.

Изначально Tkinter был разработан в 1988 году профессором математических наук в университете Беркли Джоном Остерхаутом для собственного языка программирования Tcl. С 1994 года этот программный пакет входит в стандартный дистрибутив языка программирования Python. 

Tkinter позволяет создать полноценный работающий интерфейс пользователя мобильного или десктопного приложения с помощью уже встроенных в программный пакет классов и наследующих им объектов. Это довольно универсальный инструмент, у которого есть свои преимущества и недостатки, определяющие сферу его применения.

Преимущества Tkinter

      Функциональность.

      Кроссплатформенность.

      Простота.

      Широкая поддержка.

      Включение в стандартный дистрибутив Python.

      Свободное использование.

Недостатки Tkinter

      Устаревший интерфейс.  

      Ограниченный функционал.  

      Ограниченная производительность.   Ошибки переносимости.  

 

Ключевые объекты в работе с Tkinter — виджеты. Это аналоги тегов из HTML, которые позволяют создавать интерактивные и неинтерактивные элементы, например надписи или кнопки. Всего их 18, но чаще всего используют следующие:

Button — кнопки;

Canvas — «холст», на котором рисуют графические фигуры;

Entry — виджет для создания полей ввода;

Label — контейнер для размещения текста или изображения;

Menu — виджет для создания пунктов меню.

 

По умолчанию, в программах с библиотекой Tkinter создаётся объект класса Tk. Объект Tk представляет главное («корневое») окно программы – которое открывается вместе с запуском программы. Остальные виджеты являются дочерними к Tk.

 

 

Label – этикетки. Используется для отображения текста или вставки изображения на окне приложения.

 

 

 

Button – кнопка. Нужны для создания кликабельных кнопок. 

 

 

Canvas – холст

 

 

Entry – однострочное текстовое поле ввода.

Используется в случаях, когда требуется получить информацию от пользователя.

 

 

 

Message

Message служит для вывода текста. Он может автоматически и гибко разбивать длинные строки. Обладает большим количеством настраиваемых параметров.

 

 

PhotoImage – объект с изображением

В библиотеке Tkinter кнопки, метки, холсты, текстовые виджеты и меню могут выводить изображения путём передачи графических объектов атрибуту image. Виджет PhotoImage поддерживает файлы форматов GIF, PPM и PGM.

 

 

Размещение виджетов

Размещение виджетов в Tkinter возможно методами pack(), grid() и place().

pack() – упорядочивает виджеты по горизонтали или вертикали. Подходит для создания простых интерфейсов. Недостаток – с помощью pack() проблематично реализовать сложную компоновку.

grid() – упорядочивает виджеты в сетку из рядов и столбцов. Самый гибкий и мощный, позволяет создавать сложные интерфейсы, состоящие из виджетов разных размеров.

place() – позволяет задать точное положение и размер каждого виджета в окне.

 

 

Отступы

Параметры padx и pady позволяют указать отступы виджета от границ контейнера.

 

 

 

 

 

 

 

 

 

2.   ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1.   Создание приложения

Я решил сделать приложение на языке Python с помощью библиотеки Tkinter. В данном приложении я напишу краткую информацию, которая поможет ученикам на уроках информатики в 7 - 8 классе. В приложении будут содержаться основные формулы и понятия. Ученик в любой момент сможет воспользоваться этим «Помощником», а также после этого проверить полученные знания, пройдя тесты, предложенные в приложении.

 

2.2.   Порядок проектирования приложения

Писать код на Python лучше всего в специальной IDE, например в PyCharm или Visual Studio Code. Они подсвечивают синтаксис и предлагают продолжение кода — это сильно упрощает работу. Весь код я писал в PyCharm.

 

1. Внедрение библиотеки Tkinter в программу Python

Библиотека Tkinter предустановлена в Python. Поэтому её нужно только импортировать:

from tkinter import *

import tkinter as tk

 

Теперь мы можем использовать любые модули из этой библиотеки.

2. Создание окна приложения

Теперь создадим окно нашего приложения. Для этого воспользуемся модулем Tk. Приложение назовём «Помощь в учебе на каждый день»:

window = tk.Tk()

window.title("Помощь в учебе на каждый день")

 

После запуска кода ничего не произойдёт. Необходимо указать, что окно приложения не должно закрываться до тех пор, пока пользователь сам не сделает этого. Для этого к коду добавим функцию window.mainloop(), указывающую на запуск цикла событий:

window.mainloop()

 

3. Задать размеры и задний фон окна

С помощью метода geometry укажем размер окна:

window.geometry('1550x1000')

 

С помощью метода resizable запретим изменять параметры окна:

window.resizable(width=False, height=False)

 

Добавим картинку на задний фон главного окна:

bg = PhotoImage(file = "background.png") label3 = Label(window, image = bg)

label3.place(x = 0, y = 0)

 

4. Создание приветственного сообщения

Указываем цвет заднего фона, создаем 4 сообщения, в которых написано название приложения, краткая о нем информация, создатель и версия. Также выстраиваем положения сообщений и задаем сколько будет длиться заставка.

splash_screen = tk.Canvas(window, width=1550, height=1000, background=" darkslategray2") splash_screen.pack()

 

splash_screen.create_text(775, 400, text="Помощь в учебе на каждый день", font=("Helvetica", 60), anchor="center") splash_screen.create_text(775, 500,

                          text="Данное приложение поможет учащимся на уроках информатики, а также присутствуют тесты для закрепления материала",

                          font=("Helvetica", 24), anchor="center")

splash_screen.create_text(775, 850, text="Создатель: Александр Беневоленский", font=("Helvetica", 18),                           anchor="center")

splash_screen.create_text(775, 900, text="Версия: 1.0.0", font=("Helvetica", 10), anchor="center") window.update() window.after(6000)

 

splash_screen.destroy()

 

5.   Создание заголовка в приложении

Воспользуемся виджетом Label, а таже зададим задний фон, цвет и шрифт надписи:

label = Label(window, text="Темы 7-ого класса:", font=("Helvetica ", 40), background=" darkturquoise",               foreground="black")

6.   Создание главного меню с возможностью выбора класса и темой по информатике с помощью кнопок

Добавим кнопки, которые будут показывать информацию по выбранной теме. Сделаем это с помощью виджета Button.  Также воспользуемся методом grid, которое выравнивает кнопки по сетке. Используем свойство pady и padx, которое обозначит отступы по вертикали и горизонтали.

button1 = Button(window, text="•7 класс Информатика \nЧто такое информатика?")

button1.grid(row=0, column=1, padx=3, pady=10)

 

7.   Создание дизайна кнопок

С помощью foreground и background зададим цвет текста и кнопки и также настроем размеры кнопки.

button1 = Button(window, text="•7 класс Информатика \nЧто такое информатика?", height=4, width=25, foreground="black", background="lightgoldenrod1) button1.grid(row=0, column=1, padx=3, pady=10)

8.   Создание функций, с помощью которых появляется текст по темам

Напишем функции def show_text_1():, которые будут показывать текст по определенным темам, а также зададим место появления текста с помощью relx, rely и anchor.

def show_text_1():     label.config(

        text="Информатика – наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий.\nОбъектами изучения информатики являются: \n– информация, процессы её сбора,

хранения и преобразования с помощью систем обработки информации; \n– компьютер, включая его механические части и программное обеспечение.")

    label.place(relx=0.685, rely=0.68, anchor=tk.S)

 

9.   Создание дизайна текстов с информацией

С помощью wraplength, опции, которая позволяет ограничить количество символов в каждой строке, укажем данное количество символов. Также зададим задний фон, шрифт и его цвет, а ещё с помощью justify укажем, что выравнивание должно быть по левой стороне. 

def show_text_1():     label.config(

        text="Информатика – наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий.\nОбъектами изучения информатики являются: \n– информация, процессы её сбора, хранения и преобразования с помощью систем обработки информации; \n– компьютер, включая его механические части и программное обеспечение.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background=" darkturquoise", foreground="gray9")

 

10.   Подключение каждой кнопки к соответствующей функции

Чтобы при нажатии кнопки появлялся текст, command нужно приравнять к названию функции и при нажатии на кнопку теперь будет появляться наш текст.

button1 = Button(window, text="•7 класс Информатика \nЧто такое информатика?", height=4, width=25, foreground="black", background="lightgoldenrod1", command=show_text_1) button1.grid(row=0, column=1, padx=3, pady=10)

11.   Создание массива с вопросами для теста 7 и 8 класса

questions_7 = [

    "1. Информатика - это ... \n Написать одно слово.",

    "2. Объектами изучения информатики являются:\nНаписать через 'и'.",

    "3. По чему делятся типы информации\nНаписать через запятые.",

    "4. Напишите формулу скорости передачи информации.",

    "5. Напишите формулу информационного объёма сообщения.",

    "6. Сколько байт в 3 Кбайтах?",

    "7. Сколько бит в 10 Мбайтах?",

    "8. Наименьший элемент дисплея - это ...",

    "9. Описание на формальном языке, «понятном» компьютеру - это ...",

    "10. Наименьшая единица измерения информации - это ..." ]

 

12.   Создание массива с ответами для теста 7 и 8 класса

correct_answers_7 = [

    "наука",

    "информация и компьютер",

    "способу восприятия, способу представления, назначению",

    "I=V/t",

    "I=K*i",

    "3072",

    "83886080",

    "пиксель",

    "программа",

    "бит"

]

 

13.  Создание кнопок, которые переносят учеников на тест

Создадим новое окно и назовем его. Далее используем lambda, чтобы задерживает выполнение, иначе окно в command запуститься сразу при запуске приложения. Также подключим выведение массивов с вопросами и ответами.

question_7_title = "Тест для 7-го класса" button_question_7 = Button(     window,

    text=question_7_title,     command=lambda: question_window(         title=question_7_title,         questions=questions_7,

        correct_answers=correct_answers_7

    ) )

button_question_7.grid(row=4, column=2, padx=3, pady=3)

 

14.   Создание дизайна кнопок для тестов Зададим задний фон кнопкам.

question_7_title = "Тест для 7-го класса" button_question_7 = Button(     window,

    text=question_7_title,     foreground="black",

    command=lambda: question_window(         title=question_7_title,         questions=questions_7,

        correct_answers=correct_answers_7

    ) )

button_question_7.pack(pady=2)

 

15.   Создание окна при нажатии на кнопку с тестом

Здесь указываем родительское окно, а также укажем размер окна и его задний фон.

def question_window(         title,         questions,         correct_answers ):

    question_window = Toplevel(window)      question_window.title(title)     question_window.geometry('550x730')     question_window.configure(background=" darkslategray2")

 

16.   Создание массива для сбора ответов

user_answers = []

 

17.   Создание списка вопросов и полей для ввода ответа

Перебором формируется список вопросов и полей для ввода ответа.

for i in range(len(questions)):

    label = Label(         question_window,         text=questions[i],         font=("Helvetica", 13),         background=" darkslategray2",         foreground="black"

    )

    label.grid(row=2 * i, column=0, padx=2, pady=2, sticky=NW)     user_answer = StringVar()     label = Entry(         question_window,         textvariable=user_answer,         font=("Helvetica", 13)

    )

    label.grid(row=2 * i + 1, column=0, padx=2, pady=2, sticky=NW)  

    user_answers.append(user_answer)

 

18. Создание функции проверки ответов

def check_results():     correct_count = 0     for i in range(len(correct_answers)):         if user_answers[i].get() == correct_answers[i]:

            correct_count += 1

    result = "{}/{}".format(correct_count, len(correct_answers))     result_color = "green" if correct_count == len(correct_answers) else "red"     label = Label(         question_window,         text="Результат: " + result,         font=("Helvetica", 13),         background=" darkslategray2",         foreground=result_color

    )

    label.grid(row=2 * len(questions) + 2, column=0, padx=2, pady=2)

 

19. Создание кнопки, которая проверяет правильность введённых ответов и выводит конечный результат ученика

answer_button = Button(     question_window,

    text="Проверка результата",     command=check_results

)

answer_button.grid(row=2 * len(questions) + 1, column=0, padx=2, pady=2)

 

Полный программный код этого приложения можно посмотреть в Приложении 3.

При запуске приложения у нас появляется название приложения, автор и версия (Приложение 4).

Далее появляется главное меню приложения, где можно выбрать тему, которая интересует учеников в зависимости от класса обучения, выбрать тест для закрепления полученных знаний и прорешать олимпиадные задачи (Приложение 5).

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

В результате моего исследования, поставленные цели и задачи были достигнуты, а именно:

-                     в процессе работы над проектом я узнал о языке программирования Python, историю возникновения языка Python, изучил библиотеку Tkinter, рассмотрел виджеты библиотеки Tkinter.

-                     создал приложение по информатике  «Помощь в учебе на каждый день» для учеников 7-8 классов, в котором содержится вся необходимая информация по информатике, тесты для закрепления материала и олимпиадные задачи для 78 классов.

-                     приобрёл навыки по написанию программы создания компьютерных приложений.

Я считаю, что данное приложение поможет ученикам в изучении такого предмета как информатика.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список литературы

 

1.    Википедия о Питоне

URL:https://ru.wikipedia.org/wiki/Python

2.    «История языка Python»

URL:https://www.interestprograms.ru/article-python-istoriya-sozdaniya-yazykaprogrammirovaniya?ysclid=lsacbnswt1490456526

3.    Введение в Tkinter

URL:https://habr.com/ru/articles/133337/

4.    Информация по информатике 7-8 класс

URL: https://resh.edu.ru/  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЯ

                                                                                                             Приложение 1

Этапы развития языка Python.

 

 

 

 

 

                                                                                                             Приложение 2

Рейтинг языков программирования по данным индекса TIOBE

 

                                                                                                             Приложение 3

Полный программный код приложения «Помощь в учебе на каждый день»

from tkinter import * import tkinter as tk

  def show_text_1():     label.config(

        text="Информатика – наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий.\nОбъектами изучения информатики являются: \n– информация, процессы её сбора, хранения и преобразования с помощью систем обработки информации; \n– компьютер, включая его механические части и программное обеспечение.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.685, rely=0.75, anchor=tk.S)

  def show_text_2():     label.config(

        text="Типы информации:\n• по способу восприятия: визуальная, тактильная, аудиальная, обонятельная, зрительная; \n• по способу представления: звуковая, числовая, текстовая, графическая; \n• по назначению:

личная, специальная, общественно значимая.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.635, rely=0.73, anchor=tk.S)

  def show_text_3():     label.config(

        text="Формулы: \nСкорость передачи информации: \nI = V / t \nV — скорость передачи данных измеряется в бит/с; \nI — объем (размер) передаваемого файла (сообщения) измеряется в бит; \nt — время, за которое передается файл (сообщение) измеряется в секундах. \nФормула определения количества информации: \nN = 2ᴵ \nN — мощность алфавита; \ni — информационный вес символа; \nИнформационный объём сообщения: \nI = К * i \nI – объём информации в сообщении; \nК – количество символов в сообщении; \ni – информационный вес одного символа.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.94, anchor=tk.S)   def show_text_4():     label.config(

        text="1 бит – это наименьшая единица измерения информации. \n1 байт = 8 бит \n1 Кб (килобайт) = 1024 байта= 2¹ байт \n1 Мб (мегабайт) = 1024 Кб =

2¹ Кб \n1 Гб (гигабайт) = 1024 Мб = 2¹ Мб \n1 Тб (терабайт) =1024 Гб = 2¹ Гб",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.76, anchor=tk.S)   def show_text_5():     label.config(

        text="Современный компьютер – это универсальное электронное программно-управляемое устройство для работы с информацией.\nПрограмма – это описание на формальном языке, «понятном» компьютеру, последовательности действий, которые необходимо выполнить над данными для решения поставленной задачи. \nПиксель – наименьший элемент дисплея, формирующий изображение.

\nГлубина цвета – длина двоичного кода, который используется для кодирования цвета пикселя. \nТекстовый документ – это, представленная на бумажном, электронном или ином материальном носителе, информация в текстовой форме. \nТекстовый редактор – это прикладная программа для создания и обработки текстовых документов.",

        wraplength=950, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.83, anchor=tk.S)

  def show_text_6():     label.config(         text="Система счисления – это совокупность правил для записи чисел. \nЦифры – это знаки, c помощью которых записываются числа. \nАлфавит – это множество всех цифр, используемых для записи чисел. \nАлфавит  десятичной  системы состоит из десяти цифр:  0,  1,  2,  3,  4,  5,  6,  7,  8,  9. \nДля записи чисел в двоичной системе счисления используются только две цифры: 0 и 1. \nБуквы,которые используются для записи чисел в шестнадцатиричной системе счисления: A, B, C, D, E, F имеют значения 10, 11, 12, 13, 14, 15 соответственно.",

        wraplength=950, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.79, anchor=tk.S)

  def show_text_7():     label.config(

        text="• Преобразовать число из двоичной системы счисления в десятичную можно следующим образом: каждый разряд числа необходимо умножить на 2ⁿ, где n - номер разряда, начиная с 0. Затем суммировать полученные значения. \n• Преобразовать число из восьмеричной системы счисления в десятичную можно следующим образом: каждый разряд числа необходимо умножить на 8ⁿ, где n - номер разряда, начиная с 0. Затем суммировать полученные значения. \n• Преобразовать число из шестнадцатеричной системы счисления в десятичную можно следующим образом: каждый разряд числа необходимо умножить на 16ⁿ, где n - номер разряда, начиная с 0. Затем суммировать полученные значения.",

        wraplength=900, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.83, anchor=tk.S)

  def show_text_8():     label.config(

        text="• Для перевода чисел из десятичной системы в двоичную нужно разделить число на 2, где 2 — основание двоичной системы, и записать остаток от деления. Полученное частное снова разделить на 2 и также записать остаток. Повторять действия, пока частное не станет равным 0. Записать все остатки в обратном порядке. \n• Для перевода чисел из десятичной системы в восьмеричную нужно разделить число на 8, где 8 — основание двоичной системы, и записать остаток от деления. Полученное частное снова разделить на 8 и также записать остаток. Повторять действия, пока частное не станет равным 0. Записать все остатки в обратном порядке. \n• Для перевода чисел из десятичной системы в шестнадцатеричную нужно разделить число на 16, где 16 — основание двоичной системы, и записать остаток от деления. Полученное частное снова разделить на 16 и также записать остаток. Повторять действия, пока частное не станет равным 0. Записать все остатки в обратном порядке.",         wraplength=900, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0. 89, anchor=tk.S) 

 def show_text_9():     label.config(

        text="Исполнитель – человек, животное или техническое устройство, способное выполнить предложенную ему последовательность команд. \nАлгоритм – это последовательность операторов Паскаль, с помощью которых мы пришли к решению задачи. \nСвойства алгоритма: понятность, точность, конечность, дискретность, массовость. \nСпособы записи алгоритмов – словесное описание, построчная запись, блок-схема.",

        wraplength=990, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.75, anchor=tk.S)

  def show_text_10():     label.config(

        text="Некоторые типы данных в Pascal: \n• Целочисленный – Integer; \n• Вещественный – Real; \n• Логический – Boolean; \n• Символьный – Char; \n• Строковый - String.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.76, anchor=tk.S)

  def show_text_11():     label.config(

        text="Стандартные функции Pascal: \n• abs(x) - модуль x;  \n• sqr(x) - квадрат x; \n• sqrt(x) - квадратный корень из x; \n• round(x) - округление x до ближайшего целого; \n• random - случайное число 0 ≤ Random <1; \n• random(x) - случайное целое число 0 ≤random(x) <x.",         wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.685, rely=0.78, anchor=tk.S)

  def show_text_12():     label.config(

        text="Структура программы на Pascal: \nProgram <Имя программы>; \nVar <раздел описания переменных>; \nBegin \n<раздел операторов> \nEnd.",         wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.69, rely=0.76, anchor=tk.S)

  def show_text_13():     label.config(

        text="Массовая информация – сведения, понятные большей части населения.\nСпециальная информация – сведения, которые могут быть не понятны основной массе людей, но необходимы и понятны узкой социальной группе специалистов.\nСекретная информация – сведения для узкого круга, передаваемые по закрытым каналам.\nЛичная информация — сведения о каком–либо человеке, определяющие социальное положение и типы социальных

взаимодействий.\nОбщественно значимая информация – это информация, которая удовлетворяет потребности граждан в знании и понимании того, что происходит в государстве.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.67, rely=0.81, anchor=tk.S)   def show_text_14():     label.config(

        text="Программное обеспечение компьютера – это совокупность всех программ, предназначенных для выполнения на компьютере. \nОперационная система – это комплекс программ, обеспечивающих совместное функционирование всех устройств компьютера и предоставляющих пользователю доступ к ресурсам компьютера. \nСервисные программы – это программы-архиваторы, антивирусные программы, коммуникационные программы и другие.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.67, rely=0.77, anchor=tk.S)

  def show_text_15():     label.config(

        text="Файл – это поименованная область внешней памяти. \nИмя файла состоит из двух частей, разделённых точкой: имени файла и расширения. \nКаталог – это поименованная совокупность файлов и подкаталогов. \nФайловая структура – это совокупность файлов на диске и взаимосвязей между ними. \nПростые файловые структуры могут использоваться для дисков с небольшим количеством файлов. \nИерархические файловые структуры используются для хранения большого количества файлов. ",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.685, rely=0.77, anchor=tk.S)

  def show_text_16():     label.config(

        text="Информационная безопасность – процесс соблюдения трёх аспектов безопасности: доступности, целостности и конфиденциальности информации. \nУгроза – это возможность нарушения или нежелательного изменения одного из аспектов информационной безопасности. \nАтака – действие, которое приводит к реализации угрозы. \nКомпьютерные вирусы – это программы, которые распространяются по доступным носителям без ведома пользователя и наносят тот или иной ущерб данным пользователя. \nСпам — массовая несанкционированная рассылка сообщений рекламного или несанкционированного характера. \nАнтивирусы — специализированные программы для выявления и устранения вирусов.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.67, rely=0.83, anchor=tk.S)

  def show_text_17():     label.config(

        text="Информационные процессы - процессы, связанные с изменением информации или действиями с использованием информации.\nИнформационная деятельность - деятельность человека, связанную с процессами сбора, представления, обработки, хранения и передачи информации.\nОбработка информации — это целенаправленный процесс изменения содержания или формы представления информации.\nСохранить информацию — значит тем или иным способом зафиксировать её на некотором носителе.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.78, anchor=tk.S)   def show_text_18():     label.config(

        text="Начало и окончание алгоритма – овал;\nБлок ввода или вывода данных – параллелограмм;\nБлок обработки данных – прямоугольник;\nПроверка условия - ромб.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.68, rely=0.73, anchor=tk.S)

  def show_text_19():     label.config(

        text="Логическое высказывание – это повествовательное предложение, про которое можно однозначно сказать, истинно оно или ложно.\nМатематический аппарат, с помощью которого записывают, упрощают и преобразуют логические высказывания, вычисляют их значения, называется алгеброй логики.\nОсновными логическими операциями, определенными над высказываниями, являются: инверсия, конъюнкция и дизъюнкция.\nПри вычислениях логических выражений сначала выполняются действия в скобках. Приоритет выполнения логических операций: НЕ, И, ИЛИ.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.675, rely=0.81, anchor=tk.S)

  def show_text_20():     label.config(

        text="Div — оператор, который выполняет целочисленное деление. Его можно использовать только с целыми типами данных.\nНапример, 19 div 2 будет равно 9.\nMod — оператор, который определяет остаток от целого деления.\nНапример, 19 mod 2 будет равно 1, так как ближайшее целое число, которое можно разделить на 2 — это 18.",

        wraplength=1000, justify="left", font=("Helvetica", 14), background="darkturquoise", foreground="gray9")     label.place(relx=0.67, rely=0.74, anchor=tk.S)

  def question_window(         title,         questions,         correct_answers

):     question_window = Toplevel(window)     question_window.title(title)     question_window.geometry('550x730')

    question_window.configure(background="darkslategray2")

 

    user_answers = []

     for i in range(len(questions)):

        label = Label(             question_window,             text=questions[i],             font=("Helvetica", 13),             background=" darkslategray2",             foreground="black"

        )

        label.grid(row=2 * i, column=0, padx=2, pady=2, sticky=NW)         user_answer = StringVar()         label = Entry(             question_window,             textvariable=user_answer,             font=("Helvetica", 13)

        )

        label.grid(row=2 * i + 1, column=0, padx=2, pady=2, sticky=NW)           user_answers.append(user_answer)

     def check_results():         correct_count = 0         for i in range(len(correct_answers)):             if user_answers[i].get() == correct_answers[i]:                 correct_count += 1

        result = "{}/{}".format(correct_count, len(correct_answers))         result_color = "green" if correct_count == len(correct_answers) else

"red"

        label = Label(             question_window,             text="Результат: " + result,             font=("Helvetica", 13),             background=" darkslategray2",             foreground=result_color

        )

        label.grid(row=2 * len(questions) + 2, column=0, padx=2, pady=2)

     answer_button = Button(         question_window,         text="Проверка результата",         command=check_results

    )

    answer_button.grid(row=2 * len(questions) + 1, column=0, padx=2, pady=2)

 

window = tk.Tk()

window.title("Помощь в учебе на каждый день") window.geometry('1550x1000') bg = PhotoImage(file = "background.png") window.resizable(width=False, height=False)

 

splash_screen = tk.Canvas(window, width=1550, height=1000, background="darkslategray2") splash_screen.pack()

 

splash_screen.create_text(775, 400, text="Помощь в учебе на каждый день", font=("Helvetica", 50), anchor="center") splash_screen.create_text(775, 500,

                          text="Данное приложение поможет учащимся на уроках информатики, а также присутствуют тесты для закрепления материала",                           font=("Helvetica", 18), anchor="center") splash_screen.create_text(775, 850, text="Создатель: Александр Беневоленский", font=("Helvetica", 18),                           anchor="center")

splash_screen.create_text(775, 900, text="Версия: 1.0.0", font=("Helvetica",

10), anchor="center") window.update() window.after(7000)

 splash_screen.destroy()

 

label3 = Label(window, image = bg) label3.place(x = 0, y = 0)

  label = Label(window, text="Темы 7-ого класса:", font=("Helvetica ", 40), background="darkturquoise", foreground="black") label.grid(row=0, column=0, padx=3, pady=10)

 

button1 = Button(window, text="•7 класс Информатика \nЧто такое информатика?", height=4, width=25, foreground="black", background="lightgoldenrod1", command=show_text_1) button1.grid(row=0, column=1, padx=3, pady=10)

 button2 = Button(window, text="•7 класс Информатика \nТипы информации", height=4, width=25, foreground="black", background="lightgoldenrod1",                  command=show_text_2)

button1.grid(row=0, column=2, padx=3, pady=10)

 button3 = Button(window, text="•7 класс Информатика \nОсновные формулы", height=4, width=25, foreground="black", background="lightgoldenrod1",                  command=show_text_3) button3.grid(row=0, column=3, padx=3, pady=10)

 

button4 = Button(window, text="•7 класс Информатика \nЕдиницы измерения

\nинформации", height=4, width=25,

                 foreground="black", background="lightgoldenrod1",                  command=show_text_4) button4.grid(row=0, column=4, padx=3, pady=10)

 button5 = Button(window, text="•7 класс Информатика \nОсновные понятия", height=4, width=25, foreground="black", background="lightgoldenrod1",                  command=show_text_5) button5.grid(row=0, column=5, padx=3, pady=10)

 

button13 = Button(window, text="•7 класс Информатика \nВиды информации \nпо назначению", height=4, width=25,

                  foreground="black", background="lightgoldenrod1",                   command=show_text_13) button13.grid(row=1, column=1, padx=3, pady=10)

 

button14 = Button(window, text="•7 класс Информатика \nПрограммное обеспечение", height=4, width=25, foreground="black", background="lightgoldenrod1",                   command=show_text_14) button14.grid(row=1, column=2, padx=3, pady=10)

 button15 = Button(window, text="•7 класс Информатика \nФайловая система", height=4, width=25, foreground="black", background="lightgoldenrod1",                   command=show_text_15) button15.grid(row=1, column=3, padx=3, pady=10)

 

button16 = Button(window, text="•7 класс Информатика \nОсновы информационной\nбезопасности", height=4, width=25,

                  foreground="black", background="lightgoldenrod1",                   command=show_text_16) button16.grid(row=1, column=4, padx=3, pady=10)

 

button17 = Button(window, text="•7 класс Информатика \nИнформационные процессы", height=4, width=25, foreground="black", background="lightgoldenrod1", command=show_text_17) button17.grid(row=1, column=5, padx=3, pady=10)

 label1 = Label(window, text="Темы 8-ого класса:" , font=("Helvetica ", 40), background="darkturquoise",               foreground="black")

label1.grid(row=2, column=0, padx=3, pady=10)

 

button6 = Button(window, text="•8 класс Информатика \nСистема счисления ", height=4, width=25, foreground="black", background="lightgoldenrod2",                  command=show_text_6) button6.grid(row=2, column=1, padx=3, pady=10)

 

button7 = Button(window, text="•8 класс Информатика \nПеревод из 2, 8, 16

\nсистем счисления в 10 \nсистему счисления",                  height=4, width=25, foreground="black", background="lightgoldenrod2",                  command=show_text_7) button7.grid(row=2, column=2, padx=3, pady=10) 

button8 = Button(window, text="•8 класс Информатика \nПеревод из одной

\nсистемы счисления в другую",

                 height=4, width=25, foreground="black", background="lightgoldenrod2", command=show_text_8) button8.grid(row=2, column=3, padx=3, pady=10)

 

button9 = Button(window, text="•8 класс Информатика \nАлгоритмы", height=4, width=25, foreground="black", background="lightgoldenrod2",                  command=show_text_9) button9.grid(row=2, column=4, padx=3, pady=10)

 button10 = Button(window, text="•8 класс Информатика \nТипы данных", height=4, width=25, foreground="black", background="lightgoldenrod2",                   command=show_text_10) button10.grid(row=2, column=5, padx=3, pady=10)

 

button11 = Button(window, text="•8 класс Информатика \nФункции", height=4, width=25, foreground="black", background="lightgoldenrod2",                   command=show_text_11) button11.grid(row=3, column=1, padx=3, pady=10)

 button12 = Button(window, text="•8 класс Информатика \nСтруктура программы", height=4, width=25, foreground="black", background="lightgoldenrod2",                   command=show_text_12) button12.grid(row=3, column=2, padx=3, pady=10)

 

button18 = Button(window, text="•8 класс Информатика \nОсновные блоки \nблоксхем", height=4, width=25,

                  foreground="black", background="lightgoldenrod2",                   command=show_text_18) button18.grid(row=3, column=3, padx=3, pady=10)

 

button19 = Button(window, text="•8 класс Информатика \nВысказывания и

\nоперации с ними", height=4, width=25,

                  foreground="black", background="lightgoldenrod2",                   command=show_text_19) button19.grid(row=3, column=4, padx=3, pady=10)

 

button20 = Button(window, text="•8 класс Информатика \nDiv и Mod", height=4, width=25, foreground="black", background="lightgoldenrod2",                   command=show_text_20) button20.grid(row=3, column=5, padx=3, pady=10)

 

label2 = Label(window, text="Тесты для повторения:", font=("Helvetica ", 40), background="darkturquoise",               foreground="black")

label2.grid(row=4, column=0, padx=3, pady=10)

 label4 = Label(window, text="Олимпиадные \nзадание:", font=("Helvetica ",

40), background="darkturquoise",               foreground="black")

label4.grid(row=5, column=0, padx=3, pady=10)  

questions_7 = [

    "1. Информатика - это ... \n Написать одно слово.",

    "2. Объектами изучения информатики являются:\nНаписать через 'и'.",

    "3. По чему делятся типы информации\nНаписать через запятые.",

    "4. Напишите формулу скорости передачи информации.",

    "5. Напишите формулу информационного объёма сообщения.",

    "6. Сколько байт в 3 Кбайтах?",

    "7. Сколько бит в 10 Мбайтах?",

"8. Наименьший элемент дисплея - это ...",

"9. Описание на формальном языке, «понятном» компьютеру - это ...",

"10. Наименьшая единица измерения информации - это ..."

]  

correct_answers_7 = [

    "наука",

    "информация и компьютер",

    "способу восприятия, способу представления, назначению",

    "I=V/t",

    "I=K*i",

    "3072",

    "83886080",

    "пиксель",

    "программа",

    "бит"

questions_7_1 = [

    "1. Двоичный код – это код, содержащий…",

    "2. Алфавит некоторого языка состоит из 32 символов. Каков

\nинформационный вес символа этого алфавита?",

    "3. Сообщение из 50 символов несет 200 битов информации. \nКакова мощность алфавита, с помощью которого записано \nэто сообщение?",

    "4. 1.5 Мбайт - это ... байт",

    "5. Что является минимальной единицей измерения информации?",

    "6. 1 байт равняется:",

    "7. Алфавит языка состоит из 8 символов. Сколько информации \nнесет сообщение, состоящее из 64 символов?",

    "8. Ввод звуковой информации в компьютер осуществляется \nс помощью…",

    "9. Какая самая популярная операционная система?",

    "10. Имя файла состоит из двух частей, разделённых точкой: ..."

] 

correct_answers_7_1 = [

    "0 и 1",

    "5 битов",

    "16",

    "1536",

    "1 бит",

    "8 битам",

    "192 бита",

    "микрофона",

    "Windows",

    "имени файла и расширения"

questions_7_2 = [

    "1. Что такое программное обеспечение компьютера?",

    "2. Что такое операционная система?",

    "3. Что такое каталог в файловой системе?",

    "4. Что такое спам?",

    "5. Что такое антивирус?",

    "6. Какие 3 аспекта существует в информационной безопасности?",

    "7. Что такое информационные процессы?",

    "8. Какие существуют виды информации по значению?",

    "9. Что такое массовая информация?",     "10. Что такое секретная информация?"

correct_answers_7_2 = [

    "это совокупность всех программ, предназначенных для выполнения на компьютере",

"это комплекс программ, обеспечивающих совместное функционирование всех устройств компьютера и предоставляющих пользователю доступ к ресурсам компьютера",

    "это совокупность файлов на диске и взаимосвязей между ними",     "массовая несанкционированная рассылка сообщений рекламного или несанкционированного характера",

    "специализированные программы для выявления и устранения вирусов",

    "доступность, целостность и конфиденциальность информации",     "процессы, связанные с изменением информации или действиями с использованием информации",

    "массовая, специальная, секретная, личная, общественно значимая",

    "сведения, понятные большей части населения",

    "сведения для узкого круга, передаваемые по закрытым каналам"

] 

questions_8 = [

    "1. Что такое система счисления? ",

    "2. Какие буквы есть в шестнадцатеричной системе счисления?",

    "3. Преобразуйте число 101011011, которое в двоичной системы\nсчисления в десятичную систему счисления.",

    "4. Преобразуйте число 401, которое в восьмеричной системы\nсчисления в двоичную систему счисления.",

    "5. Преобразуйте число 1A4F, которое в шестнадцатеричной системы\nсчисления в десятичную систему счисления.",

    "6. Что такое алгоритм?",

    "7. Перечислите свойства алгоритма.\nНаписать через запятые.",

    "8. Как обозначается тип данных 'Логический' на языке Pascal.",

    "9. Как обозначается корень квадратный из x на языке Pascal.",

    "10. Как называется раздел описания переменных на языке Pascal.",

correct_answers_8 = [

    "совокупность правил для записи чисел",

    "A, B, C, D, E, F",

    "347",

    "100000001",

    "6735",

    "последовательность операторов Паскаль, с помощью которых мы пришли к решению задачи",

    "понятность, точность, конечность, дискретность, массовость",

    "Boolean",

    "sqrt(x)",

    "var",

questions_8_1 = [

    "1. Сколько 1 в двоичной записи десятичного числа 15?",

    "2. Как называется совокупность всех знаков, \nиспользуемых в системе счисления для записи чисел?",

    "3. Как называются знаки, используемые в системе счисления для \nзаписи чисел?",

    "4. Алгоритм, записанный на языке программирования, называется …",

    "5.  Для работы с вещественными числами в Паскаль \nиспользуется тип …",

    "6. Имя программы записывается после слова …",

    "7. Двоичное число 100110 в десятичной системе счисления \nзаписывается как:",

    "8. Для вычисления квадратного корня из х используется функция:",

    "9. Для вывода результатов в Паскале используется оператор:",

    "10. Какой фигурой в блок-схеме обозначается проверка условия?",

correct_answers_8_1 = [

    "4",

"алфавит",

"цифры",

"программой",

"real",

    "program",     "38",

    "sqrt(x)",

    "write",

    "ромб",

questions_olymp = [

    "1. Укажите тип файла koshka.jpeg:\nА) Звуковой Б) Графический В)

Текстовый",

    "2. Укажите расширение файла olimpiada.docx:\nА) olimpiada Б) .docx В) docx",

    "3. Какое расширение файла у WEB-страниц? ",

    "4. Какое самое известное расширение звуковых файлов?" ,

    "5. Какое расширение имеют системные файлы?" ,

    "6. Какое расширение имеет файл языка Python?" ,

    "7. Из скольки частей состоит имя файла?"

] 

correct_answers_olymp = [

    "Б",

    "В",

    "html",

    "mp3",

    "sys",

    "py",

    "2"

] 

questions_olymp_1 = [

    "1. Сколько ходов надо совершить, чтобы набрать воды ровно 1л,\nпользуясь банками в 3л и 5л?" ,

    "2. Сколько ходов надо совершить, чтобы отмерить 4л воды с\nпомощью сосудов в 3л и 5л?" ,

    "3. Сколько ходов надо совершить, имея лишь два сосуда\nёмкостью 5л и 7 л, отмерить 6л воды?" ,

    "4. Сколько ходов надо совершить, чтобы из реки можно принести\nровно 6л воды, если имеется только два ведра:одно - емкостью 4л,\nдругое - 9л? ",     "5. Бидон емкостью 10л заполнен молоком. Сколько ходов надо\nсовершить, чтобы перелить из этого бидона 5л в семилитровый\nбидон, используя при этом еще один бидон, вмещающий 3л." ,

    "6. Сколько ходов надо совершить, чтобы имея два бидона\nемкостью 4л и

5л, можно ли налить в ведро 3л воды.\nЕсли емкость ведра не менее Зл?"

]  correct_answers_olymp_1 = [

    "4",

    "8",

    "10",

    "8",

    "8",

    "5"

] 

questions_olymp_2 = [

    "1. Какое сочетание клавиш отвечает за возвращение к последнему\nвводу?",

    "2. Какое сочетание клавиш отвечает за выделение всего?" ,

    "3. Какое сочетание клавиш отвечает за копирование?" ,

    "4. Какое сочетание клавиш отвечает за вставление?" ,

"5. Какое сочетание клавиш отвечает за переключение на строку\nпоиска?" ,

"6. Какое сочетание клавиш отвечает за открытие Cortana?" ,

"7. Какое сочетание клавиш отвечает за сохранение скриншота\nэкрана?" ,

"8. Какое сочетание клавиш отвечает за открытие новой вкладки\nили окна?"

] 

correct_answers_olymp_2 = [

    "CTRL+Z",

    "CTRL+A",

    "CTRL+C",

    "CTRL+V",

    "CTRL+E",

    "WIN+C",

    "WIN+PrtSc",

    "CTRL+N",

questions_olymp_3 = [

    "1. «Мозг» компьютера и любого другого электронного\nустройства - это ..." ,

    "2. Устройство, преобразующее графический образ в форму,\nпригодную для дальнейшего вывода на экран монитора - это ..." ,

    "3. Часть системы компьютерной памяти, в которой во время\nработы компьютера хранится информация - это ..." ,

    "4. Как называется компонент в компьютере, которая используется\nдля лучшего контакта между процессором и кулером?" ,

    "5. Устройство, которое преобразовывает сетевое переменное\nнапряжение в несколько постоянных напряжений, которые\nпотребляют различные компоненты компьютера – это …",

    "6. Запоминающее устройство произвольного доступа, основанное\nна принципе магнитной записи – это …",

    "7. Печатная плата, являющаяся основой построения модульного\nустройства

–  это …"

correct_answers_olymp_3 = [

    "процессор",

    "видеокарта",

    "оперативная память",

    "термопаста",

    "блок питания",

    "жёсткий диск",     "материнская плата"

questions_olymp_4 = [

    "1. Одно из фундаментальных понятий информатики, \nописывающее некоторую последовательность действий - это…\nA) Internet   Б) алгоритм   B) Pascal   Г) компьютер",

    "2. Какими клавишами можно скопировать текст в буфер обмена?\nA) Ctrl +

Ins   Б) Shift + Del   B) Alt + Ctrl    Г) Shift + Ins",

    "3. Какое число является логическим продолжением ряда 17, 9, 5, 3?\nA) 1    

Б) 2     B) 3     Г) 0",

    "4. С каким расширением создается файл в программе Microsoft

\nPowerPoint? A) .doc     Б) .xls     B) .ppt     Г) .bmp",

    "5. Наглядное средство представления состава и структуры \nсистемы - это…A) блок-схема    Б) граф    B) схема    Г) чертёж",

    "6. Имеются два пустых флакона: на 5 и на 7 капель. Рядом -\nисточник воды. За какое наименьшее количество ходов можно \nотметить три капли?" ,     "7. В классе 1111 девочек и 1100 мальчиков.\nСколько учеников в классе?"

correct_answers_olymp_4 = [

"Б",

"А",

"Б",

"В",     "Б",

    "4",

    "27"

]

 

question_7_title = "Тест для 7-го класса" button_question_7 = Button(     window,     text=question_7_title,     height=4, width=25,     foreground="black",     command=lambda: question_window(         title=question_7_title,         questions=questions_7,         correct_answers=correct_answers_7

    ) )

button_question_7.grid(row=4, column=2, padx=3, pady=3)

 

question_7_1_title = "Тест для 7-го класса" button_question_7_1 = Button(     window,     text=question_7_1_title,     height=4, width=25,     foreground="black",     command=lambda: question_window(         title=question_7_1_title,         questions=questions_7_1,         correct_answers=correct_answers_7_1

    ) )

button_question_7_1.grid(row=4, column=1, padx=3, pady=3)

 

question_7_2_title = "Тест для 7-го класса" button_question_7_2 = Button(     window,     text=question_7_2_title,     height=4, width=25,     foreground="black",     command=lambda: question_window(         title=question_7_2_title,         questions=questions_7_2,         correct_answers=correct_answers_7_2

    ) ) button_question_7_2.grid(row=4, column=3, padx=3, pady=3)

 question_8_title = "Тест для 8-го класса" button_question_8 = Button(     window,     text=question_8_title,     height=4, width=25,     foreground="black",     command=lambda: question_window(         title=question_8_title,         questions=questions_8,         correct_answers=correct_answers_8

    )

)

button_question_8.grid(row=4, column=4, padx=3, pady=3)

 

question_8_1_title = "Тест для 8-го класса" button_question_8_1 = Button(     window,

    text=question_8_1_title,     height=4, width=25,     foreground="black",     command=lambda: question_window(         title=question_8_1_title,         questions=questions_8_1,         correct_answers=correct_answers_8_1

    ) )

button_question_8_1.grid(row=4, column=5, padx=3, pady=3)

 

question_olymp_title = "Олимпиадные задачи\nРасширения" button_question_olymp = Button(     window,

    text=question_olymp_title,     height=4, width=25,     foreground="gray9",     background="lightgoldenrod3",     command=lambda: question_window(         title=question_olymp_title,         questions=questions_olymp,         correct_answers=correct_answers_olymp

    ) )

button_question_olymp.grid(row=5, column=1, padx=3, pady=3)

 

question_olymp_1_title = "Олимпиадные задачи\ nПереливание " button_question_olymp_1 = Button(     window,

    text=question_olymp_1_title,     height=4, width=25,     foreground="gray9",     background="lightgoldenrod3",     command=lambda: question_window(         title=question_olymp_1_title,         questions=questions_olymp_1,

        correct_answers=correct_answers_olymp_1        

    ) )

button_question_olymp.grid(row=5, column=2, padx=3, pady=3)

 question_olymp_2_title = "Олимпиадные задачи\nСочетание клавиш" button_question_olymp_2 = Button(     window,

    text=question_olymp_2_title,     height=4, width=25,     foreground="gray9",     background="lightgoldenrod3",     command=lambda: question_window(         title=question_olymp_2_title,         questions=questions_olymp_2,

        correct_answers=correct_answers_olymp_2           ) ) button_question_olymp.grid(row=5, column=3, padx=3, pady=3)

 

question_olymp_3_title = "Олимпиадные задачи\nКомпоненты компьютера" button_question_olymp_3 = Button(

window,

text=question_olymp_3_title,     height=4, width=25,     foreground="gray9",     background="lightgoldenrod3",     command=lambda: question_window(         title=question_olymp_3_title,         questions=questions_olymp_3,         correct_answers=correct_answers_olymp_3  

    ) )

button_question_olymp.grid(row=5, column=4, padx=3, pady=3)

 

question_olymp_4_title = "Олимпиадные задачи\nРазное" button_question_olymp_4 = Button(     window,

    text=question_olymp_4_title,     height=4, width=25,     foreground="gray9",     background="lightgoldenrod3",     command=lambda: question_window(         title=question_olymp_4_title,         questions=questions_olymp_4,         correct_answers=correct_answers_olymp_4  

    ) )

button_question_olymp.grid(row=5, column=5, padx=3, pady=3)

 

window.mainloop()

 

        Приложение 4 Первая страница при запуске приложения.

 

 

        Приложение 5

Меню приложения

 

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ

Название «Разработка приложения на языке

Название «Разработка приложения на языке

Приложения……………………………………………………………………

Приложения……………………………………………………………………

Проблема: Информация по предмету «Информатика» 7-8 классов разбросана по разным источникам, может быть неисчерпывающей и размытой

Проблема: Информация по предмету «Информатика» 7-8 классов разбросана по разным источникам, может быть неисчерпывающей и размытой

Python часто изучается и рекомендуется как первый язык программирования

Python часто изучается и рекомендуется как первый язык программирования

Python в сравнении с языком ABC можно выделить то, что

Python в сравнении с языком ABC можно выделить то, что

Python очень высока; -возможность написать свои собственные модули для

Python очень высока; -возможность написать свои собственные модули для

Теперь предлагаю посмотреть индекс

Теперь предлагаю посмотреть индекс

Tkinter; -Kivy; -Python QT; -wxPython

Tkinter; -Kivy; -Python QT; -wxPython

Canvas — «холст», на котором рисуют графические фигуры;

Canvas — «холст», на котором рисуют графические фигуры;

Canvas – холст Entry – однострочное текстовое поле ввода

Canvas – холст Entry – однострочное текстовое поле ввода

Message служит для вывода текста

Message служит для вывода текста

Самый гибкий и мощный, позволяет создавать сложные интерфейсы, состоящие из виджетов разных размеров

Самый гибкий и мощный, позволяет создавать сложные интерфейсы, состоящие из виджетов разных размеров

Отступы Параметры padx и pady позволяют указать отступы виджета от границ контейнера

Отступы Параметры padx и pady позволяют указать отступы виджета от границ контейнера

Порядок проектирования приложения

Порядок проектирования приложения

Создание приветственного сообщения

Создание приветственного сообщения

Создание дизайна кнопок С помощью foreground и background зададим цвет текста и кнопки и также настроем размеры кнопки

Создание дизайна кнопок С помощью foreground и background зададим цвет текста и кнопки и также настроем размеры кнопки

Чтобы при нажатии кнопки появлялся текст, command нужно приравнять к названию функции и при нажатии на кнопку теперь будет появляться наш текст

Чтобы при нажатии кнопки появлялся текст, command нужно приравнять к названию функции и при нажатии на кнопку теперь будет появляться наш текст

Тест для 7-го класса" button_question_7 =

Тест для 7-го класса" button_question_7 =

Helvetica" , 13 ), background = " darkslategray2" , foreground = "black" ) label

Helvetica" , 13 ), background = " darkslategray2" , foreground = "black" ) label

Приложение 5).

Приложение 5).

Список литературы 1.

Список литературы 1.

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЯ

Приложение 3 Полный программный код приложения «Помощь в учебе на каждый день» from tkinter import * import tkinter as tk def show_text_1 (): label

Приложение 3 Полный программный код приложения «Помощь в учебе на каждый день» from tkinter import * import tkinter as tk def show_text_1 (): label

S) def show_text_4 (): label

S) def show_text_4 (): label

Полученное частное снова разделить на 8 и также записать остаток

Полученное частное снова разделить на 8 и также записать остаток

Helvetica" , 14 ), background = "darkturquoise" , foreground = "gray9" ) label

Helvetica" , 14 ), background = "darkturquoise" , foreground = "gray9" ) label

Helvetica" , 14 ), background = "darkturquoise" , foreground = "gray9" ) label

Helvetica" , 14 ), background = "darkturquoise" , foreground = "gray9" ) label

Label( question_window, text = "Результат: " + result, font =( "Helvetica" , 13 ), background = " darkslategray2" , foreground =result_color ) label

Label( question_window, text = "Результат: " + result, font =( "Helvetica" , 13 ), background = " darkslategray2" , foreground =result_color ) label

Button(window, text = "•7 класс

Button(window, text = "•7 класс

Button(window, text = "•8 класс

Button(window, text = "•8 класс

Двоичный код – это код, содержащий…" , "2

Двоичный код – это код, содержащий…" , "2

Преобразуйте число 101011011, которое в двоичной системы \n счисления в десятичную систему счисления

Преобразуйте число 101011011, которое в двоичной системы \n счисления в десятичную систему счисления

Какое расширение имеет файл языка

Какое расширение имеет файл языка

Часть системы компьютерной памяти, в которой во время \n работы компьютера хранится информация - это

Часть системы компьютерной памяти, в которой во время \n работы компьютера хранится информация - это

Тест для 7-го класса" button_question_7_1 =

Тест для 7-го класса" button_question_7_1 =

Олимпиадные задачи \n Сочетание клавиш" button_question_olymp_2 =

Олимпиадные задачи \n Сочетание клавиш" button_question_olymp_2 =

Приложение 5 Меню приложения

Приложение 5 Меню приложения
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
28.05.2024