andrey

Путь к Файлу: /2 КУРС / Информатика ИнИ второй семестр / Теоретические работы / Теоретическая работа А.doc

Ознакомиться или скачать весь учебный материал данного пользователя
Скачиваний:   0
Пользователь:   andrey
Добавлен:   05.01.2015
Размер:   74.5 КБ
СКАЧАТЬ

Теоретическая работа АТеоретическая работа А. ЧТО ТАКОЕ «ПРОГРАММИРОВАНИЕ»

'Беседы с компьютером", "диалог с ЭВМ"... Вам, наверное, не раз приходилось читать или слышать подобные словосочетания. Действительно, с компьютером можно общаться, как с книгой, как с коллегой, как с собеседником. Разные люди общаются с •компьютером по-разному: кто-то любит поиграть, кому-то необходимо отыскать нужную информацию, кому-то пройти психологическое тестирование. Словом, существует самые разнообразные способы общения человека с компьютером и определяются :«и. как Вы уже знаете, тем, какая программа "работает" в компьютере. А для того, чобы эту программу создать, нужен профессионал - программист. У программистов гегь свои специальные способы общения с ЭВМ, так называемые языки программирования. Если обратиться к истории развития вычислительной техники, то она уведет нас к временам глубокой древности, когда люди придумали простейшие инструменты для }скорения и упрощения вычислений. Это были палочки, камни, а затем абак и счеты. Все эти средства не столько ускоряли счет, сколько помогали запоминать промежуточные результаты, т. е., выражаясь современным языком, выполняли роль "оперативной памятu", а роль "процессора" выполнял сам человек. Позднее появились механические, а сравнительно недавно и электронные вычислительные устройства, включающиее в себя и процессор, и электронную память.

Механические вычисления осуществлялись так: для выполнения каждой операции человек должен был крутить ручку или нажимать кнопки. Когда же появилась элек-"тронная память, американский математик Джон фон Нейман предложил хранить в этой памяти не только данные, но и закодированную в виде цифр последовательность действий, т.е. программу для вычислений. Этот принцип используется во всех совре-менных компьютерах и микропроцессорных системах и носит название принципа фон Неймана.

По мере того как росла мощность вычислительных машин, увеличивалась и слож-аеетъ программ. Появилась профессия программиста, т. е. появились люди, основным занятием которых было составление программ для ЭВМ. Для облегчения и ускорения эсо-й работы было предложено кодировать каждую команду не цифрами, а буквами, «пример: ADD - сложить, SUB - вычесть и т.п. (сокращения от соответствующих английских слов). Так человеку удобнее запоминать большое количество команд, а для ^перевода" такой программы в "привычный" для ЭВМ цифровой вид можно написать несложную программу. Такие способы кодирования команд получили название языков программирования "низкого уровня". Это нововведение несколько облегчило труд шесчграммистов, но создание больших программ и целых программных комплексов оставалось делом чрезвычайно трудоемким. Среди программистов появились специалисты по созданию алгоритмов и "кодировщики" - люди, которые занимались переводом алгоритмов, записанных, как правило, в виде блок-схем, на языки низкого уровня. Сле-лующим шагом была идея передать функции "кодировщика" самой ЭВМ. Для этого ■ггребовалось разработать правила записи программ, с одной стороны, удобные для человека, похожие на естественный человеческий язык, с другой стороны, достаточно ■строгие, чтобы программы можно было однозначно перевести на язык ЭВМ. Так воз-■нкли языки программирования "высокого уровня". Для перевода программ с таких «зьдсов на "машинный"''' были созданы специальные программы, называемые трансля-mtpa.HU (от английского translate - переводить).

Можно ли "заставить" компьютер понимать "человеческий" язык (русский, английский и т.п.), иными словами, можно ли создать транслятор, который Мог бы пере-


Теоретическая работа АТеоретическая работа Аводить с естественного языка на язык машинных команд? Различные языки программирования обладают разной степенью похожести на естественный, однако обязательным требованием для языка программирования является определенность и однозначность. Это значит, что каждая "фраза", написанная на таком языке, должна быть "понята" и исполнена компьютером, причем всегда одинаково. Естественные же человеческие языки таким свойством не обладают. Сказанное или написанное понимается часто по-разному в зависимости от контекста, не говоря уже о том, что далеко не каждая фраза требует от собеседника каких-либо действий.

Первым языком программирования "высокого уровня" был FORTRAN (сокращение от английских слов FORmula TRANslation - переводчик формул). Вслед за ним появилось множество других языков, в настоящее время их насчитывается несколько сотен. Каждый из них предназначен для решения определенного круга задач, например: BASIC и FORTRAN - для вычислений, PROLOG - для создания систем искусственного интеллекта, Pascal - для обучения программированию, COBOL - для обработки больших объемов данных.

Одним из современных широко распространенных языков программирования является Pascal. Он был создан на рубеже 1960-1970-х годов швейцарским ученым Ник-лаусом Виртом. В языке Pascal сосредоточены многие лучшие черты языков-предшественников.

1. Что такое «программа» и как ее исполняет компьютер

Компьютер представляет собой устройство для исполнения программ. "Мозгом" компьютера является процессор, который призван "понимать" и исполнять эти программы.

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

