Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lab2_Skorikov

.docx
Скачиваний:
28
Добавлен:
02.12.2015
Размер:
38.59 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ

УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-

вычислительных систем (КИБЭВС)

АНАЛИЗ ЗАДАЧИ. АБСТРАКЦИЯ ПРОГРАММ И ДАННЫХ. СИНТАКСИС ЯЗЫКА ПРОГРАММИРОВАНИЯ

Отчет по лабораторной работе №2

по дисциплине «Языки программирования»

Выполнил:

Студент гр. 724

_______  _____   Скориков И.И.

05.10.2015

Принял:

Кандидат технических наук

кафедры КИБЭВС

_______  _____ Романов А.С.

05.10.2015

2015

1 Цель работы

Знакомство с основными элементами языка программирования, расширенной формой записи Бэкуса-Наура для записи синтаксиса языка программирования.

2 Ход работы

Рисунок 1 – Взаимодействие модулей игры «Тетрис»

Модуль 1

  1. Наименование – ПОЛЕ.

Назначение – задание игрового поля.

  1. Входные данные: ширина и высота поля (ширина 10, высота 20).

  2. Выходные данные: отображение игрового поля (short stock[10][20]).

  3. Ошибки – нет.

Модуль 2

  1. Наименование – ФИГУРЫ.

Назначение – создание случайной фигуры в верхней части игрового поля.

  1. Входные данные: начальные координаты фигуры (int curX int curY), тип фигуры (bool cells[4][4]).

  2. Выходные данные: координаты фигуры (int curX int curY), тип фигуры (bool cells[4][4]).

  3. Ошибки – нет.

Модуль 3

  1. Наименование – ОЧКИ.

Назначение – набранные очки.

  1. Входные данные: количество очищенных строк (int countString).

  2. Выходные данные: счет игры (int countGame).

  3. Ошибки – переполнение счета игры.

Модуль 4

  1. Наименование – ЛОГИКА.

Назначение – сдвиг фигуры вправо на единичное значение, сдвиг фигуры влево на единичное значение, поворот фигуры на 90 градусов, быстрое перемещение фигуры на дно поля, проверка наложения фигур, окрашивание ячейки поля в определенный цвет.

  1. Входные данные: координаты фигуры (int curX int curY), тип фигуры, цвет ячейки поля, игровое поле (bool cells[4][4]), int color, short stock[10][20], действие int action.

  2. Выходные данные: координаты фигуры (int curX int curY), тип фигуры (bool cells[4][4]), игровое поле short stock[10][20].

  3. Ошибки – нет.

Синтаксис языка программирования

<program>::=<open_tag>,<body>,<close_tag>

<open_tag> ::= "<?program"

<body>::=[<var>],[<for>],[<while>],[<if>]

<close_tag>::="?>"

<var>::=<type>,<var_name>|<var_name>

<type>::="int", "short", "bool"

<var_name>::="$",<char>,<char>|<int>

<char>::= "а" | "b" | ... | "y" | "z" | "A" | "B" | ... | "Y" | "Z" | "_"

<int>::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"

<value>::= <char>|<int>

<assignment>::= "="

<conditions>:: =">" | "<" | "==" | "!="|">="|"<="

<arithmetic>::="+" | "-" | "*" | "/"

<for>::= "for"(<var>,<assignment>,<value>,";", <conditions>,<value>, ";",<var>,<assignment>,<var>,< arithmetic >,<value>){<var >|<var>,<assignment>,<value>|<for>|<if>|<while>}

<while>::="while"(<var>,<conditions>,<value>){<var>|<var>,<assignment>,<value>|<for>|<if>|<while>}

<if>::="if"(<var>,<conditions>,<value>){<var>|<var>,<assignment>,<value>|<for>|<if>|<while>}

Программа, строящая игровое поле

<?program

for(int $i= 0; <10; $i = $i + 1)

{

for(int $ j = 0; <20; $j = $j + 1)

{

short $stock[$i][$j] = 0;

}

}

?>

3 Заключение

В процессе выполнения лабораторной работы были получены знания об основных элементах программирования, о форме записи Бэкуса-Наура для записи синтаксиса языка программирования.

Соседние файлы в предмете Языки программирования