Классы
Предметы
Важное замечание:

С помощью наших видеоуроков вы сможете:
1. Подготовиться к завтрашнему уроку в школе.
2. Научиться грамотно пользоваться компьютером на домашнем уровне.
3. Понять основные тенденции и логическую основу этой отрасли.

Но если вы хотите стать специалистом, обратитесь к таким сайтам, как Codecademy.com, Teamtreehouse.com, www.piktomir.ru.

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

Если вы специалист и хотите добавить актуальную информацию, снять дополнение к уроку, пишите нам на info@univertv.ru.

Обзор языков программирования и соответствующих им сред

На этом уроке мы поговорим о том, зачем нужны языки программирования, какими они бывают. Узнаем про языки программирования высокого и низкого уровня.

Конспект

Программирование появилось задолго до появления не только персональных компьютеров, но ЭВМ вообще (вспомним программы леди Ады Августы Лавлейс для разностной вычислительной машины Чарльза Бэббиджа).

Первые языки программирования начали появляться в начале пятидесятых годов ХХ века и использовались для преобразования простых арифметических выражений в машинный код.

Определение:

Машинный код – это система команд вычислительной машины, интерпретируемых непосредственно микропроцессором.

Язык программирования является посредником между машиной и человеком.

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

Определение:

Компиляция – автоматический перевод в понятный процессору язык машинных кодов.

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

Языком программирования ЭВМ первого поколения был язык машинных кодов (язык низкого уровня). Затем появились языки-ассемблеры. В них числовые коды команд для удобства заменили мнемокодами – их буквенными обозначениями.

Во втором поколении появились языки высокого уровня. Команды языка высокого уровня (операторы) – это слова естественного языка (английского, например). Каждый оператор имеет определенный формат (определяющий правила записи оператора).

Например, почти во всех языках программирования есть оператор if...then....[else], который позволяет записать разветвленный алгоритм (в квадратные скобки заключается обычно необязательная часть оператора).

Формат этого оператора: if (условие) then (действие) else (действие). В процессе выполнения программы если условие справедливо, то будет выполнено то действие, которое указано после слова then, а если не справедливо, то действие, которое указано после слова else.

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

Предположим, что нам необходимо пойти в магазин и купить либо два батона белого хлеба, либо одну буханку чёрного, в зависимости от того, какой из них свежее. В этом случае алгоритм наших действий после появления в магазине будет выглядеть следующим образом: if (белый хлеб свежее чёрного) then (купить 2 батона белого хлеба) else (купить 1 буханку чёрного).

Большинство основных операторов во всех языках записываются одинаково или по крайней мере имеют похожую структуру записи.

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

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

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

Трансляторы бывают двух типов:

  • интерпретаторы;
  • компиляторы.

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

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

На данный момент наибольшее распространение получили так называемые объектно-ориентированные среды программирования.

Такие среды предоставляют в распо­ряжение программиста не только редактор и транслятор, но и готовые объекты – в основном, элементы интерфейса операционной системы Windows. В объектно-ориентированной среде уже есть кнопки, переключатели, разворачивающиеся списки и т. д.

ООП – это объектно-ориентированное программирование. Рассмотрим так называемые «три кита ООП» – инкапсуляция, полиморфизм и наследование.

Объединение данных и операций в одну сущность – объект – тесно связано с понятием инкапсуляции, которое означает сокрытие внутреннего устройства. Инкапсуляция делает объекты похожими на маленькие программные модули, в которых скрыты внутренние данные и у которых имеется интерфейс использования в виде подпрограмм. Переход от понятий «структура данных» и «алгоритм» к понятию «объект» значительно повысил ясность и надежность программ.

Наследование. Этот простой принцип означает, что если вы хотите создать новый класс объектов, который расширяет возможности уже существующего класса, то нет необходимости в переписывании заново всех полей, методов и свойств. Вы объявляете, что новый класс является потомком (или дочерним классом) имеющегося класса объектов, называемого предком (или родительским классом), и добавляете к нему новые поля, методы и свойства. Процесс порождения новых классов на основе других классов называется наследованием. Новые классы объектов имеют как унаследованные признаки, так и, возможно, новые. Например, класс СОБАКИ унаследовал многие свойства своих предков – ВОЛКОВ.

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

Проведем обзор языков программирования

Assembler(ассемблер) – это один из самых старых языков программирования. Программы на языке ассемблера непосредственно связаны с той вычислительной машиной, на которой они будут выполняться. Этот язык – машинозависимый. Это обусловлено тем, что каждая команда языка обычно транслируется точно в одну команду машинного языка. Так как машинные языки у различных ЭВМ были разные, то и «ассемблеры» тоже различаются.