Теоретическая работа АВ нашем случае исполнителем является процессор. А что за язык, который этот процессор понимает? Давайте рассмотрим фрагмент программы, понятной процессору:

10100001 00000101 00000001

1110100100010110

10001000 10000011 01000100 10011111

Уже по этому фрагменту можно сделать некоторые выводы: во-первых, "слова" данного языка состоят из 0 и 1. Во-вторых, если эта запись и понятна процессору, то человеку понять ее проблематично. А как люди чаще всего пишут программы для компьютеров? Здесь существует уже отработанная технология.

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

Б. Компьютеры же языков высокого уровня не понимают. Поэтому придумали специальные программы, называемые трансляторами. В общем случае транслятор (translator) - это программа, предназначенная для перевода (трансляции) описаний алгоритма с одного формального языка на другой. Алгоритм создания программы теперь предусматривает использование шага трансляции (рис. 1).


В. Этап превращения программы, написанной на языке высокого уровня, в машин--ый код (так еще принято называть программу, написанную на языке процессора) реализуется в двух вариантах. В первом случае транслятор берет из файла программу на языке высокого уровня и переводит в программу на машинном языке всю целиком, создавая отдельный файл с расширением OBJ. Программу, записанную в такой файл, принято называть объектным модулем, а транслятор, который выполняет такой пере-зод, называют компилятором.

Текст программы на языке    программирования высокого уровня

 

 

 

Текст программы в машинном коде

 

Program exl; uses Graph,GraphO; var x:integer; color: integer; begin

 

 

 

 

1000101001010101011 0101010101010111010 1000101011110101010 1011101010101010101 010101010

 

 

 

■»

Транслятор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рис. 1. Алгоритм трансляции программы

Во втором случае транслятор берет из файла с программой на языке высокого уровня по одному предписанию (команде), транслирует ее и ... тут же исполняет. Такой транслятор называют интерпретатором.

Г. Трансляторы с языка Pascal, как правило, являются компиляторами. В связи с тем, что Вы будете учиться программировать, не лишним будет иметь представление о том, как же объектный модуль превращается в исполняемую программу, которая и хранится в файле с расширением ЕХЕ или СОМ.

Осуществляет данное превращение еще одна специальная компьютерная программа, называемая редактор связей. Дело в том, что объектный модуль представляет собой как бы схему будущей программы. В нем отсутствует масса конкретных деталей, связанных с конкретной операционной системой, особенностями ее обмена с клавиатурой, дисплеем, диском, оперативной памятью и т.п. Редактор связей берет из системной библиотеки все необходимые для работы блоки (подпрограммы) и в файле с расширением ЕХЕ "склеивает" исполняемую программу из объектного модуля и этих блоков.

Д. Обобщая все вышесказанное, можно уточнить схему получения исполняемой программы (рис. 2).

Исходный

Объектный модуль

текст программы

Исполняемая программа

 

Program

 

 

 

1000

 

 

 

 

 

1000

uses

Graph, var

 

 

 

1010 0101 0101

 

Редактор связей „

 

1010 0101 0101

 

 

 

 

Компилятор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x: integer

 

 

 

оно

 

 

оно

 

 

 

 

 

 

Системная библиотека

 

 

 

Рис. 2. Алгоритм получения исполняемой программы


2.


Что "Среда программирования Turbo Pascal"

Среда Turbo Pascal  представляет  собой интегрированный комплекс программ, ис-Егс структура приведена на рис. 3.

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

editor

Редактор связей

linrtr

Компилятор с языка Pascal

compilator

Отладчик

 

debugger

 

 

 

 

 

 

 


 

Рис. 3. Структура интегрированной среды программирования Turbo Pascal

Версий среды Turbo Pascal сейчас существует достаточно много: Turbo Pascal 4.0, Turbo Pascal 5.0, Turbo Pascal 5.5, Turbo Pascal 6.0 и Turbo Pascal 7.0. Они отличаются друг от друга возможностями самого языка и комфортностью среды.

Как правило, чем выше номер, тем новее версия, а чем новее версия, тем больше в ней возможностей и удобств работы. Мы будет знакомить Вас с последними версиями данной среды программирования: Turbo Pascal 6.0 и Turbo Pascal 7.0.

Вопросы для контроля

(1) В чем заключается механизм "исполнения" программы?

(2) Что представляет собой программа для компьютера?

(3) Что такое транслятор? Чем отличается компилятор от интерпретатора?

(4) Для чего нужен редактор связей?

(5) Что такое объектный модуль?

(6) Какова схема превращения программы на языке Pascal в программу в машинных кодах?

(7) Из каких основных функциональных блоков состоит среда Turbo Pascal?

Наверх страницы

Внимание! Не забудьте ознакомиться с остальными документами данного пользователя!

Соседние файлы в текущем каталоге:

На сайте уже 21970 файлов общим размером 9.9 ГБ.

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

Не нашли нужный документ? Воспользуйтесь поиском по содержимому всех файлов сайта:



Каждый день, проснувшись по утру, заходи на obmendoc.ru

Товарищ, не ленись - делись файлами и новому учись!

Яндекс.Метрика