Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Программированиеи компьютеры /

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



Скачать реферат


МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ,

ЭЛЕКТРОНИКИ И АВТОМАТИКИ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

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

Программирование на языках В/У

Студент:

Группа:

Москва 2003

СОДЕРЖАНИЕ

1 ЗАДАНИЕ 3

2 БЛОК-СХЕМА ПРОГРАММЫ 3

3 ТЕКСТ ПРОГРАММЫ 4

4 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ 5

5 РУКОВОДСТВО ОПЕРАТОРА 7

1 ЗАДАНИЕ

Программа должна вставить новый элемент E после первого элемента непустого списка L.

2 БЛОК-СХЕМА ПРОГРАММЫ

да

нет

нет

да

нет

да

3 ТЕКСТ ПРОГРАММЫ

Program Project1;

{$APPTYPE CONSOLE}

Uses SysUtils;

type

spisok=^s;

s=record

i:integer;

p:spisok; end;

var

n,k:word;

E:integer;

L,FstL,LL:spisok;

BEGIN

Write('Kol. Elementov L:> ');ReadLn(k);

FOR n:=1 to k do BEGIN

New(L); Write('L',n,' :> '); ReadLn(L^.i);

L^.p:=nil;

IF n=1 THEN begin FstL:=L; LL:=L; end

ELSE begin LL^.p:=L;LL:=L; end;

END;

Write('Element E:> '); ReadLn(E);

New(L); L^.i:=E; L^.p:=FstL^.p; FstL^.p:=L; L:=FstL;

While Lnil do begin Write(L^.i,' '); L:=L^.p; end;

ReadLn;

END.

4 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ

ТАБЛИЦА ТИПОВ, ИСПОЛЬЗУЕМЫХ ПРОГРАММОЙ

Имя типа Тип Назначение

spisok Тип динамической переменной со струк-турой s

s record запись, содержащая переменную типа in-teger (i) и ссылку (p)

ТАБЛИЦА ПЕРЕМЕННЫХ, ИСПОЛЬЗУЕМЫХ ПРОГРАММОЙ

Имя Тип Назначение

n Word Счетчик циклов

k Word Количество элементов в списке L

E integer Элемент, который необходимо вставить после первого элемента в списке L

L spisok Указатель, содержащий адрес произволь-ного элемента списка L

FstL spisok Указатель, содержащий адрес первого элемента списка L

LL spisok Указатель, содержащий адрес последнего элемента списка L

Вначале работы программа выводит на экран строку "Kol. Elementov L:>", после чего необходимо ввести значение количе-ства элементов, которые будут записываться в список L. Затем происходит считывание этого значения и переменной k присваи-вается значение количества элементов списка L.

Далее организуется цикл для ввода элементов списка L c по-мощью операторов FOR и TO. Начиная с n, принимающего значе-ние единицы до значения k, которое равно числу элементов спи-ска, программа выполняет следующее. С помощью процедуры New резервирует место в памяти ЭВМ под динамическую пере-менную, адрес которой содержит указатель L. Выводит на экран строку, в которой содержится номер элемента списка, который следует вводить. Строка заканчивается символами ":>". После вывода строки программа ждет ввода значения элемента. После ввода значения оно присваивается в поле i динамической пере-менной структуры s, на которую ссылается указатель L. В поле p этой переменной записывается значение nil. Дальше проверяется условие: если n равно 1, что соответствует первому элементу списка, тогда программа присваивает значение указателя L ука-зателям FstL (указатель, содержащий адрес первого элемента списка) и LL (указатель, содержащий адрес последнего элемента списка). То есть указатель FstL будет содержать адрес первого элемента списка. А иначе если n не равно 1, что соответствует второму и последующим элементам списка, программа присваи-вает ссылке последнего элемента списка, на который указывает указатель LL значение указателя L, и указателю LL присваивает адрес указателя L. Элемент, на который ссылается указатель L становится последним в списке. На этом цикл оператора FOR за-вершается. Таким образом происходит заполнение списка значе-ниями.

Далее программа выводит на экран строку "Еlement E:>", по-сле чего необходимо ввести значение элемента Е. Программа счи-тывает это значение и присваивает его переменной Е. Затем про-грамма вставляет элемент Е в список после первого его элемента. Для этого программа с помощью процедуры New резервирует ме-сто в памяти ЭВМ под динамическую переменную, адрес которой содержит указатель L. Затем поле i этого элемента получает зна-чение переменной Е. В ссылку текущего элемента записывается адрес, содержащийся в ссылке первого элемента списка. А ссыл-ка первого элемента списка получает значение нового элемента списка, который имеет адрес, содержащийся в указателе L. Таким образом после первого элемента списка программа вставила еще одни элемент.

Для вывода списка указателю L присваивается адрес первого элемента списка, содержащийся в указателе FstL.

Затем организуется цикл: в то время как L имеет адрес отли-чающийся от значения nil программа делает следующее. Он орга-низуется операторами WHILE и DO. Выводит на экран содержимое поля i динамической переменной структуры s, на которую ссыла-ется указатель L. Далее указателю L присваивается значение, со-держащееся в ссылке p данной динамической переменной. На этом один цикл, организованный операторами WHILE и DO за-вершается. В результате этого цикла будут выведены на экран значения всех элементов списка L.

Далее программа ждет нажатия на клавишу "Enter". Програм-ма завершает работу.

5 РУКОВОДСТВО ОПЕРАТОРА

Программа вставляет новый элемент E после первого элемен-та непустого списка L.

Вначале программа формирует список произвольный список L. Для этого программа выдает на экран строку:

Kol. Elementov L:>

После этого необходимо ввести количество элементов, кото-рые будут заноситься в список и нажать клавишу "Enter". Про-грамма запоминает это значение.

После программа выдает на экран строки, после которых нужно вводить элементы списка начиная с первого и заканчивая последним элементом. Программа вначале выдаст на экран стро-ку:

L1 :>

После этого нужно ввести значение элемента №1 списка и нажать клавишу "Enter".

После этого на экран будет выведена следующая строка:

L2 :>

Соответственно после нее следует ввести значение элемента №2 списка и нажать клавишу "Enter". И так далее программа бу-дет выводить строки, содержащие номер элемента, который сле-дует вводить. Например, если количество элементов, которое вы ввели вначале работы с программой равно 10, то последняя стро-ка будет выглядеть так:

L10 :>

После вывода этой строки следует ввести значение этого эле-мента и нажать клавишу "Enter". Все вводимые значения про-грамма запоминает и формирует список, содержащий все эти зна-чения.

Далее программа выдаст на экран строку:

Element Е:>

После этого следует ввести значение элемента Е и нажать клавишу "Enter". Программа запоминает это значение. Затем про-грамма корректирует список L таким образом: вставляет значение элемента Е после первого элемента списка. Таким образом в спи-ске L появляется еще один элемент. Если вы вводили 10 элемен-тов, то теперь их будет 11.

Далее на экран выводятся все значения скорректированного списка L начиная с первого.

Если вы вводили следующие значения элементов начиная с первого: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 и ввели элемент Е равный 0, то на экране появится следующая строка:

1 0 2 3 4 5 6 7 8 9 10

Далее программа ждет нажатия на клавишу "Enter". После этого программа завершает работу.




Copyright © 2005—2007 «Mark5»