ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2023
Просмотров: 513
Скачиваний: 1
СОДЕРЖАНИЕ
Требования к уровню освоения содержания дисциплины
Количество информации как мера уменьшения неопределенности знаний
Алфавитный подход к определению количества информации
Характеристики основных типов данных
Кодирование числовой информации в компьютере
Кодирование текстовой информации в компьютере
Кодирование графической информации в компьютере
Кодирование аудио информации в компьютере
ОСНОВЫ ЛОГИКИ И ЛОГИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРА
Вопросы для самопроверки по теме 2
3. ТЕХНИЧЕСКИЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ
Принципы работы электронной вычислительной
ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ
Файловая структура ОС. Операции с файлами
Инструментальное программное обеспечение ЭВМ
Основные понятия алгоритмических языков. Алфавит.
Прикладное программное обеспечение ЭВМ
Вопросы для самопроверки по теме 4
МОДЕЛИ РЕШЕНИЯ ФУНКЦИОНАЛЬНЫХ И ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Вопросы для самопроверки по теме 6
7. ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Основные принципы структурного программирования (программирование без GO TO)
Этапы решения задач на компьютере
ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ СЕТИ ЭВМ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
Электронно-цифровая подпись (ЭЦП)
Классификация антивирусных программ
Вопросы для самопроверки по теме 8
ОТВЕТЫ НА ВОПРОСЫ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Ассемблер – это машинно-ориентированный язык низкого уровня. Алгоритм, по которому строится программа, приходится дробить на очень мелкие шаги, которые умеет выполнять процессор. При появлении новых моделей процессоров с иной структурой ко- манд и встроенных операций приходится создавать новые версии ас- семблера, трансляторов с него и переписывать под них пользователь- ские программы.
Следующий этап развития инструментального ПО связан с по- явлением алгоритмических языков, каждый из которых содержит конструкции, удобные для записи алгоритмов в той или иной сфере человеческой деятельности. Алгоритмические языки относятся к классу языков высокого уровня. Они позволяют при составлении программы дробить алгоритм на более крупные смысловые блоки, не связанные со структурой и типом команд ЭВМ, на которой будет ра- ботать программа. При изменении модели процессора переписывает- ся только транслятор с алгоритмического языка, а пользовательские программы остаются прежними.
- 1 ... 19 20 21 22 23 24 25 26 ... 45
Основные понятия алгоритмических языков. Алфавит.
Синтаксис. Семантика
Обычный разговорный язык состоит из четырех основных
элементов: символов, слов, словосочетаний и предложений. Алго- ритмический язык содержит подобные элементы, только слова назы- вают элементарными конструкциями, словосочетания – выражения-ми, предложения – операторами. Алгоритмический язык (как и лю- бой другой язык), образуют три его составляющие: алфавит, синтак- сис и семантика.
Алфавит – фиксированный для данного языка набор символов (букв, цифр, специальных знаков и т.д.), которые могут быть исполь- зованы при написании программы.
Синтаксис– правила использования символов алфавита в специальных конструкциях, с помощью которых составляется алго- ритм.
Семантика – система правил толкования конструкций языка. Таким образом, программа составляется с помощью соедине-
ния символов алфавита в соответствии с синтаксическими правилами и с учетом правил семантики.
Программа, написанная на алгоритмическом языке, называется
исходным модулем.
Для ее трансляции можно использовать два типа технологий: интерпретацию или компиляцию. Трансляторы, реализующие эти технологии, называются соответственно интерпретаторами и ком-пиляторами.
При интерпретации транслятор переводит в машинные коды очередную строку исходного модуля, сразу же выполняет еѐ и пере- ходит к обработке следующей строки, не создавая законченного ис- полняемого модуля всей программы в целом. Такой тип трансляции удобен на этапе отладки или тестирования программы.
При компиляции трансляция разбивается на два этапа
(рис. 4.1). На первом компилятор создает объектный модуль – про- межуточную программу, в которой конструкции исходного модуля переведены в машинные коды, но вместо реальных адресов данных и работающих с нею подпрограмм, используются относительные адре- са и не добавлены служебные подпрограммы, необходимые для еѐ работы.
На втором этапе программа-сборщик заменяет в объектном модуле относительные адреса на абсолютные и подключает к нему необходимые для работы стандартные программы.
В результате получается исполняемыймодуль – программа, написанная в машинных кодах и полностью готовая к работе.
Исполняемый модуль
Исходный модуль
Объектный модуль
Компиляция Компоновка
Перевод кон- струкций языка в ма- шинные ко- ды с исполь- зованием от- носительных адресов
Добавление необходимых стандартных программ,
замена отно- сительных адресов ре- альными
Рис. 4.1. Схема трансляции в режиме компиляции
Этот режим трансляции удобен для расчѐтов по уже отлажен- ной и протестированной программе, так как исполняемый модуль можно сохранить в памяти и при необходимости провести расчеты с другим набором исходных данных, не повторяя трансляцию.
В настоящее время для большинства алгоритмических языков разработаны интегрированные системыпрограммирования(Бей- сик, Паскаль, Си и т. п.). Они включают в себя следующие компонен- ты:
-
текстовый редактор для написания программы; -
библиотеки стандартных программ; -
средства отладки; -
справочную службу;
–компилятор и/или интерпретатор;
-
диалоговый интерфейс.
Основные алгоритмические языки высокого уровня
Один из первых языков программирования высокого уровня, Фортран(Formula Translation), был создан в середине 50-х годов. Он используется для инженерных и научных расчетов, для реше- ния задач физики и других наук с развитым математическим аппара- том. Благодаря своей простоте и тому, что на этом языке накоплены
большие библиотеки программ, Фортран и в наши дни остается од- ним из самых распространенных алгоритмических языков.
Для решения экономических задач был создан язык програм- мирования Кобол.
Расширение областей применения ЭВМ влечет за собой созда- ние языков, ориентированных на новые сферы применения: Снобол – алгоритмический язык дляобработкитекстовойинформации.Лисп – алгоритмический язык для обработки символов. Он находит широкое применение в исследованиях по созданию искусственногоинтеллекта.
В 1968 г. был объявлен конкурс на лучший язык программиро- вания для обучения студентов. Для этого конкурса Никлаус ВиртсоздалязыкПаскаль, достаточно простой, удобный, с наличием мощных средств структурирования данных. Хотя Паскаль был разра- ботан как язык для обучения программированию, он впоследствии получил широкое развитие и в настоящее время считается одним из самых используемых языков.
ДляобучениямладшихшкольниковСамуэлем Пайпертом был разработан языкЛого. Он отличается простотой и богатыми возможностями.
Широкое распространение в школах в качестве обучающего
языка получил язык Бейсик, позволяющий взаимодействовать с ЭВМ в режиме непосредственного диалога. Спустя много лет после изо- бретения Бейсика, он и сегодня самый простой для освоения из де- сятков языков общецелевогопрограммирования.
Необходимость разработки больших программ, управляющих работой ЭВМ, потребовала создания специального языка программи- рования. В начале 70-х г. был разработан язык СИ, который широко используется как инструментальный язык для разработки опера-ционныхсистем,трансляторов,базданныхидругихсистемныхи прикладных программ. Это язык программирования общего назна- чения. Во многих случаях программы, написанные на Си, сравнимы по скорости с программами, написанными на языке Ассемблера. При этом они имеют лучшую наглядность и их более просто сопровож- дать. В отличие от Паскаля, в нем заложены возможности непосред- ственного обращения к некоторым машинным командам и к опреде- ленным участкам памяти компьютера.
Появление функционального программирования привело к
созданию языка Пролог (ПРОграммы ЛОГические). Этот язык про- граммирования разрабатывался для задач анализа и понимания ес-тественных языков на основе языка формальной логики и мето-довавтоматическогодоказательстватеорем.
В 80-х г. 20 века был создан язык Ада. В дополнение к класси- ческим свойствам, он обеспечиваетпрограммированиезадачре-альноговремениимоделированияпараллельногорешениязадач.
К языкам сверхвысокогоуровняможно отнести Алгол-68и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.
В современной информатике можно выделить два основных