Компания ALT Linux
Опубликован: 05.04.2015 | Доступ: свободный | Студентов: 2473 / 462 | Длительность: 05:48:00
ISBN: 978-5-905167-02-7
Специальности: Программист, Преподаватель
Лекция 4:

Методические указания для учителей и преподавателей

< Лекция 3 || Лекция 4: 12

4.1 Введение. Почему Python?

Выбор в пользу того или иного языка программирования является следствием огромного количества факторов — от требований эффективного использования ресурсов вычислительной системы до наличия в нужное время подходящей книжки.

Поэтому, чтобы избежать непродуктивного и спорного сравнения различных языков программирования друг с другом (к тому же, такое сравнение провести крайне трудно ввиду их огромного количества и разнообразия параметров сравнения), рассмотрим только аргументы в пользу выбора языка Python (общепринятое произношение — "Питóн", хотя допускается и "Пáйтон").

  1. Python — сравнительно "молодой" язык. Создавая его в 1990—1991 годах, его автор Гвидо ван Россум (Guido van Rossum) учёл все достоинства и недостатки предшествующих языков программирования.
  2. Python имеет достаточно долгую историю развития и использования (почти 20 лет). В настоящее время Python поддерживается обширным международным сообществом разработчиков.
  3. Python — развивающийся язык, используемый в реальных проектах. Это означает, что его изучение не пройдёт напрасно.
  4. Средства для работы с Python относятся к категории свободно распространяемого программного обеспечения (СПО). Это гарантирует во-первых, от каких-либо претензий относительно использования "интеллектуальной собственности", а во-вторых, от превращения Python в обозримом будущем в "мёртвый" язык (вспомните "популярный" Turbo Pascal).
  5. Python имеет обширную область применения. Так, на Python создаются расширения к графическому редактору GIMP, на Python можно программировать в офисном пакете OpenOffice.org, на Python пишутся сценарии для пакета 3D-моделирования Blender, на Python написаны системы управления контентом Plone и MoinMoin Wiki, Python активно используется при создании компьютерных игр.
  6. Python — интерпретируемый язык, что очень удобно при обучении программированию. Интерпретатор Python входит в большинство дистрибутивов GNU/Linux (и разумеется, в ПСПО для школ).
  7. Существует множество средств, облегчающих процесс создания программ на Python. Это и специализированные лексические анализаторы, и редакторы для программистов (например, Kate и Bluefish), и интегрированные среды разработки (IDE).
  8. Наконец, многие средства для работы с Python являются кросс-платформенными, а в конструкциях языка поддерживаются многобайтные кодировки (Unicode), поэтому программы на Python легко переносятся с одной среды функционирования на другую.

4.2 Требования к программной конфигурации

Для успешного проведения практикума по алгоритмизации и программированию на Python на рабочих местах должны быть установлены собственно Python (версия не ниже 2.4), модули Tkinter и NumPy, среды разработки на Python — IDLE, Eric или Geany, а также какие-либо эмуляторы терминалов — xterm, rxvt и т.п.

В сборке от ALT Linux следует проверить наличие в системе следующих пакетов

  • geany
  • eric
  • xterm
  • python
  • python-base
  • python-doc
  • python-module-numpy
  • python-modules
  • python-modules-encodings
  • python-modules-tkinter
  • python-tools-idle

Некоторые из перечисленных пакетов будут установлены по зависимостям при установке Python, Eric и Geany с помощью менеджера пакетов, остальные нужно установить "вручную".

При создании программ (этот процесс обозначается звучным словом "разработка") удобно одновременно видеть текст программы и результаты её выполнения. Хорошо также, если при этом по-разному выделяются ключевые слова, названия функций и их аргументы, а также сразу же показываются строки, содержащие ошибки. Кроме того, бывает полезно выполнять программу по шагам и при этом следить за значениями каких-то переменных. Все эти возможности реализуются в так называемых интегрированных средах разработки (Integrated Development Environment, IDE).

Современные IDE, входящие в дистрибутивы Linux, могут работать с разными языками программирования. Существует IDE, лучше всего приспособленные для работы с одним конкретным языком, которые с другими языками работают, так сказать, факультативно. Кроме того, существуют IDE, которые одинаково успешно обеспечивают работу с самыми разными языками, как в режиме интерпретатора, так и в режиме компилятора.

В зависимости от версии ALT Linux удобно пользоваться либо Geany, либо Eric. Далее будут рассмотрены особенности работы в обоих IDE.

4.3 Основные понятия и определения (глоссарий)

