Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
206
Добавлен:
17.02.2016
Размер:
5.08 Mб
Скачать

Практическое занятие №1 «Разработка программы в различных языках программирования»

Цель: Формирование практических умений по разработке программ в различных языках программирования.

Вид работы: фронтальный.

Время выполнения: 10 часов.

Теоретический материал:

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

Алгоритмический язык Basic используется преимущественно в режиме диалога человека и ЭВМ. Этот язык ориентирован на решение различных задач вычислительного и невычислительного характера с небольшим объемом исходной информации. Название языка BASIC возникло от сокращения английских слов Beginner's All-purpose Symbolic Instruction Code (многоцелевой язык символических инструкций для начинающих). Следует отметить, что стандарта на язык Basic не существует и различные его модификации могут существенно отличаться друг от друга.

В языке Basic существуют как средства для описания действий алгоритма, которые используются при составлений-программ, - операторы Basic, так и средства, которые служат для общения с ЭВМ. Последние имеют форму приказов для немедленного выполнения и называются командами.

Основным режимом в Basic является программный режим, когда заранее составленная программа полностью вводится в ЭВМ и затем выполняется.

Программа на Basic состоит из строк, которые могут иметь номер. В одной строке может содержаться один или несколько операторов, разделенных символом : (двоеточие). Обычно строки нумеруются, начиная с 10, с шагом 10. Номера строк используются в операторах передачи управления. При этом оператор, которому передается управление, должен быть первым в строке.

Пример 10.1. Программа на языке Basic

Программа 10.1

S=0

I=1

10 S=S+I

I = I + 1

IF I<=10 ТНЕN GOTO 10

PRINT S

END

Приведенная программа вычисляет сумму первых 10 натуральных чисел. Смысл каждого оператора и порядок их выполнения в программе очевидны. В результате выполнения программы будет вычислено значение S и оператором PRINT выведено на экран.

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

Практически все современные языки программирования снабжаются так называемыми интегрированными средами разработчика (Integrated Developer’s Environment - IDE), включающими в себя:

  • средства подготовки исходных текстов программ, аналогичные стандартным текстовым редакторам, однако имеющие более широкие возможности именно для подготовки исходных текстов программ;

  • встроенный компилятор;

  • встроенный отладчик.

Для обеспечения диалога с ИСР используются операторы ввода/вывода. В Pascal к ним относятся:

Read(x1, x2, …, xn); Readln(x1, x2, …, xn); - операторы ввода;

Write(x1, x2, …, xn); Writeln(x1, x2, …, xn); - операторы вывода.

ln добавляется в том случае, если после совершения действия необходимо перейти на другую строку. x1, x2, …, xn – это переменные, значения которых вводятся с клавиатуры или выводятся на экран.

Любые переменные, используемые в программе, должны быть описаны в разделе Var, константы определяются через раздел описания констант Const. Например:

Const a=10; {целочисленная константа}

K=true; {логическая константа}

Var x, y, z: integer; {переменные целого типа}

W: char; {переменная символьного типа}

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

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

Строка состояния, расположенная у нижнего края экрана, выполняет следующие функции:

  • Напоминает об основных клавишах и клавишах активизации, которые в настоящий момент могут быть применены к активному окну.

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

  • Сообщает, какое действие выполняется программой.

  • Предлагает состоящие из одной строки советы и рекомендации по любой выбранной команде меню и элементам блока диалога.

При описании переменных применяется префиксная запись, при которой вначале указывается тип, а затем - имя переменной. Например:

float weight;

int exam_score;

char ch;

С типом данных связываются и набор предопределенных значений, и набор операций, которые можно выполнять над переменной данного типа. Переменные можно инициализировать в месте их описаний. Например:

int height = 71 ;

float income =26034.12 ;

Язык программирования ассемблер

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

Набор команд

Типичными командами языка ассемблера являются (большинство примеров даны для Intel-синтаксиса архитектуры x86):

      • Команды пересылки данных (mov и др.)

      • Арифметические команды (add, sub, imul и др.)

      • Логические и побитовые операции (or, and, xor, shr и др.)

      • Команды управления ходом выполнения программы (jmp, loop, ret и др.)

      • Команды вызова прерываний (иногда относят к командам управления): int

      • Команды ввода/вывода в порты (in, out)

      • Для микроконтроллеров и микрокомпьютеров характерны также команды, выполняющие проверку и переход по условию, например:

      • cbne — перейти, если не равно

      • dbnz — декрементировать, и если результат ненулевой, то перейти

      • cfsneq — сравнить, и если не равно, пропустить следующую команду

Инструкции

Типичный формат записи команд:

[метка:] мнемокод [операнды] [;комментарий]

где мнемокод — непосредственно мнемоника инструкции процессору. К ней могут быть добавлены префиксы (повторения, изменения типа адресации и пр.).

В качестве операндов могут выступать константы, адреса регистров, адреса в оперативной памяти и пр. Различия между синтаксисом Intel и AT&T касаются в основном порядка перечисления операндов и указания различных методов адресации.

Используемые мнемоники обычно одинаковы для всех процессоров одной архитектуры или семейства архитектур (среди широко известных — мнемоники процессоров и контроллеров x86, ARM, SPARC, PowerPC, M68k). Они описываются в спецификации процессоров. Возможные исключения:

  • если ассемблер использует кроссплатформенный AT&T-синтаксис (оригинальные мнемоники приводятся к синтаксису AT&T);

  • если изначально существовало два стандарта записи мнемоник (система команд была наследована от процессора другого производителя).

Например, процессор Zilog Z80 наследовал систему команд Intel 8080, расширил её и поменял мнемоники (и обозначения регистров) на свой лад. Процессоры Motorola Fireball наследовали систему команд Z80, несколько её урезав. Вместе с тем, Motorola официально вернулась к мнемоникам Intel и в данный момент половина ассемблеров для Fireball работает с мнемониками Intel, а половина — с мнемониками Zilog.