Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spo_otchet_chumak.doc
Скачиваний:
5
Добавлен:
01.04.2025
Размер:
206.85 Кб
Скачать

РОСЖЕЛДОР

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

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

«Ростовский государственный университет путей сообщения»

(ФГБОУ ВПО РГУПС)

Кафедра «ВТ и АСУ»

Отчёт по лабораторным работам по дисциплине

«Системное программное обеспечение»

Выполнил студент группы

АИ-3-024 ____________________ А.В. Кривощёков

(подпись)

Проверил

к.т.н., доцент ____________________ В.В. Жуков

(подпись)

2012

Лабораторная работа №1 Формирование очередей в динамической памяти

1) Цель работы: Создать двунаправленный список типа FiFo. Программа должна включать в себя процедуры добавления элемента в список и его извлечения.

2) Исходный текст программы:

program FIFO;

type tp=^tu;

tu=record

d:integer;

p:tp;

end;

var q,vhod:tp;

x,y:integer;

procedure dobavlenie (x:integer);

begin

new(vhod);

vhod^.p:=q;

vhod^.d:=x;

q:=vhod;

end;

procedure izvlechenie (var x:integer);

var k:tp;

begin

q:=vhod;

if vhod=nil then writeln ('spisok pust')

else while q<>nil do

begin

k:=q;

q:=q^.p;

end;

x:=k^.d;

writeln(x);

k^.p:=nil;

dispose(k);

q:=vhod;

end;

BEGIN

q:=nil; vhod:=nil;

writeln(‘введите элемент списка’);

readln(x); dobavlenie(x);

writeln(‘введите элемент списка’);

readln(x); dobavlenie(x);

writeln(‘введите элемент списка’);

readln(x); dobavlenie(x);

writeln('________');

izvlechenie (y);

END.

3) Результат:

введите элемент списка

32

введите элемент списка

45

введите элемент списка

85

_______

32

Лабораторная работа №2 Программирование конечного автомата

1)Цель работы: Написать программу конечного автомата на пять состояний. Каждое из них нагрузить выводом на экран номера того состояния, которое автомат покинул.

Графическое представление конечного автомата:

2)Текст программы

Program avtomat;

var x,S:integer;

Begin

s:=0;

repeat

writeln ('Vvedite vhodnoe vozdeistvie');

write('x= ');

readln (x);

case s of

0:begin

if x>5 then begin

writeln('s= ',s);

s:=1;

end

else if x=5 then begin

writeln('s= ',s);

s:=2;

end

else if x<2 then begin

writeln('s= ',s);

s:=4;

end

else begin

writeln('s= ',s);

s:=3;

end;

end;

1:begin

if x>7 then begin

writeln('s= ',s);

s:=4;

end;

end;

2:begin

if x=6 then begin

writeln('s= ',s);

s:=3;

end;

if x>8 then begin

writeln('s= ',s);

s:=0;

end;

end;

3:begin

if x=8 then begin

writeln('s= ',s);

s:=4;

end;

end;

end;

until s=4;

end.

Пример выполнения программы

Vvedite vhodnoe vozdeistvie

x= 5

s= 0

Vvedite vhodnoe vozdeistvie

x= 9

s= 2

Vvedite vhodnoe vozdeistvie

x= 4

s= 0

Vvedite vhodnoe vozdeistvie

x= 8

s= 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]