АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Практическая часть. 2.1. Цель работы и исходные данные

Читайте также:
  1. II. Практическая часть
  2. III. Творческая часть. Страницы семейной славы: к 75-летию Победы в Великой войне.
  3. III. Творческая часть. Страницы семейной славы: к 75-летию Победы в Великой войне.
  4. Аналитическая часть.
  5. Вводная часть.
  6. Вводная часть.
  7. Вторая часть.
  8. Второй раздел моего дипломного проекта – Электротехническая часть.
  9. Глава 2. « Практическая часть»
  10. И его практическая эффективность
  11. Коллектив и семья для ребенка - что важнее? 2 часть.
  12. КОМУ И ЗАЧЕМ НУЖНА ПРАКТИЧЕСКАЯ ПСИХОЛОГИЯ

2.1. Цель работы и исходные данные.

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

Исходными данными для работы являются:

¨ исходный текст программы согласно варианту (см п. 2.3);

¨ операционная среда программирования: персональный компьютер модели IBM PC, операционная система MS DOS или Windows 95, система программирования на языке Паскаль или Си;

¨ метод проектирования ЛА: нисходящее структурное и модульное программирование.

 

2.2. Общие технические требования.

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

2. Входной информацией для ЛА является исходный текст анализируемой программы согласно заданному варианту. Текст должен быть подготовлен в виде короткой отладочной программы и записан в файл с выбранным именем.

3. Выходной информацией ЛА являются: а) таблицы выделенных лексем в символьном представлении; б) таблица кодов лексем анализируемой программы. Все таблицы должны выводиться на стандартные устройства вывода (экран, принтер) и храниться в виде файлов.

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

 

2.3. Варианты заданий.


Вариант 1

PROGRAM NOMER_l;

VAR X,Y,Z: INTEGER;

BEGIN

1: READ(X,Y);

Z:=X*20+Y/X-100;

IF Z>0 THEN

WRITE(Z,X)

 

Вариант 2

PROGRAM NOMER_2;

VAR I: INTEGER;

S: REAL;

BEGIN

S:= 0;

1: FOR I:= 1 TO 50 DO

S:= S+1/I; IF S*S <> 10 THEN

ELSE GOTO 1

END.

Вариант 3

PROGRAM NOMER_3;

VAR K,J: INTEGER;

S: REAL;

BEGIN

READ(S); IF S = 0.0 THEN

GOTO 10;

FOR J:= 1 TO 20 DO

BEGIN

S:=S+J;K:= J

END;

10: WRITE(S)

END.

Вариант 5

PROGRAM NOMER_5;

VAR I,K,SUM: INTEGER;

BEGIN

SUM:= 0;

10: FOR I:= 20 TO 100 DO

BEGIN

READ(K);

SUM:= SUM+K

END;

IF S >= 200 THEN

WRITE(SUM)

ELSE GOTO 10

END.

Вариант 7

PROGRAM NOMER_7;

VAR X,I: INTEGER;

M: REAL;

BEGIN

READ(X);

20: M:= 0.0;

FOR I:= 1 TO X+20 DO

M:= M+I*X;

IF M+20.5 >= X-10 THEN

GOTO 20 ELSE

WRITE(M,X)

END.

WRITE(S) ELSE GOTO 1

END.

Вариант 4

PROGRAM NOMER_4;

VAR A, B, C, D: REAL;

I: INTEGER;

BEGIN

FOR I:=1 TO 10 DO

BEGIN

1: READ(A,B,C);

D:= B*B-4*A*C;

IF D = 0 THEN GOTO 1

ELSE GOTO2;

END; WRITE(D);

2 : END.

Вариант 6

PROGRAM NOMER_6;

VAR A,B,C,D: REAL;

I: INTEGER;

BEGIN

1: READ(A,B,C);

FOR I:= 0 TO 50 DO

D:=(A*A-I/C)*B+20;

IF D*D <> 10.5 THEN

GOTO 1

ELSE WRITE(D,A,B);

IF D <= 20 THEN

GOTO 1

END.

Вариант 8

PROGRAM NOMER_8;

VAR N,I,J,M: INTEGER;

BEGIN

1: READ(N); M:= 0;

FOR I:= 2 TO N DO

BEGIN

J:= I*I;

M:= M+J

END;

IF M+J >= J+100 THEN

WRITE(M,J) ELSE GOTO 1

END.

Вариант 9

PROGRAM NOMER_9;

VAR I: INTEGER;

Z,R: REAL;

BEGIN

READ(Z);

FOR I:= 1 TO 100 DO

BEGIN

R:= Z*Z+I-10.0;

IF R*R-Z <= Z*R THEN

GOTO 1

END;

1: WRITE(R)

END.

Вариант 11

PROGRAM NOMER_11;

VAR X,Y,XX: REAL;

I: INTEGER;

BEGIN

1: READ(X);

XX:= 0.1+X;

FOR I:= 1 TO 100 DO

Y:=0.1*ХХ-2.12/I;

IF Y-X*X <= 20.0 THEN

WRITE(Y,X)

ELSE GOTO 1

END.

Вариант 13

PROGRAM NOMER_13;

VAR S,X,Y: REAL;

I: INTEGER;

BEGIN

READ(X,Y); S:= 0.0;

