Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды

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

Язык программирования- это формализованный язык описания алгоритмов, используемых для решения различных задач на компьютере.

-Язык высокого уровня - Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада и др.

-Язык низкого уровня - Язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код (см. также “машинный язык “, “машинно-ориентированный язык “ и “язык ассемблера“).

Отладка ПС - это деятельность, направленная на обнаружение и исправление ошибок в ПС с использованием процессов выполнения его программ.

Тестирование ПС - это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ.

Транслятор– это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы бывают двух типов:
интерпретаторы

компиляторы

Интерпретатор- переводит каждую команду программы с одновременным её выполнением и, если обнаруживает ошибку, сообщает о ней и прекращает выполнение программы.
Компилятор - переводит всю программу целиком и в конце работы выдаёт список ошибок, если они обнаружены.

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

a)Существуют различные классификации языков программирования. По наиболее распространенной классификации все языки программирования делят на языки низкого, высокого и сверхвысокого уровня.

В группу языков низкого уровня входят машинные языки и языки символического кодирования: (Автокод, Ассемблер) Операторы этого языка – это те же машинные команды, но записанные мнемоническими кодами

Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно-независимы

К языкам сверхвысокого уровня можно отнести лишь Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.

Языки программирования подразделяются на операторные и функциональные.

Вопрос №56 Понятие алгоритма .Свойства алгоритма. Виды алгоритмов. Принципы разработки алгоритмов и программ .

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

В)Алгоритм обладает следующими свойствами:

1. Дискретность. Это свойство состоит в том, что алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, т.е. преобразование исходных данных в результат осуществляется во времени дискретно.

2. Определенность. Каждое правило алгоритма должно быть четким, однозначным.

3. Результативность. Алгоритм должен приводить к решению за конечное число шагов.

4. Массовость. Алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными.

5. Правильность. Алгоритм правильный, если его выполнение дает правильные результаты решения поставленной задачи.

Г)Виды алгоритмов : линейный ,разветвляющийся ,циклический ,комбинированный .

Д)Существуют два подхода разработки программ и алгоритмов :

1)ОПЕРАЦИОНАЛЬНЫЙ ПОДХОД

2)Структурный подход

57.) Блок-схемы алгоритмов. Основные управляющие структуры (следование, ветвление, повторение). Понятие цикла.

Блок-схемы алгоритмов

Схе́ма - графическое представление определения, анализа или метода решения задачи, в котором используются символы для отображения операций, данных, потока, оборудования и т. д.[1]

Основные элементы схем алгоритма

Наименование Обозначение Функция
Блок начало-конец (пуск-остановка) Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №1 - открытая онлайн библиотека Элемент отображает вход из внешней среды или выход из неё (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие.
Блок вычислений (вычислительный блок) Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №2 - открытая онлайн библиотека Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, например, операцию присваивания: a = 10*b + c.
Логический блок (блок условия) Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №3 - открытая онлайн библиотека Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. Примеры решения: в общем случае − сравнение (три выхода: >, <, =); в программировании − условные операторы if (два выхода: true,false) и case (множество выходов).
Предопределённый процесс Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №4 - открытая онлайн библиотека Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции.
Данные (ввод-вывод) Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №5 - открытая онлайн библиотека Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы).
Граница цикла Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №6 - открытая онлайн библиотека Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла).
Соединитель Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №7 - открытая онлайн библиотека Символ отображает вход в часть схемы и выход из другой части этой схемы. Используется для обрыва линии и продолжения её в другом месте (для избежания излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц). Соответствующие соединительные символы должны иметь одинаковое (при том уникальное) обозначение.
Комментарий Системы программирования. Языки программирования. Понятия: языки программирования высокого и низкого уровня, тестирование и отладка программ, трансляторы и их виды - №8 - открытая онлайн библиотека Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа.

Цикл - разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.

58.)Программирование на языке Basic. Операторы объявления переменных. Типы данных.

1. Бейсик - семейство высокоуровневых языков программирования.

Синтаксис языка напоминает Фортран и многие элементы - явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования, ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии Visual Basic, а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие, например, от Паскаля). Объявление переменной - это первое её использование.

