Лекция8ЯзПрог(2006).ppt
- Количество слайдов: 13
Тема 2. Языки программирования Первые программы для компьютера создавались без использования систем программирования. Методы программирования для старых компьютеров были громоздкими, медленными и крайне ограниченными. Эти компьютеры программировались путем установки ряда переключателей (включено или выключено). Каждый переключатель представлял одну двоичную единицу (или бит), принимая значение О или 1. Это сильно ограничивало возможности и занимало много времени.
Создание программ с использованием шестнадцатеричных чисел • Программист составлял программу в машинных кодах и распределял данные и команды программы по ячейкам памяти. • Пример. • Сложить два числа, находящихся в ячейках памяти с номерами 0034 и 0155. • В ячейку памяти 0300 заносится команда: 24 0034 0155 (сложить и полученный результат сохранить в ячейке 0034). • В ячейку 0301 заносится команда 62 0034 (напечатать результат). • С клавиатуры дается команда «выполнить, начиная с ячейки 0300» .
Ассемблер • Ассемблер - первый язык программирования (низкого уровня). • Низкий уровень не подразумевает низкое качество программ, а только то что создание программ на этом языке по прежнему остается достаточно трудоемким процессом. Числовые команды здесь заменены буквенными. Примеры: АDD - сложение (запоминается проще, чем шестнадцатеричный код). МОV АL, ООh - в память компьютера заносится число 0. • Программирование на языке Ассемблер до сих пор используется тогда, когда важно уменьшить время выполнения создаваемой программы, так как в этом языке существует прямая связь между командой программы и машинным кодом.
Языки высокого уровня • Реальный скачок в программировании был сделан при появлении языков высокого уровня. • Эти языки позволяют писать программы текстом, похожим на английский язык. • Программы, написанные на языках высокого уровня, более компактны, легче для понимания, а вероятность появления в них ошибок меньше. • Недостаток этих программ в том, что в результате компиляции (трансляции) иногда получается машинная программа более длинная, чем если бы она создавалась на языке Ассемблер.
• • • Компиляторы и интерпретаторы С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо текст программы перевести в машинный код. Этот перевод выполняют программы — компиляторы или интерпретаторы. Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (генерируют объектный код). • Интерпретатор берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. • После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. •
Классификация языков программирования Языки программирования Процедурные Операционные Структурные Объектноориентированные Объектные Визуальные Декларативные Функциональные Логические
• Программа на процедурном языке состоит из последовательности команд, определяющих процедуру решения задачи. • Основным является оператор присваивания, предназначенный для определений и изменения содержимого памяти компьютера. Концепция памяти как места хранения данных, значения которых можно изменять операторами программы, является фундаментальным в процедурном программировании. Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходного состояния памяти, т. е. программа последовательно обновляет содержимое памяти, изменяя его от исходного состояния до результирующего. • Фортран, Алгол предназначен для использования в научных целях, • КОБОЛ - для использования в мире бизнеса. • ВАSIС в равной степени годится для любых задач и в то же время достаточно прост для изучения. (операционные языки)
• • Паскаль К основным принципам Паскаля следует отнести: Структурное программирование. Суть его заключается в оформлении последовательности команд как замкнутых функций или процедур. • Программирование сверху вниз, когда задача разбивается на простые, после чего каждая решается в отдельности. • Язык АДА — прямой наследник Паскаля. Он предназначен для создания и длительного сопровождения больших программных систем, управления процессами в реальном масштабе времени. • Язык программирования С (Си) приобрел большую популярность среди системных и прикладных программистов.
• Языки программирования для компьютерных сетей • Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные особенности, присущие сетевым языкам: они являются интерпретируемыми. Такие языки получили название скрипт -языков. НТМL - универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet. • Реrl -предназначался для эффективной обработки больших текстовых файлов. • Тcl/Тk -скрипт -язык Тсl и библиотека Тk. • VRML для организации виртуальных трехмерных интерфейсов в Интернете. • Он ориентирован на описание разнообразных трехмерных образов, цвето -теневого освещения в текстовом виде и позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» с разных сторон, вращаться в любых направлениях, масштабировать, управлять освещенностью и многое другое.
• Функциональное программирование • Суть функционального программирования -способ составления программ, в которых единственным действием является вызов функции. • Никаких ячеек памяти, ни операторов присваивания, ни циклов, ни передачи управления. • • Лисп - Этот язык ориентирован на структуру данных в форме списка и позволяет организовать эффективную обработку больших объемов текстовой информации. Логическое программирование Язык искусственного интеллекта Пролог. • Языки моделирования • При моделировании систем применяются формальные способы их описания - формальные нотации, с помощью которых можно представить объекты и взаимосвязи между ними в системе. • Такие системы называют САSЕ-системами.
• Объектно-ориентированное программирование • Пионером данного направления явился язык Смолток, первоначально предназначенный для реализаций функций машинной графики. • В нем отсутствуют операторы или данные, все, что входит в Смолток, является объектами, а объекты общаются друг с другом исключительно с помощью сообщений. • К наиболее современным относятся С++ и Java. • После появления графических интерфейсов (окно, меню, значок, полоса прокрутки, кнопка и т. д. ) возросли требования к оформлению внешнего вида программ. • Был разработан новый подход к программированию, который называется «Объектно-ориентированное программирование» или визуальное программирование. Разработка программ на визуальных языках программирования, таких как Delphi, Visual Ваsiс, Visual C++ напоминает работу с конструктором, когда к разрабатываемой программе подключается множество ранее разработанных заготовок программ, что позволяет значительно ускорить процесс программирования.
Главное действующее лицо объектно-ориентированной программы –объект (кнопка, флажок, переключатель, меню, поле редактирования текста и т. д. ) Объектно-ориентированная программа – это совокупность объектов и способов их взаимодействия. Объект- совокупность свойств и методов, а также событий, на которые он может реагировать. Методы –это функции и процедуры, обеспечивающие все необходимые операции с данными. События –они наступают вследствие действий пользователя (перемещения курсора, нажатия кнопок мыши или клавиатуры). Обработчики событий (процедуры) – определяют реакцию объекта на событие. К написанию этих процедур (на языке Паскаль) и сводится основное программирование.
• Языки программирования баз данных Эти языки отличаются от алгоритмических прежде всего своим функциональным назначением. • При работе с базами данных (БД) наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей или модификация существующих; удаление записей и др. • Для обработки больших массивов информации и выборки записей по определенным признакам был создан Структурированный язык запросов SQL (Structured Query Language).


