Одним из основных способов информационной деятельности человека является чтение. Успешное освоение большими количествами учебных материалов как по информатике, так и по другим школьным наукам во многом зависит от того — как Вы читаете. Надеюсь, что Вам будет интересно читать Мою Методичку.
Николай Филиппов nikf
Программа. Язык Программирования
Программу можно представить в виде набора каких-либо команд для исполнителя (например человека или вычислительной машины), которая выполняется исполнителем и автоматизирует процесс, который будет выполнен точно по инструкции в программе.
Мы с Вами ребята начинаем изучать язык программирования Паскаль. Что это за язык? — это Компилятор, наподобие интерпретатора языка Алгол с которым были в школе знакомы Ваши родители.
Что же такое Интерпретатор и чем он отличается от Компилятора — например C++ или TurboPascal 7? Интерпретатор на каждом шаге — строке программы, обращается к программе Питон и транслирует код на английском языке высокого уровня (понятного вам ученики) в машинный код (понятный процессору любого компьютера), затем код исполняется также пошагово. Код можно вводить строка за строкой, нажимая Enter или написать в виде скрипта в текстовом редакторе кода (например Блокнот) Idle. Компилятор же должен создать бинарный файл на машинном коде процессора из всех строк кода на языке C++ или Turbo Pascal, и только затем выполнить. То есть невозможно построчное, отдельное выполнение, программа должна сначала скомпилироваться — создать исполняемый файл для ОС (операционной системы компьютера).
Разнообразие языков Программирования
В настоящее время существует множество различающихся и похожих между собой языков программирования. Причина такого явления становится понятна, если представить то количество и разнообразие задач, которые на сегодняшний день решается с помощью ВМ. Для решения разных задач требуется разные инструменты, то есть разные языки и подходы к программированию.
Основные этапы исторического развития языков программирования
Первые программы писались на так называемом машинном языке, так как для ВМ того времени ещё не существовало развитого ПО, а машинный язык — это единственный способ взаимодействия с аппаратным обеспечением компьютера, так называемым “хардом”.
Каждую команду машинного языка непосредственно выполняет то или иное электронное устройство. Данные и команды записывали в цифровом виде, например, в шестнадцатеричной или двоичной (базовой для любого компьютера) системе счисления.
Ассемблеры представляют собой следующий этап развития ПО — поскольку представляют собой среду низкоуровневой разработки и позволяют из команд ассемблера сгенерировать машинный код под конкретный процессор данной ВМ.
Языки программирования высокого уровня и среды разработки IDE были следующим этапом развития ПО. Они представляли собой интерпретатор или компилятор с языка более близкого человеку. В идеале человек и ВМ должны понимать друг — друга на естественном языке человека. Но так как, это — сложно реализовать, то первыми появились языки похожие на Basic English. И, уже затем языки Питон и Кумир(который кстати изучается в СШ). Язык Кумир— был похож на естественный Русский язык и поддерживает структурное программирование.
Краткая историческая справка
Типы данных. Переменные
В реальной жизни мы совершаем различные действия над окружающими нас предметами, или объектами. Мы меняем их свойства, наделяем новыми функциями. По аналогии с этим компьютерные программы также управляют объектами, только виртуальными, цифровыми. Пока не дойдем до уровня объектно-ориентированного программирования, будем называть такие объекты данными.
Очевидно, данные бывают разными. Часто компьютерной программе приходится работать с числами и строками. Так на прошлой теме мы работали с числами, выполняя над ними арифметические операции. Операция сложения выполняла изменение первого числа на величину второго, а умножение увеличивало одно число в количество раз, соответствующее второму.
Числа в свою очередь бывают разными: целыми, вещественными, могут иметь огромное значение или очень длинную дробную часть. При знакомстве с языком Паскаль мы в первую очередь столкнемся с тремя типами данных:
● целые числа
(type — integer) — положительные и отрицательные
целые числа, а также 0. (например
4,687,-42,0)
● Числа с
плавающей точкой (double — дробные, они же
вещественные числа. (например 1.45, -3.14,
0.00453). Примечание — для разделения целой
и дробной частей здесь используется
точка, а не запятая.
● Строки (тип string — набор
символов, заключённых в кавычки (например
“мяч”, “what is your name?”, ‘dpkg’, ‘0.004’).
Причем отметим, что отдельный — одиночный
символ Char в кавычках также является
строкой, только длиной 1. len(‘a’)=1,
type(‘a’)==str. Примечание — кавычки в Паскале
могут быть как одинарными, так и двойными.
Операции в программировании
Операция — это выполнение каких-либо действий над данными, которые в данном случае именуют операндами. Само действие выполняет оператор — специальный инструмент. Например: если бы вы выполняли операцию постройки стола, то вашими операндами были бы доска и гвозди, а оператором — молоток. (10+20)
(операнд1 10 +(оператор) операнд2 20)
Так например в математике и программировании символ плюса является оператором сложения по отношению к числам, в то же время этот оператор + выполняет операцию конкатенации, т. е. склеивания в случае строк.
10+9
19
‘Hello’+World’
‘HelloWorld’
Здесь следует для себя отметить, что то, что делает оператор в операции, зависит не только от него, но и от типов данных, которыми он оперирует. Например молоток в случае нападения на нас крокодила — перестает играть роль строительного инструмента, а превращается в оружие… Однако в большинстве случаев операторы не универсальны — например знак плюса неприменим, если операндами являются с одной стороны число, а с другой стороны строка.
Тогда: возникает исключение TypeError: unsupported operand type(s) for +: int and str Паскаль сообщит что произошла недопустимая операция склеивания разных типов данных.
Числовые переменные
Самым простым и важным видом переменных являются числовые переменные. Они допускают хорошее наглядное представление, которым пользуются все профессиональные программисты: числовая переменная — это “коробочка”, в которую можно положить на хранение какое-либо число.
Чтобы различать переменные, им дают имена. У каждой переменной есть имя и текущее значение. В дальнейшем будем предполагать, что компьютер уже обучен нижеследующим действиям со значениями переменных:
на русском языке
на английском языке
запросить значение переменной Х с клавиатуры
x =Readln(“x=”);
вычислить значение Х
x=function();
напечатать значение Х
Writeln(x)
если значение переменной Х удовлетворяет условию, то…
if (x<=0) do:
begin
end;
При вычислении значений переменных будем использовать следующие обозначения: сложение =a+b; вычитание — , умножение *, деление /, целочисленное деление //, возведение в степень **, извлечение квадратного корня sqrt(х), синус sin(x), косинус cos(x), целая часть числа int(x), абсолютная часть числа abs(x), случайные числа — библиотека random.
Эти действия в Паскале называются операторами и функциями. В Паскале их много, с некоторыми остальными мы познакомимся позднее. Также будем полагать, что перед началом вычислений при выполнении программы всем значениям переменных присваивается нулевая величина (если конечно в условии задачи конкретно не указано, какое значение нужно ввести).