Урок №23
Язык программирования. Система программирования.
Язык программирования — это способ записи программ решения различных задач на компьютере в понятной для компьютера форме.
Процессор компьютера непосредственно понимает язык машинных команд.
Программы на таких языках программисты писали лишь для самых первых ламповых машин — ЭВМ первого поколения.
Программирование на языке машинных команд — дело непростое. Программист должен знать числовые коды всех машинных команд, должен сам распределять память под команды программы и данные.
Язык машинных команд и ассемблер являются языками низкого уровня.
Язык низкого уровня – это язык программирования, предназначенный для определенного типа компьютера и отражающий его внутренний машинный код; языки низкого уровня часто называют машинно-ориентированными языками.
Язык высокого уровня – это язык программирования, предназначенный для программиста; он не зависит от внутренних машинных кодов компьютера любого типа. Языки высокого уровня используют для решения проблем, и поэтому их часто называют проблемно-ориентированными языками.
Видеоурок
Основой языка программирования Паскаль, как и любого другого языка, является алфавит — набор допустимых символов, которые можно использовать для записи программы. Это:
• латинские прописные буквы (А, В, С, …, X, Y, Z);
• латинские строчные буквы (а, Ь, с, …, х, у, z);
• арабские цифры (0, 1, 2, …, 7, 8, 9);
• специальные символы (знак подчёркивания; знаки препинания; круглые, квадратные и фигурные скобки; знаки арифметических операций и др.).
В качестве неделимых элементов (составных символов) рассматриваются следующие последовательности символов:
:= (знак операции присваивания);
>= и <= (знаки ≥ и ≤);
(* и *) (начало и конец комментария).
В простейшем случае программа на языке Паскаль имеет следующий вид.
Program <имя программы>; (заголовок программы, имя программы выбирается составителем программы самостоятельно)
Const <имя константы>=<значение константы> ;
(раздел описания констант)
Var
<имя переменной1, имя переменной2, … >: <Тип1 переменных>;
<имя переменной1, имя переменной2, … >: <Тип2 переменных>;
(раздел описания переменных, этот раздел необязателен в случае, если программа не использует никаких переменных)
Begin (начало программы)
<тело программы> (последовательность команд (операторов), разделенных знаком “;”)
End. (конец программы)
Для ввода исходных данных используются операторы процедур ввода: Read (A1, A2,… AK); ReadLn (A1, A2,… AK); ReadLn; Первый из них реализует чтение К значений исходных данных и присваивание этих значений переменным А1, А2, …, АК. Второй оператор реализует чтение К значений исходных данных, пропуск остальных значений до начала следующей строки, присваивание считанных значений переменным А1, А2, …, АК.
Для вывода информации в Паскале есть две команды: Write («Список вывода»); Writeln («Список вывода»); Такой формат использования Write и Writeln позволяет выводить на экран монитора данные из списка вывода. Элементами списка вывода могут являться имена переменных, выражения, константы. Прежде чем вывести на экран компьютер значения выражений сначала вычислит. Элементы списка разделяются запятыми.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:
Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.
Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.
Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
В соответствии с данной методологией
- Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
o последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
o ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
o цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
- Повторяющиеся фрагменты программы(либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
- Разработка программы ведётся пошагово, методом «сверху вниз».
Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Разработка заканчивается тогда, когда не останется ни одной «затычки», которая не была бы удалена. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна. При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста.
Функциональное программирование объединяет разные подходы к определению процессов вычисления на основе достаточно строгих абстрактных понятий и методов символьной обработки данных. Сформулированная Джоном Мак-Карти (1958) концепция символьной обработки информации компьютером восходит к идеям Черча и других математиков, известным как лямбда-исчисление с конца 20-х годов XX века. Выбирая лямбда-исчисление как теоретическую модель, Мак-Карти предложил рассматривать функции как общее базовое понятие, к которому достаточно естественно могут быть сведены все другие понятия, возникающие при программировании. Существуют различия в понимании функции в математике и функции в программировании, вследствие чего нельзя отнести Си-подобные языки к функциональным, использующим менее строгое понятие. Функция в математике не может изменить вызывающее её окружение и запомнить результаты своей работы, а только предоставляет результат вычисления функции.
Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 1940-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием Машина Тьюринга.
Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Процедурные языки программирования Ada,Basic, Си, КОБОЛ, Фортран, Модула-2, HAL/S, Pascal, ПЛ/1, Рапира, REXX.
Динамический язык позволяет определять типы данных и осуществлять синтаксический анализ и компиляцию «на лету», непосредственно на этапе выполнения. Динамические языки больше подходят для быстрой разработки приложений.
К динамическим языкам относятся: Perl, Tcl, Python, PHP, Ruby, Smalltalk, JavaScript. Visual Basic также обладает некоторыми динамическими чертами.
Объектно-ориентированный язык программирования (ОО-язык) — язык, построенный на принципах объектно-ориентированного программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта — некоей субстанции, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
Основная часть программы на языке Паскаль
Вся основная часть программы на языке Паскаль (тело программы) состоит из операторов, которые записаны через точку с запятой.
- Ввод данных:
read(f,X) или read(f, X1, Х2, … , Хn);
readln(f,X) или readln(f, X1, Х2, … , Хn);
- Вывод данных:
write(f,X) или write(f, X1, Х2, … , Хn);
writeln(f,X) или writeln(f, X1, Х2, … , Хn).
- Присвоение. Данный оператор уже рассматривался в предыдущих вопросах. И он не является исключением для Паскаля. Обозначается данный оператор, как «:=». То есть некоторое выражение, находящееся справа относительно записанного знака, присваивается переменной, находящаяся слева.
- Безусловный переход. Каждому оператору в коде присвоена своя метка, оператор безусловного перехода позволяет перейти от одного оператора к другому благодаря метке. Все метки описываются в отдельном разделе с метками.
label имя метки 1, имы метки 2, … имя метки N;
Синтаксис оператора безусловного перехода:
goto имя метки.
- Пустой. Чтобы получить переходы между разделами программы, используют пустой оператор. Он не несет никакой нагрузки и используется исключительно для разделений.
- Обращение к процедуре. Данный оператор используется для перехода к конкретной процедуре. Чтобы к ней обратиться, следует назвать имя процедуры и её параметры, если это необходимо.
Видеоурок
Видеоурок «Ввод и вывод данных»
Электронный конспект на «ЯКЛАСС»
![]() |
![]() |
| Блез Паскаль (17 век) | Никлаус Вирт |
Паскаль был создан для обучения программированию.
- Turbo Pascal;
- Free Pascal;
- Pascal ABC;
- Pascal Pro и другие.
Общие сведения о языке программирования Python
Ключевые слова:
• язык программирования
• программа
• алфавит
• служебные слова
• типы данных
• структура программы
• оператор присваивания
Языки программирования — это формальные языки, предназначенные для записи алгоритмов,
исполнителем которых является компьютер. Алгоритмы, записанные на языках программирования,
называют программами.
Существует несколько тысяч языков программирования. Один из самых популярных современных
языков программирования называется Python (произносится «пайтон», хотя в России многие называют
язык просто «питон»). Его разработал в 1991 году нидерландский программист Гвидо ван Россум. Язык
Python непрерывно совершенствуется, и сейчас большинство программистов используют его третью
версию — Python 3. Именно с этой версией будем работать и мы.
Python — язык программирования высокого уровня, предназначенный для решения самого
широкого круга задач. С его помощью можно обрабатывать различные данные, проводить математические
вычисления, создавать изображения, работать с базами данных, разрабатывать веб-сайты.
Для того, чтобы разрабатывать программы на языке Python, нужно установить на компьютер
интерпретатор Python. Во многих операционных системах, например в macOS и Linux, этот интерпретатор
входит в стандартную поставку и устанавливается вместе с операционной системой. Чтобы установить
Python в операционной системе Microsoft Windows, скачайте последнюю версию программы-установщика
Python 3 для Windows с офицального сайта http://www.python.org/(для этого зайдите в меню Downloads и
выберите Windows), запустите загрузившийся файл и следуйте указаниям установщика. Обратите
внимание: в установщик Python для Windows встроена интегрированная среда разработки IDLE
(произносится «айдл»), предназначенная для ввода, просмотра, редактирования, запуска или отладки
программы на языке Python.
1.1.1. Алфавит и словарь языка
Основой языка программирования Python, как и любого другого языка, является алфавит — набор
допустимых символов, которые можно использовать для записи программы. Это:
• латинские прописные и строчные буквы (А, В, С, …, X, Y, Z, а, Ь, с, …, х, у, z);
• арабские цифры (О, 1, 2, …, 7, 8, 9);
• специальные символы (знак подчёркивания; круглые, квадратные скобки; знаки арифметических
операций; # — знак начала однострочного комментария и др.).
В качестве неделимых элементов (составных символов) рассматриваются следующие
последовательности символов:
>= и <= (знаки ≥ и ≤);
!= (знак ≠);
«»» или ‘ ‘ ‘ (утроенные двойные или одинарные кавычки, ставящиеся в начале и в конце
многострочного комментария).
В языке также существует некоторое количество различных цепочек символов, рассматриваемых как
единые смысловые элементы с фиксированным значением. Такие цепочки символов называются
служебными словами. В таблице 1.1 приведены основные служебные слова, которые мы будем
использовать при записи программ на языке Python.
Служебное слово языка Python Значение служебного слова
and И
break прервать
elif иначе если
else иначе
False ложь
float вещественный тип данных (с плавающей точкой)
for ДЛЯ
if если
input ввод
integer целый
list список
not не
or или
print печать
string строковый тип данных (цепочка символов)
True истина
while пока
Для обозначения переменных, программ и других объектов используются имена (идентификаторы)
— любые отличные от служебных слов последовательности букв, цифр и символа подчёркивания,
начинающиеся с буквы или символа подчёркивания.
Прописные и строчные буквы в именах различаются, например, f и F — две разные переменные.
Длина имени может быть любой. Для удобства рекомендуется использовать имена, передающие
смысл объектов, с длиной не более 15 символов.
В программах на языке Python (начиная с версии 3) есть возможность использовать в именах буквы
национальных алфавитов (от русских до китайских иероглифов). Но это считается очень плохим стилем, так
делать не рекомендуется. Подумайте почему.
1.1.2. Типы данных, используемые в языке Python
В языке Python используются различные типы данных (табл. 1.2).
Название Обозначение Допустимые значения
Целочисленный int (integer) Сколь угодно большие, размер ограничен оперативной памятью
Вещественный float Любые числа с дробной частью
Строковый str (string) Любые последовательности символов из таблицы Unicode
Логический bool (boolean) False и True
В вещественном числе целая часть от дробной отделяется точкой, при этом перед точкой и после неё
должно быть, по крайней мере, по одной цифре. Пробелы внутри числа недопустимы.
Произвольный набор символов, заключённый в одинарные или двойные кавычки, считается
строковой величиной (строкой). Строка может содержать любые символы, набираемые на клавиатуре, в
том числе буквы национальных алфавитов.
В отличие от многих других языков программирования переменные в языке Python не нужно
объявлять. Тип переменной определяется автоматически в тот момент, когда ей присваивается новое
значение.
Тип каждой переменной может динамически изменяться по ходу выполнения программы.
Определить, какой тип имеет переменная в текущий момент, можно с помощью функции (команды) type ()
1.1.3. Режимы работы интерпретатора Python
Интерпретатор Python может работать в двух режимах:
• через командную строку (в командном, или интерактивном режиме), когда каждая введённая
команда сразу выполняется;
• в программном режиме, когда программа сначала записывается в файл (обычно имеющий
расширение .ру) и при запуске выполняется целиком.
Изучение языков программирования принято начинать с программы, выводящей на экран надпись:
«Привет, мир!». На Python соответствующая программа будет иметь вид:
print(«Привет, мир!»)
Для вывода на экран последовательности символов (текста, надписи) используется встроенная
команда print. Последовательность символов, которые должны быть выведены на экран, заключается в
двойные кавычки и записывается в круглых скобках. Вместо двойных кавычек можно использовать
одинарные кавычки.
В начале строки (левее команды print ()) не должно быть пробелов — таково требование языка
Python.
Для запуска программы выбираем в меню Пуск —> Программы ->Python 3.7 -> IDLE. В результате
откроется окно Python Shell, в котором символы >>> означают приглашение ввести команду. После ввода
строки нажимаем клавишу Enter.
Для создания файла с программой в меню File выбираем пункт New File. В открывшемся окне
набираем текст программы, а затем сохраняем его под каким-нибудь именем (например, test.py), выбрав
пункт меню File —> Save As. Запустить программу на выполнение можно, выбрав пункт меню Run —> Run
Module или нажав клавишу F5.
В сети Интернет существуют ресурсы для запуска и отладки программ на Python в режиме online. Вот
некоторые из них:
http://pythontutor.com/visualize. html#mode=edit
http://rextester.eom/l/python3online_compiler
https://www.jdoodle.com/python3-programming-online
https://ideone.com/
1.1.4. Оператор присваивания
Программа на языке программирования представляет собой последовательность операторов
(инструкций, команд).
Оператор — языковая конструкция, представляющая один шаг из последовательности действий или
набор описаний.
Запись значения в переменную выполняет оператор присваивания. Общий вид оператора:
<имя переменной> = <значение или вычисляемое выражение>
Операция присваивания допустима для всех приведённых в табл. 1.2 типов данных. Выражения в
языке Python конструируются по рассмотренным в учебнике для 8 класса правилам для алгоритмического
языка.
Примеры:
а = 25
b = «Привет! »
с =1.4 +5.7* а
d =а < с
е =»Мир! » + b
f =х * (а + с) / 3
В правой части оператора присваивания нельзя указывать переменные, которые не были заранее
созданы (определены). Так, для переменных с и d все входящие в соответствующие выражения
переменные были заданы выше. Последняя строка содержит ошибку, так как переменная х из правой
части ранее не была создана (определена).
В языке Python разрешено множественное присваивание. Запись
а, b = 19, 25
равносильна паре операторов присваивания:
а = 19
b = 25
При этом считается, что эти два действия происходят параллельно, т. е. одновременно. Если двум
переменным присваивается одно и то же значение, можно применить множественное присваивание «по
цепочке»:
а = b = 5
Эта запись равносильна паре операторов b = 5 и а = 5.
Для основных арифметических операций в языке Python используются те же обозначения, что и в
алгоритмическом языке:
+ — сложение;
— — вычитание;
* — умножение;
/ — деление;
** — возведение в степень.
В языке Python можно использовать сокращённую запись арифметических операций.
Сокращённая запись Полная запись
а += b а = а + b
а -= b а = а — b
а *= b а = а * b
а /= b а = а / b
а ** = 2 а = а * * 2
САМОЕ ГЛАВНОЕ
Python — один из самых популярных современных языков программирования. Это язык
программирования высокого уровня, предназначенный для самого широкого круга задач.
В Python можно работать в двух режимах:
• через командную строку (в интерактивном режиме), когда каждая введённая команда сразу
выполняется;
• в программном режиме, когда программа сначала записывается в файл (обычно имеющий
расширение .ру).
В языке Python используются различные типы данных: целочисленный (int), вещественный (float),
строковый (str), логический (bool) и другие.
Переменные в языке Python объявлять не нужно; тип переменной автоматически определяется в тот
момент, когда ей присваивается новое значение.
Для обозначения переменных, программ и других объектов используются имена (идентификаторы)
— любые отличные от служебных слов последовательности букв, цифр и символа подчёркивания,
начинающиеся с буквы или символа подчёркивания.
В программах на языке Python есть возможность использовать в именах буквы национальных
алфавитов, но это считается очень плохим стилем, и делать так не рекомендуется.
Вопросы и задания
1. Почему язык программирования Python считается универсальным?
2. Что входит в состав алфавита языка Python?
3. Перед вами слова, которые встречаются во многих программах на языке Python. Как эти слова
можно перевести на русский язык?
1) integer 5) break
2) float 6) while
3) input 7) else
4) print 8) string
4. Каких правил следует придерживаться при выборе имён для различных объектов в языке Python?
5. Отнесите каждую из следующих последовательностей символов в к одной из трёх групп:
1 — рекомендуемые имена переменных в языке Python;
2 — допустимые имена переменных в языке Python;
3 — недопустимые имена переменных в языке Python.
a) 1z e) ELSE л) nЗ
6) _1z ж) SUMMA м) Зn
в) 1 з) Summa н) n 3
r) фу и) дата о) n + 3
д) z-1 к) 1фу п) _1_4_5_aAb12_as555
6. Установите соответствие между названиями типов данных и их обозначениями.
а) Целочисленный 1) str
б) Вещественный 2) bool
в) Строковый 3) int
г) Логический 4) float
7. В чём разница между числами 100 и 100.0 в языке Python?
8. Охарактеризуйте режимы работы интерпретатора Python:
1) командный;
2) программный.
9. В командном режиме введите последовательно следующие строки:
а = 10
type(а)
а = ’10 10′
type(а)
а = False
type (а)
а = 12.0
type(а)
Сделайте вывод о том, как изменялся тип переменной а.
10. Какая ошибка допущена в следующей программе?
а = 3
b = 4
s = а * b * d
print (s)
11. Какое значение будет присвоено переменной с в результате выполнения программы?
а, b = 11, 63
с = Ь = 55
d = Ь + с — а
12. Чему будет равно значение переменной с после выполнения программы?
а) а = b = 3 б) а = b = 5 в) а = b = 1
а +— 1 а += b а *= 10
с = а + Ь с = 2 * а — Ь с = а / (2 * Ь)
г) а, b = 3, 5 д) а, b = 5, 3 е) b, а = 5, 2
b += 2 b += а b **= а
с = а + Ь с = 10 * Ь / а с = Ь / а * 4
13. Чему будут равны значения переменных а и b после выполнения программы при указанных
начальных значениях? Какими будут типы переменных а и b?
а) а = 4 и b = 0; б) а = 0 и b = 0.
а += 1
b += а
а * = b
b /= 5
а -= а
1 Здесь и далее обозначает пробел.
14. Запишите оператор для:
а) вычисления среднего арифметического sred переменных х1 и х2;
б) уменьшения на единицу значения переменной к;
в) увеличения на единицу значения переменной i;
г) вычисления стоимости покупки sum, состоящей из нескольких тетрадей, нескольких ручек и
нескольких карандашей.
Проверочная работа No 1
1. Какие утверждения ложны?
а) 125 — целое число;
б) -12.0 — отрицательное целое число;
в) ‘Число Пи’ — вещественное число;
г) 7 < 6 — логическое значение;
д) 123.124 — вещественное число;
е) True — строковое значение.
2. По сокращённой записи восстановите полную запись оператора присваивания.
1) B += 7
2) А -= с
3) С -= а — 5
4) А *= b
5) В /= а + 3
6) С /= а + b * 2
7) А **= (3 — с)*2