Ранние версии Бейсика (такие как BASICA, GW-BASIC) существенно отличаются от современных диалектов и сегодня практически не используются.

Бейсик подвергается жёсткой критике за то, что его простота и бесструктурность поощряют порочные методики и привычки программирования, которые могут быть уместны при создании малых программ, но способны привести к краху крупных проектов.

2.Операторы объявления переменной:

Перем

Объявление переменной в явном виде.

Синтаксис:

Перем <Имя_переменной> [[<Размерность>]] [Экспорт];

Англоязычный синоним:

Var:

Параметры

<Имя_переменной>

[<Размерность>]

Экспорт

Описание:

Оператор Перем в явном виде объявляет переменную.

Пример:

Перем Очень_Нужная_Переменная;

Перем Массив_Для_Хранения[10];

Имя переменной.

Необязательная числовая константа (записывается в квадратных скобках), указывается только в том случае, если объявляется массив и должна представляться в виде положительного целого числа. Необязательное ключевое слово Экспорт указывает, что данная переменная станет доступна для других модулей. Использование данного ключевого слова имеет смысл только в глобальном программном модуле.

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

- В разделе определения переменных глобального программного модуля. Если переменные определены с ключевым словом Экспорт (см. оператор Перем), то это будут глобальные переменные.

- В разделе определения переменных модуля. Это переменные модуля.

- В процедуре или функции. Это локальные переменные.

3. Типы данных:

Данные в VBA характеризуются своими типами, которые определяют:

- формат представления данных в памяти компьютера;

- область возможных значений;

- множество допустимых операций, применимых к данным.

Типы данных делятся на простые (встроенные и определяемые) и на структурные, именно в таком порядке мы и будем их описывать.

Типы данных Описание Область значений Требуемая память
Boolean Логическое значение True (Истина) и False (Ложь) 2 байта
Byte Число без знака 0-255 1 байт
Currency Десятичные числа с фиксированным количеством знаков после запятой -922 337 203 685 477,5808 - 922 337 203 685 477,5807 8 байтов
Date Используется для хранения дат 1.01.0100г.-31.12.9999г. 8 байтов
Decimal Любое число 28 знаков 12 байт
Double Числовые значения с пла- вающей точкой двойной точности -1.7Е308--4.9Е324 для отрицательных чисел и 4.9Е324 - 1 ,7Е308 для положи- тельных чисел 8 байтов
Integer Короткие целые числовые значения -32 768 - 32 767 2 байта
Long Длинные целые числовые значения -2 147483648- 2147483647 4 байта
Object Ссылка на объект   4 байта
Single Числовые значения с плавающей точкой обыч- ной точности -3.4Е38--1.4Е45 для отрицательных чисел и 1.4Е-45-3.4Е-45 4 байта
String Используется для хранения строковых значений для положительных Длина строки от 0 до 64 Кбайт 1 байт на символ
Variant Может использоваться для хранения всех вышеперечисленных типов Значения любого из вышеперечисленных типов плюс Null, Error, Empty, Nothing. 16 байт плюс 1 байт на каждый символ строковых зна- чений

59.)Программирование на языке Basic. Операторы ветвления (логические операторы):

1. Бейсик - семейство высокоуровневых языков программирования.

Синтаксис языка напоминает Фортран и многие элементы - явные заимствования из него. Язык задумывался для обучения, поэтому его конструкции максимально просты. Как и в других языках программирования, ключевые слова взяты из английского языка. Основных типов данных два: строки и числа. С появлением версии Visual Basic, а также различных его модификаций (таких как VBA), в языке появились многие другие типы данных и дополнения, типичные для современных языков программирования (например, такие, как объектная модель). Объявление переменных не требует специальной секции (в отличие, например, от Паскаля). Объявление переменной - это первое её использование.

Ранние версии Бейсика (такие как BASICA, GW-BASIC) существенно отличаются от современных диалектов и сегодня практически не используются.

Бейсик подвергается жёсткой критике за то, что его простота и бесструктурность поощряют порочные методики и привычки программирования, которые могут быть уместны при создании малых программ, но способны привести к краху крупных проектов.

2.Операторы ветвления (логические операторы):

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

