Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Компиляторы и интерпретаторы





Алгоритм и программа

Язык программирования

Компиляторы и интерпретаторы

Классификация языков программирования

Системы программирования

Средства создания программ

Эволюция языков программирования

Структурное программирование

Объектно-ориентированное программирование

 

Машинный код процессора

Процессор компьютера – это большая интегральная микросхема. Все команды и данные он получает в виде электрических сигналов. Сигналы можно представить как совокупности нулей и единиц, т.е. числами. Разным командам соответствуют разные числа. Поэтому реально программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом.

Алгоритм и программа

Управлять компьютером нужно по определенному алгоритму. Алгоритм – это точно определенное описание решения задачи в виде конечной (по времени) последовательности действий. Такое описание ещё называется формальным. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы - полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.



Трансляция это способ преобразования исходного текста программы, написанного на языке высокого уровня, в язык машинных кодов (объектный код). В процессе трансляции про­водится лексический, синтаксический и семантический анализ текста программы. Если в программе имеются ошибки, то система программирования выдает соответствующие сообщения.

Одной из разновидностей транслятора является компилятор, обеспечивающий перевод программ с языка высокого уровня (приближенного к человеку) на язык более низкого уровня (близкий к ЭВМ), или машинный язык. Другая разновидность транслятора – ассемблер, осуществляющий перевод с языка низкого уровня (языка Ассемблер) на машинный язык, имеющий примерно тот же уровень. Некоторые трансляторы служат для переноса программ с одной машины на другую.

 

Язык программирования

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

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

Языки программирования – искусственные языки. От естественных они отличаются ограниченным числом «слов», значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).

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

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

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

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

Процесс поиска ошибок в программе называется тестированием, процесс устранения ошибок – отладкой.

Примеры вопросов

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

 
 
 

• построителем кода;

• транслятором;

• переводчиком;

• редактором связей?

2. На какой стадии трансляции может быть выявлена ошибка «пропущена точка с запятой»:

• на стадии оптимизации кода;

• на стадии лексического анализа;

на стадии синтаксического анализа;

• на стадии семантического анализа?

3. Какая стадия трансляции занимается проверкой типов в выра­жениях:

• генерация кода;

• лексический анализ;

семантический анализ;

• синтаксический анализ?

4. К какому сообщению приводит обнаруженное при тестировании нарушение формы записи программы? — К сообщению о синтаксической ошибке.

 

Универсальные языки

Наиболее широк класс универсальных языков. Наиболее распространен Бейсик. Для каждого класса машин разрабатывается свой Бейсик, отличающийся версиями. Он разработан для ЭВМ IBM -360 (III поколение), очень прост в изучении и занимает первое место в мире по популярности.

Появление мощных компиляторов Quick Basic, Turbo Basic, Visual Basic, вновь поставило его на один уровень с языками высокого уровня и придает ему популярность. Он может использоваться для решения задач обработки больших массивов данных (работа с файлами), имеет богатый набор встроенных математических функций, обрабатывает тексты, позволяет создавать оверлейные программные структуры (т.е. используется для решения комплексных задач).

Язык Фортран первый компилируемый язык (50-е годы ХХ века)– применяется главным образом при разработке прикладных систем, ориентированных на научные, исследовательские, инженерные задачи, автоматизацию проектирования и др. области, где накоплены обширные библиотеки стандартных программ.

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

Язык Кобол(начало 60-х годов ХХ века)разработан специально для решения экономических задач (решения бизнес - задач). В программах особенно проявляется самодокументированность, что облегчает исправление и усовершенствование, а при обработке данных сложной структуры, он бывает эффективнее Паскаля.

Язык Паскаль(1968-70 г)Разработан Никлаусом Виртомотличный инструмент для решения серьезных задач, хорошо структурированных имеет возможности, позволяющие использовать его при создании крупных проектов.

После разработки Турбо-Паскаля и Visual-Паскаля, появилась возможность работы с графикой, звуком, связь с DOS, полноэкранное редактирование.

Язык Модула-2– в него вошли все удачные средства языка Паскаль (т.е. возможность оперировать машинно-независимыми регистрами), в языке явно сформулированы средства оформления программных модулей и организация взаимодействия между ними, в том числе на основе так называемых сопрограмм, работающих псевдопараллельно. Включены: программа конвертирования с языка Паскаль, программа генерации многооконного режима; интерактивный отладчик, отображающий программу, данные, цепочку процедурных выводов и распечатку требуемых участков памяти.

Язык ПЛ/1 (1967г)созданфирмой IBM и совместно со свободнойгруппой программистов SHAREна основе языков Кобол, Алгол и Фортран, располагает большим набором средств обработки цифровой и текстовой информации. В поздних разработках языка PL/7, PL/M – просматриваются идей структурного программирования, заимствованные из Паскаля. Кроме ориентации на модульный принцип, существует возможность включения программ на языке Ассемблер.

Класс проблемно – ориентированных языков

Язык Логосоздан для обучения школьников основам алгоритмизации, алгоритмического мышления и программирования. Это диалоговый процедурный язык.

Язык РПГили генератор отчетов, включает понятия и выражения связанные с машинными методами составления отчетов и проектирования форм выходных документов.

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

Javaязыкпрограммирования(создан в1990 -е годы компаниейSUN)на основе языка СИ++, для упрощения разработки приложений. Для этого из СИ++ были удалены все низкоуровневые возможности.

Главной особенностью данного языка является компиляция не в машинных кодах, а в платформенно - независимых байтах (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора - виртуальной Java – машины, версии которой созданы для любых платформ.

Особое внимания в развитии этого языка уделяется двум направлениям:

· Поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику;

· Созданию платформенно – независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Пока основной недостаток – низкое быстродействие (т.к. язык Ява интерпретируемый).

Системы программирования

Средства создания программ

 

Для создания программы на выбранном языке программирования нужно иметь следующие компоненты:

1. Текстовый редактор

2. Программа – компилятор

3. Исходный текст, состоящий из нескольких модулей или подпрограмм. Модули компилируются в отдельные файлы с объектным кодом. Объектный код обрабатывается специальной программой – редактор связей или сборщиком, который выполняет связывание объектных модулей и машинного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение – исполнимый код. Если по каким-то причинам один из объектных модулей или нужная библиотека не обнаружены (например, неправильно указан каталог с библиотекой), то сборщик сообщает об ошибке и готовой программы не получается.

Компоновка. Для создания сложных программных ком­плексов, состоящих из нескольких модулей, объектныемодули объединяются в загрузочный модуль с помощью компоновщика (редактора связей или линковщика).

 

 

4. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена ОС, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .exeили.com.

Примеры вопросов

1. Система программирования предоставляет программисту воз­можность:

• автоматического построения математической модели, исходя из постановки задачи;

• планирования рабочего дня;

• выбора языка программирования;

• анализа существующих программных продуктов по соответ­ствующей тематике;

автоматической сборки разработанных модулей в единый проект?

2.Создание исполняемого файла из исходного текста программы предполагает выполнение процессов:

компиляции;

• компоновки;

• интерпретации;

• исполнения программы?

3. Компонентный подход к программированию предполагает работу:

• с методами обработки данных;

• с глобальными переменными;

с отдельными компонентами (СОМ — объектами);

• со структурированными данными?

 

Алгоритм и программа

Язык программирования

Компиляторы и интерпретаторы







ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2022 zdamsam.ru Размещенные материалы защищены законодательством РФ.