Лекция 1-2
Язык - это знаковая (семиотическая) система, обладающая определенными средствами выражения знаний - алфавитом, словарем и грамматикой.
Как мы отмечали ранее, любой язык (тоже) принадлежит множеству знаковых систем. Его знаками, являются слова и словосочетания. Любой язык отражается в своей грамматике и словаре, и алфавите. Определение алфавита:
Алфавитом - называется произвольное конечное множество попарно различимых символов.
Словарный состав или лексика языка - это совокупность употребляемых в нем слов, т.е. правильных слов данного языка.
Грамматика - это конечная система правил, определяющих язык.
Грамматика определяет способы построения изменения и сочетания слов.
Многозначность слов естественного языка не позволяет использовать его в целом для формализации предоставления знаний об окружающем мире, отдельных процессов и явлений, которые исследует человек с помощью ЭВМ, моделирует на ЭВМ и так далее.
Для этого были созданы искусственные языки: языки представления знаний (реляционные (основную роль в них играют отношения)), языки исчисления предикатов (предикаты играют роль отношений, позволяют получать логический вывод, то есть формальным путем получать одни знания из других), а также алгоритмические языки (языки программирования) и декларативные языки (языки фреймового типа).
Все эти языки называются еще и формальными. Нас более всего интересуют алгоритмические языки, к которым относятся все известные языки программирования.
Для решения задачи на ЭВМ составляется алгоритм, обеспечивающий выполнение всех необходимых действий для получения искомых результатов. Этот алгоритм описывается средствами формального языка, понятного ЭВМ - языка программирования.
К таким средствам относятся элементы языка - символы, цифры, специальные знаки, а также правила составления операторов для описания действий по вводу - выводу и распределению памяти, управлению ветвлением и организацией циклов, обращениям ко внешним устройствам, контролю и отладке отдельных фрагментов и программы в целом, формированию выходных документов и так далее.
Каждая ЭВМ имеет свой собственный язык кодов команд, называемый машинным, который обеспечивает непосредственное выполнение любой последовательности машинных операций. Практически компьютер выполняет программы, записанные только на машинном языке. Однако с помощью дополнительных средств (системных программ) реализуются многоуровневые переводы (трансляции) текстов программ с различных языков программирования на язык ЭВМ. Эти языки программирования в отличие от машинных, называются языками высокого уровня, они мало зависят от особенностей конфигурации конкретной ЭВМ, то есть эти языки являются машинно - независимыми.
7.2009 12:22 | Author: Administrator |
В языке символического кодирования, в отличие от машинного, цифровые коды заменены буквенными или буквенно-цифровыми (мнемоническими) обозначениями. Это облегчает работу по составлению программы и позволяет автоматизировать действия, связанные с размещениями программы и данных в памяти ЭВМ. Каждой команде языка символического кодирования при трансляции соответствует одна машинная команда. Такие языки называются мнемокодами или языками ассемблеров.
Язык более высокого уровня - макроязык - включает наряду с мнемоническими обозначениями машинных команд отдельные макрокоманды, которые при трансляции заменяются группами команд машинного языка (подпрограммами). Это сокращает запись исходной программы и упрощает программирование, так как исключаются записи часто повторяющихся фрагментов программы. В настоящее время все языки ассемблерного типа допускают использование макросредств, то есть являются макроассемблерами.
Машинно - ориентированные языки содержат все необходимые средства для программирования любых задач. Однако они применяются, когда требуется создать особо быстродействующие программы при минимальных объемах используемой памяти. В частности, на этих языках пишут программы управления устройствами ЭВМ и предварительной обработки данных.
Обновлено (28.07.2009 12:22)
ольшинство производственных задач решают с помощью программ, написанных на процедурно - ориентированных языках. Средства этих языков позволяют наиболее просто описать часто встречающиеся фрагменты действий в соответствующих задачах. Процедурно-ориентированные языки предполагают знания пользователя в области математических (численных) методов и основ алгоритмизации (базовый язык для научно-технических расчетов ФОРТРАН, БЕЙСИК (персональные ЭВМ - основной), современный ПАСКАЛЬ). В процессе развития созданы многоцелевые (универсальные) языки программирования, объединяющие основные средства и возможности многих процедурно - ориентированных языков, например: ПЛ/1 - используемый для решения задач обработки экономической и научно-технической информации, задач управления объектами и т.п.; язык АДА - многоцелевой стандартный язык, способный заменить множество других языков и на длительный период обеспечить разработку и совершенствование программного обеспечения; язык МОДУЛА - объединяет средства и особенности машинно - ориентированных и процедурно - ориентированных языков; включает средства для написания подпрограмм управления устройствами, управления потоками сообщений, для чего традиционно использовались языки ассемблерного типа. Для пользователей, не имеющих специальной подготовки, но нуждающихся в оперативном использовании ЭВМ для решения стереотипных задач, разрабатываются специальные проблемно - ориентированные языки (непроцедурные), которые не требуют подробной записи алгоритма решения задачи. На таком языке лишь формулируется задача и указывается последовательность подзадач из готового набора с указанием исходных данных и форм требуемых документов. Специальные средства программы-генераторы из готовых блоков автоматически формируют программу для решения поставленной задачи. Эти языки ещё более высокого уровня, т.е. удалены от машины более, чем процедурно - ориентируемые языки. К ним относятся языки для задания и обработки таблиц данных при решении экономических задач, а также языки моделирования сложных систем СИМУЛА, НЕДИС и другие (СИМСКРИПТ, ЛИСП, ПРОЛОГ). Граница между проблемно - и процедурно - ориентированными языками очерчена не очень чётко (условно). Вне зависимости от того, на каком алгоритмическом языке создается программа, этапы подготовки и решения задач на ЭВМ выглядят следующим образом:
1. Этап
Постановка задачи: подробная формулировка задачи, выбор метода решения.
На этом этапе формируется т.н. содержательное описание задачи, в которое входит описание целей, анализ исходной информации, обоснование метода решения задачи.
2. Этап
Алгоритмизация задачи: формулировка и составление алгоритма.
На этом этапе разрабатывается алгоритм решения в виде блок - схем. Для сложной задачи составляется обобщенный алгоритм решения и частные алгоритмы реализации выделенных процедур обработки данных.
Степень детализации описания алгоритма ориентирована на язык программирования, чтобы символы - блоки алгоритма достаточно просто реализовывались средствами выбранного языка.
3. Этап Составление программы:
Программа - это представление алгоритма средствами языка программирования: замена блока на один или несколько операторов языка.
4. Этап Перенос программы на машинный носитель:
Для этого используют клавиатуру дисплея или устройство подготовки данных на мл или мд.
На этом этапе происходит первоначальная трансляция программы и её редактирование - исключение синтаксических ошибок.
5. Этап Отладка программы:
На этом этапе происходит выполнение программы с использованием контрольных (тестовых) исходных данных. По полученным результатам пользователь делает вывод о правильности работы программы. На этом этапе происходит обнаружение семантических ошибок. Обнаруженные ошибки приводят к изменению текста программы, алгоритма, и, следовательно, к повторению первоначальных этапов.
6. Этап Анализ результатов решения:
На этом этапе анализируются полученные результаты, на основании этого анализа делаются выводы о правильности выбранного метода решения и составлении алгоритма, вырабатываются рекомендации по модернизации программы; составляются описание и инструк
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.