Существует две основные формы условной инструкции, встречающиеся в реальных языках программирования: условный оператор (оператор if) и оператор многозначного выбора (переключатель, case, switch).

Формы условного оператора:

Условный оператор с одной ветвью:

if условие then команды end

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

Условный оператор с двумя ветвями:

if условие then команды1 else команды2 end

Здесь при истинности условия выполняются команды1 при ложности - команды2. При необходимости проверить последовательно несколько условий возможно каскадирование условных операторов:

if условие1

then команды1

else if условие2 then команды2

else if условие3 then команды3

...

else if условиеN-1 then командыN-1

else командыN end;

В этом случае условия будут проверяться последовательно, и как только встретится истинное, будет выполнен соответствующий набор команд и исполнение перейдёт к команде, следующей за условным оператором. Если ни одно из условий не окажется истинным, выполняются командыN из ветви else.

Условный оператор с несколькими условиями:

if условие1 then команды1

elsif условие2 then команды2

elsif условие3 then команды3

...

else командыN end;

порядок выполнения этого оператора в точности соответствует вышеприведённому каскаду простых операторов if-then-else, а отличие чисто формальное: вместо вложенных нескольких условных операторов эта конструкция является единым целым и содержит дополнительное ключевое слово elsif, требующее после себя очередное условие.

Вопрос 60

Язык программирования Basic был создан в 1964 году двумя профессорами Дртмунского университета Джоном Кенеми и Томасом Куртцом.BASIC - это первые буквы английских слов Beginner's All-purpose Symbolic Instruction Code (Всецелевой язык программирования для начинающих). В настоящее время существует множество версий этого языка, которые иногда очень сильно отличаются друг от друга. Для учебных заведений самыми распространенными являются версии MSX, впервые реализованная на японском компьютере "Ямаха", и версии фирмы Microsoft для компьютеров IBM. Кроме этого в нашей стране популярностью пользуется версия Turbo-Basic фирмы Borland. Без преувеличения можно сказать, что сегодня Бейсик является самым распространённым языком программирования. После появления мощных компиляторов Visual Basic этот язык стал популярен и у профессиональных программистов. Бейсик относится к языкам программирования высокого уровня. Как и другие языки, этот язык имеет алфавит, синтаксис, семантику.

Алфавит языка. Алфавит языка Basic представляет собой таблицу символов ASCII. Первая половина этой таблицы (символы с кодом 0-127) - стандартная. Вторая половина (символы с кодом 128-255) специфична для каждой страны. В этой таблице каждый символ имеет 8-битовое обозначение. Итак, в алфавит языка Basic входят все прописные и заглавные буквы английского и русского алфавитов, цифры, а также набор специальных символов, который имеется на клавиатуре компьютера.

Операторы циклов

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

DO … LOOP
Позволяет выполнить блок кода неопределенное количество раз.
Существует несколько вариантов этого оператора, но в каждом из них проверяется условие и по результатам проверки определяется необходимость продолжения цикла. Условие должно быть значением или выражением, которое можно вычислить как Trueили False.

Циклы с предусловием

DO WHILE <условие> … LOOP
Оператор DO WHILE <условие> … LOOPпозволяет проверить условие перед началом цикла и выполнять цикл до тех пор, пока оно имеет значениеTrue.Как только условие цикла примет значение False,выполнение цикла прекратится.

DO UNTIL <условие> … LOOP
Оператор Do Until<условие> … Loopпозволяет проверить условие перед началом цикла и выполнять цикл до тех пор, пока оно False. Как только условие цикла станет равно True, выполнение цикла прекратится.

Циклы с постусловием

DO … LOOP WHILE <условие>
Если операторы цикла необходимо выполнить хотя бы раз, то нужно применять цикл с постусловием.

Инструкция Do … Loop While<условие> позволяет проверить условие после выполнения операторов тела цикла.

Цикл будет повторяться до тех пор, пока выражение в условии цикла имеет значение True. Как только условие цикла примет значение False,выполнение цикла прекратится.

DO … LOOP UNTIL <условие>
В отличие от предыдущего этот цикл будет выполняться до тех пор, пока значение условия равно False. Loop Until X > 10‘Как только переменная станет больше десяти, выполнение цикла прекратится.