# Отчет по теме 1

Коломейцев Дмитрий, А-02-23

## Тема 1. Знакомство с интерпретатором и интерактивной оболочкой IDLE

## 1.1-2 Создание рабочего каталога и запуск Python

Настроил рабочий каталог для среды Python. Запустил Python IDLE.

## 1.3-7 Выполнение команд в Python

Выполнил ввод:

```py
print('Hello')

Hello
```
Ввёл имя и получил вывод:

```py
h = input('Your name=')
Your name=Dmitry
```
Закрыл IDLE командой:

```py
exit()
```
Далее снова открыл IDLE и ознакомился с главным окном среды.

## 1.8-9 Установка рабочего каталога и изменение настроек оболочки

Я импортировал библиотеку OS и задал путь к рабочему каталогу командой os.chdir. Используя приставку "r" я указываю, чтобы python читал следующую строку как raw string.

```py
import os
os.chdir(r"\\wsl.localhost\Ubuntu\home\s0ba4\mpei\python-labs\TEMA1")
```
Поменял шрифт и его размер через окно настроек.

![alt text]({949D9561-C6A7-4F78-AF7D-82688BD43A9D}.png)

А также его ширину и высоту, и подсветку комментариев коричневым цветом:

![alt text]({72E2EB1E-ED29-4D58-B3D3-6E580FA7F132}.png)
![alt text]({50D5871F-8C96-4B7D-9C0E-84A972319BCC}.png)

## 1.10 Создание, сохранение и запуск файла с программой


Далее я создал новый файл и сохранил его. Далее запустил командой 'Run Module'. Также программу можно запустить клавишей F5.

```py
# Программа по теме 1 студента Коломейцева Дмитрия
# п. 3
print('Hello')

# п. 4
h=input('Your name = \n')

# п. 8
import os
os.chdir(r'\\wsl.localhost\Ubuntu\home\s0ba4\mpei\python-labs\TEMA1') 
```

Также запустить программу можно через командную строку, импортировав файл командой import <file> (подразумевается, что файл с расширением .py) 
```py
import Pr0
Hello
Your name = 
Dmitry
```

## 1.11 Запуск программы prb1.py

```py
import prb1
Как Вас зовут? Дмитрий
Привет, Дмитрий
```

Далее я отредактирую название файла Pr0 на prb1, запущу его и посмотрю что выведет консоль.

```py
================================ RESTART: Shell ================================
import os
os.chdir(r"\\wsl.localhost\Ubuntu\home\s0ba4\mpei\python-labs\TEMA1")
import prb1
Hello
Your name = 
Dmitry
```

## 12. Попытка запуска скомпилированной программы в текстовом редакторе 

В текстовом редакторе я открыл каталог __pycache__ и попытался открыть в текстовом редакторе файл Pr0.cpython-34.pyc.

![alt text]({6E2E2B8D-EFA2-4831-9E59-3A3EB724C9D0}.png)

Связано это с тем, что Python - интерпретируемый язык, а .pyc - это промежуточный байткод, который запускается виртуальной машиной Python (PVM). При последующих запусках программы, если код не менялся, то программа запускается быстрее.

## 13. Протокол студента в новом окне

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

```py
import os
os.chdir(r"\\wsl.localhost\Ubuntu\home\s0ba4\mpei\python-labs\TEMA1")

import Pr0
Hello
Your name = 
Dmitry

import prb1
Как Вас зовут? Дмитрий
Привет, Дмитрий


# Переименовал файл Pr0.py в prb1.py
# Перезапустил shell, заново указал путь к рабочему каталогу и запустил prb1
================================ RESTART: Shell ================================
import os
os.chdir(r"\\wsl.localhost\Ubuntu\home\s0ba4\mpei\python-labs\TEMA1")
import prb1
Hello
Your name = 
Dmitry

```

## 14. Вызов помощи через help и F1

В окне help предоставлена документация для IDLE, для Python и Turtle Demo - это встроенная демонстрационная программа для визуализации возможностей графического модуля turtle в Python.

![alt text]({8692DC52-F8C3-44F3-A38A-F0FB3E302EF1}.png)

```py
help(print)
Help on built-in function print in module builtins:

print(*args, sep=' ', end='\n', file=None, flush=False)
    Prints the values to a stream, or to sys.stdout by default.

    sep
      string inserted between values, default a space.
    end
      string appended after the last value, default a newline.
    file
      a file-like object (stream); defaults to the current sys.stdout.
    flush
      whether to forcibly flush the stream.

help(input)
Help on built-in function input in module builtins:

input(prompt='', /)
    Read a string from standard input.  The trailing newline is stripped.

    The prompt string, if given, is printed to standard output without a
    trailing newline before reading input.

    If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
    On *nix systems, readline is used if available.
```
Также при нажатии F1 можно открыть окно с документацией для Python в браузере.

![alt text]({CC49F18A-0771-4235-9407-B529B1CF3B1E}.png)

В документации на закладке Index находим print() built-in function

![alt text]({3A0DEE6F-9B44-4562-A6AF-5696AAE5E0B4}.png)

Нажимаем по ней и открывается справка по команде

![alt text]({BB0B7571-6611-42D9-A234-2E007B47CE66}.png)

## 15. Повтор действий по открытию и запуску файлов

1. Открыл файл prb1.py. Файл открылся в текстовом редакторе Python IDLE
2. Запустил программу через Run Module, ввёл имя, получил приветственное сообщение:
![alt text]({20BD8F67-4D31-4235-93DC-0734C6A09B6A}.png)

3. Также запустил Pr0.py. Программа работает исправно.

4. Далее закрыл все окна и импортировал tdemo_chaos.py. Запустил программу.

Сначала программа строит синий график.
![alt text]({B6627959-4F1F-4295-9D87-E49778981824}.png)

Затем поверх него последовательно строятся зелёный и красный.
![alt text]({61B6EB65-1A67-49FE-A034-FCD9FEDD679A}.png)

Затем масштаб увеличивается.
![alt text]({97B37133-07C0-4FBA-B8D1-29759C5C4BC1}.png)

Также в меню "Help" есть демонстрационные варианты графического модуля Turtle:

Clock:

![alt text](image.png)

Fractals:

![alt text]({33900094-B02F-4578-A9C8-1BC8F543C9E6}.png)

Yinyang:

![alt text]({B167D907-F631-43EE-9487-70F00807A90D}.png)

## 16. Завершение работы с программой

Файл - выход (exit) - завершение работы с программой.