Скачиваний:
7
Добавлен:
20.05.2014
Размер:
167.94 Кб
Скачать

29

Государственный комитет Российской Федерации по высшему образованию

Московский государственный институт электроники и математики

Кафедра ИТАС

Курсовая работа

по дисциплине

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ И ПРОГРАММИРОВАНИЕ”

Вариант 20

Исполнитель: Руководитель:

Студент. Крылов В.Г.

Группа АП-21Дрождина Е.А.

Москва 2000

Содержание

Задание на курсовую работу

Постановка задачи

Внешняя спецификация

Метод решения задачи

Описание алгоритма

Структура программы

Текст программы конвертора на ПАСКАЛЕ

Распечатка тестов и результатов

Задание на курсовую работу

Написать конвертор на языке Паскаль для перевода программ на языке Си в программы на языке Паскаль.

Исходные данные и результат хранятся в текстовых файлах, имена которых должны запрашиваться транслятором.

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

Алгоритмы обработки отдельных операторов и других элементов должны быть оформлены в виде подпрограмм.

Комментарий не может располагаться внутри оператора.

При формировании выходного текста можно не учитывать правило отступа.

  1. Постановка задачи

Дано:

Fname1 имя выходного файла, содержащий исходный текст программы на заданном языке.

Требуется:

Fname2 имя выходного файла, содержащего конвертированный текст на заданном языке;

Kstr число строк в исходной программе:

Kstr2 число строк в полученной программе:

kerr число ошибочных операторов в полученной программе

Связь

№ n/n

Пример на C

Результат конвертации на Pascal

1

v=ae;

v:=ae;

2

do

while(le);

Repeat

until not le;

3

#define a b

Const a=’b’;

4

float a,b;

Var a,b:real;

5

printf(“aa %f \n”,a);

write(‘aa’); write(a); writeln;

6

a+b*c/d

a+b*c/d

7

a||b&&c||d

(a or b) and (c or d)

8

#include <stdio.h>

main

{

}

begin

end.

9

{

}

begin

end;

10

/* */

//

(* *)

(* *)

Синтаксические диаграммы.

  1. Внешняя спецификация программы

    1. Вход

Исходный текст программы готовится заранее с помощью текстового редактора и хранится в текстовом файле, имя которого вводится в ответ на запрос программы:

Введите имя входного файла:<имя входного файла>

3.2. Выход

Выходной текст формируется конвертором и запоминается в текстовом файле, имя которого вводится в ответ на запрос программы:

Введите имя выходного файла:<имя выходного файла>

Основной результат работы программы хранится в выходном файле в виде текста программы пригодном для компиляции. Кроме того на экран выводится таблица:

Число ошибочных операторов: <число>

Число строк в исходном файле: <число>

Число строк в выходном файле: <число>

3.3. Аномалии

При отсутствии входного файла выводится сообщение:

Входной файл <имя файла> не найден.

Нажмите ENTER для выхода из программы.

  1. Метод решения задачи.

Идентификация операторов исходного текста осуществляется путем анализа ключевого слова. Если допустимое ключевое слово отсутствует и данная строка не является комметарием, то предпологается, что соответствующий оператор является оператором присваивания.

  1. Описание алгоритма

Соседние файлы в папке 20_var_kurs