Basic – один из самых старых языков программирования. Его создатели – Джон Кемени и Том Куртц, работавшие в Дортмундском колледже в 1964 году.

Свой язык они назвали по первым буквам слов «Beginner's All purpose Symbolic Instructions Code» (универсальный язык кодов для начинающих). Интерпретатор Basic был первым программным продуктом фирмы Microsoft, основанной Полом Аленом и Уильямом Гейтсом в 1975 году. В дальнейшем он не только поставлялся как отдельная программа, но и «зашивался» в ПЗУ (постоянные запоминающие устройства) компьютеров. В середине 80-х годов фирма Microsoft разработала QuickBASIC или QBASIC, компилятор.

После появления операционной системы Windows и визуальных средств разработки программ была создана среда программирования Microsoft Visual Basic.

Основные концепции популярного языка Pascal были разработаны в 1967 году профессором Никлаусом Виртом, и этот язык быстро превратился из средства обучения студентов программированию в инструмент для создания новых программных проектов. Язык назван в честь французского ученого Блеза Паскаля.

Существуют различные среды программирования, в основе которых лежит язык Pascal. Среди них разные версии Turbo Pascal, Borland Pascal для операционной системы DOS. Одно из достоинств языка – лаконичность.

Среду программирования Borland Delphi можно назвать Visual Pascal, поскольку в его основе лежит Object Pascal (одна из версий языка Pascal).

Один из старейших языков программирования – FORTRAN. В начале 50-х годов он был разработан исследовательской группой под руководст­вом Джона Бэкуса. Его название происходит от 2-х слов: FORMULA TRANSLATION. Первая версия системы FORTRAN была выпущена в начале 1957 года. Характерной чертой языка была специфическая форма записи программ. Текст программы записывался строками фиксированной длины по 80 знаков, что соответствует размеру перфокарты. Очень важную роль играют в языке метки.

По сложности язык ADA сравнивают с C++. Назван он в честь леди Ады Августы Лавлейс, работавшей вместе с Чарльзом Бэббиджем и разрабатывавшей программы для его «аналитической машины». Язык создан в 1979 году группой программистов под руководством Жана Ичбиа в рамках конкурса, объявленного Министерством обороны США. ADA – универсальный высокоуровневый язык программирования.

Язык С – это самый распространенный язык программирования. Поскольку в языке С не хватало высокоуровневых средств (абстрактных типов данных и объектов), в начале 80-х годов Бьерн Страуструп стал разрабатывать расширение языка С под условным названием «С с классами». Первый коммерческий транслятор C++ появился в 1983 году. Одна из главных целей создания C++ состояла в увеличении процента повторного использования уже написанного кода. Среда программирования C++ Builder практически не отличается от среды Borland Delphi, имеет такой же интерфейс.

C++ – компилируемый язык программирования общего назначения, сочетает свойства как высокоуровневых, так и низкоуровневых языков программирования. В сравнении с его предшественником, языком программирования C, наибольшее внимание уделено поддержке объектно-ориентированного программирования. Название «язык программирования C++» происходит от языка программирования C, в котором унарный оператор ++ обозначает увеличение переменной на 1.

Язык программирования C++ широко используется для разработки программного обеспечения. А именно, создания разнообразных прикладных программ, разработки операционных систем, драйверов устройств, а также видео игр и многого другого. Существует несколько реализаций языка программирования C++.

В С++ были добавлены новые возможности: виртуальные функции, перегрузка функций и операторов, ссылки, константы и многое другое. Его первый коммерческий выпуск состоялся в октябре 1985 года.

Язык программирования C++ является свободным, то есть никто не обладает на него правами.

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

На следующем уроке мы поговорим об основных этапах решения задач.

 

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

  1. Угринович Н.Д. Информатика-9. – М.: БИНОМ. Лаборатория знаний, 2012.
  2. Гейн А.Г., Юнерман Н.А. Информатика-9. – М.: Просвещение, 2012.
  3. Соловьёва Л.Ф. Информатика и ИКТ. Учебник для 9 класса. – СПб.: БХВ-Петербург, 2007.

 

Дополнительные рекомендованные ссылки на ресурсы сети Интернет

  1. Интернет портал «Язык и программирование» (Источник).
  2. Интернет-портал «Coolreferat.com» (Источник).
  3. Интернет-портал «Iguania.ru» (Источник).

 

Домашнее задание

  1. Объясните своими словами понятия инкапсуляции, полиморфизма и наследования.
  2. Для всех приведенных на уроке языков программирования приведите имена разработчиков и укажите, является ли язык объектно-ориентированным.
  3. Каково основное отличие низкоуровневых языков программирования?
  4. Приведите три примера наследования, встречаемые в повседневной жизни.