В дальнейшем часто придётся использовать термины, связанные с процессом разработки и функционирования программ, поэтому здесь приведён краткий словарик, чтобы уже не возвращаться к проблеме определений. Для составления этого словаря использованы в основном материалы сайта "Глоссарий.Ру" (http://glossary.ru).

4.3.1 Алгоритм

Алгоритм — точное предписание исполнителю совершить определённую последовательность действий для достижения поставленной цели за конечное число шагов.

4.3.2 Данные

Данные — сведения:

  • полученные путём измерения, наблюдения, логических или арифметических операций;
  • представленные в форме, пригодной для постоянного хранения, передачи и (автоматизированной) обработки.

4.3.3 Тип данных

Тип данных — характеристика набора данных, которая определяет:

  • диапазон возможных значений данных из набора;
  • допустимые операции, которые можно выполнять над этими значениями;
  • способ хранения этих значений в памяти.

Различают:

  • простые типы данных: целые, действительные числа, символы, строки, логические величины;
  • составные типы данных: массивы, файлы и др.

4.3.4 Программа

Программа — согласно ГОСТ 19781-90 — данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определённого алгоритма.

4.3.5 Алгоритмический язык (язык программирования)

Язык программирования — искусственный (формальный) язык, предназначенный для записи алгоритмов. Язык программирования задаётся своим описанием и реализуется в виде специальной программы: компилятора или интерпретатора.

4.3.6 Транслятор языка программирования

Транслятор — в широком смысле — программа, преобразующая текст, написанный на одном языке, в текст на другом языке.

Транслятор — в узком смысле — программа, преобразующая: программу, написанную на одном (входном) языке в программу, представленную на другом (выходном) языке.

Транслятор языка программирования — программа, преобразующая исходный текст программы на языке программирования в машинный язык вычислительной системы, на которой эта программ должна выполняться.

4.3.7 Интерпретатор

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

4.3.8 Компилятор

Компилятор — программа, преобразующая текст, написанный на алгоритмическом языке, в программу, состоящую из машинных команд. Компилятор создаёт законченный вариант программы на машинном языке.

4.3.9 Константа

Константа — в программировании — элемент данных, который занимает место в памяти, имеет имя и определённый тип, причём его значение никогда не меняется.

4.3.10 Переменная

Переменная — в языках программирования — именованная часть памяти, в которую могут помещаться разные значения. Причём в каждый момент времени переменная имеет единственное значение (или единственный набор значений). В процессе выполнения программы значение переменной может изменяться.

Тип переменных определяется типом данных, которые они представляют.

4.3.11 Подпрограмма

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

4.3.12 Функция

Подпрограмма, которая на основе некоторых данных (аргументов функции) вычисляет значение некоторой переменной ("функция возвращает значение").

4.3.13 Объект

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

4.3.14 Метод

Действие в виде процедуры, которое выполняется объектом (иногда говорят – выполняется над объектом).

4.3.15 Идентификатор

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

4.3.16 Выражение

Выражение — конструкция на языке программирования, предназначенная для выполнения вычислений. Выражение состоит из операндов, объединённых знаками операций. Различают арифметические, логические и символьные выражения.

4.3.17 Операнд

Операнд — константа, переменная, функция, выражение и другой объект языка программирования, над которым производятся операции.

4.3.18 Арифметическая операция

Арифметическая операция — вычислительная операция над числами.

Во многих языках программирования определены двуместные арифметические операции: сложения, вычитания, умножения, деления, деления нацело, вычисление остатка от деления.

4.3.19 Логическая операция

Логическая операция — операция над логическими ("булевскими") операндами, принимающими значения "Истина" или "Ложь". Наиболее распространёнными являются следующие операции:

  • многоместное логическое сложение;
  • многоместное логическое умножение;
  • одноместное логическое отрицание.

("Многоместная" операция означает, что в ней может два и более операндов, а в "одноместной" или "унарной" операции участвует только один операнд).

4.3.20 Операция отношения

Операция отношения производит сравнение двух величин. Результат операции отношения является "булевской" переменной, принимающей значение "Истина" (True или логическая 1) или "Ложь" (False или логический 0)

4.3.21 Массив (массив данных)

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

В зависимости от количества индексов массивы бывают одномерные (линейные), двухмерные и т.д.

4.3.22 Индекс

Номер (или номера, если массив данных многомерный), добавляемый к имени массива, чтобы идентифицировать каждый элемент данного массива.

Например, a[1, 3] означает, что определён элемент двухмерного массива a с индексом 1,3 (строка — 1, столбец — 3).

4.3.23 Присваивание

Операция записи значения в переменную. Во многих языках программирования определён оператор присваивания. Если в переменную записывается новое значение, старое стирается.

4.3.24 Цикл

Цикл (циклические вычисления) означают многократное выполнение одних и тех же операций. В зависимости от задачи различаются циклы с переменной (со счётчиком, с известным количеством повторений) и циклы с условием (цикл повторяется, пока не выполнится условие завершения цикла).

4.3.25 Зацикливание

Для циклов с условием — ситуация, при которой условие завершения цикла никогда не выполняется

< Лекция 3 || Лекция 4: 12
Ольга Курыло
Ольга Курыло
Александр Кудлаев
Александр Кудлаев

Ознакомился с курсом "Практика по алгоритмизации и программированию на Python". Хотел сдать экзамен. Вместо традиционного тестирования было предложено написать курсовую работу. Написал. Отослал.Ответ на следующий день: "Задание не прверено". Сколько ожидать результата проверки работы?