IF X*X*Y-Y < 1.0/X THEN

GOTO 1 ELSE GOTO2;

1: S:= 1.0;

2: FOR I:= 0 TO Y-2 DO

S:= S+(Y*X)/I;

WRITE(X,Y,S)

END.

Вариант 10

PROGRAM NOMER_10;

VAR A,B,C,X,P: REAL;

J: INTEGER;

BEGIN

A: =3.1415;

1: READ(B,X,C);

FOR J:= 1 TO X*X-C DO

BEGIN

P:= (А+В-С)/(Х-20.14);

WRITE(P,J)

END;

IF P <= 255.5 THEN GOTO 1

END.

Вариант 12

PROGRAM NOMER_12;

VAR I,J: INTEGER;

A,R: REAL;

BEGIN

20: READ(A);

FOR I:= 2 TO 100 DO

FOR J:= 0 TO I-1 DO

R:=A*3.141+1.0/I;

IF R+A*A <= R-A THEN

GOTO 20

ELSE WRITE(R,A)

END.

Вариант 14

PROGRAM NOMER._14;

VAR A,B,X,Y: REAL;

I: I NTEGER;

BEGIN

1: READ(A,B,X,Y);

FOR I:= 1 TO X*X-100 DO

BEGIN

X:= (X+1.12)*A;

Y:= (Y-2.15)/B

END;

IF X+Y <= 20.5 THEN

WRITE(X,Y)

ELSE GOTO 1

END.

Вариант 15

PROGRAM NOMER_15;

VAR A,I,N: INTEGER;

BEGIN

10: READ(N);

FOR I:= 1 TO N+2 DO

BEGIN

N:= N-I*I;

A:= 4*N+50

END;

IF N-A <= A/10 THEN

A:= N*N ELSE GOTO 10;

WRITE(A,N)

END.

Вариант 17

PROGRAM NOMER_17;

VAR I,J,D: INTEGER;

BEGIN

1: READ(I,D);

IF D*D >= I THEN

FOR I:= 3 TO D-I DO

BEGIN

J:= I-10*D;

WRITE(J,I)

END

ELSE GOTO 1

END.

Вариант 19

PROGRAM NOMER_19;

VAR X,Y,Z: REAL;

I: INTEGER;

BEGIN

READ(X,Y);

Z:= 20*X*X-Y/X;

1: X:= 0.0;

FOR I:= 1 TO 100 DO

BEGIN

X:= Z+I*I;

Z:= Z+0.1

END;

IF X+Y <= Z THEN GOTO 1

ELSE WRITE(X,Y)

END.

Вариант 16

PROGRAM NOMER_16;

VAR I: INTEGER;

X, Y: REAL;

BEGIN

X:= 3.81; Y:= 5.53;

20: IF X+20.0 <= X*1.5 THEN

GOTO 10;

FOR I:= 1 TO 50 DO

Y:= Y*(X+1.0-I);

READ(X,Y);

GOTO 20;

10: WRITE(X,Y)

END.

Вариант 18

PROGRAM NOMER_18;

VAR S,A: REAL;

D,I: INTEGER;

BEGIN

1: D:= 20; 2: READ(A);

FOR I:= 0 TO D DO

BEGIN

S:= 3.141*I-A;

WRITE(S)

END; IF D >= S THEN

GOTO 1 ELSE GOTO 2

END.

Вариант 20

PROGRAM NOMER_20;

VAR А,В, X: REAL;

I,C,D: INTEGER;

BEGIN

READ(A,B,X);

IF A-B>=B+X THEN GOTO 1

ELSE GOTO2;

1: C:= 0; D:= A*B+X/1.5;

2 : FOR I:= 1 TO 200-I DO

BEGIN

C:= 10;

D:= A*A+X/2. 0

END;

WRITE(C,D)

END.



2.4. Порядок выполнения работы.

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

1. Определить основные типы лексем и способ кодирования лексем в выходной таблице ЛА.

2. Выполнить проектирование структуры программы ЛА, определив действия в основной программе, количество и операции, выполняемые в процедурах и функциях. Установить взаимные связи между процедурами и описать их входные и выходные параметры.

3. Составить детализированные блок-схемы алгоритмов для основной программы и каждой процедуры (функции).

4. Подготовить исходные тексты всех частей программы ЛА, выполнить их компиляцию и первичную отладку с помощью отладочной программы и фрагмента текста исходной программы.

5. Выполнить комплексную отладку всей программы ЛА с использованием исходного анализируемого текста. Проверить правильность формирования всех таблиц ЛА.

6. Произвести тестирование программы ЛА путем внесения различных изменений в исходный анализируемый текст и контроля правильности формирования таблиц ЛА, а также содержания диагностических сообщений программы. Изменениядолжны охватывать все случаи отклонений в структурах лексем заданного исходного текста.

 

2.5. Содержание отчета по лабораторной работе.

В отчете необходимо представить:

1. Исходный текст анализируемой программы.

2. Блок-схемы и исходные тексты основной программы и всех процедур (функций).

3. Результаты отладки и тестирования программы ЛА в виде распечатанных текстов отладочных программ и тестовых примеров.


[1] Выражение в фигурных скобках может либо отсутствовать, либо итеративно повторяться n ≥1 раз


1 | 2 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.023 сек.)