Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М.



Скачать 31.21 Kb.
Дата31.08.2013
Размер31.21 Kb.
ТипЛабораторная работа
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

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

Инженерный факультет
Кафедра информационных систем и технологий

Основы алгоритмизации и программирования
Лабораторная работа №4

Вариант 8

Группа ИСТ-11


Проверил:

Раковцы Г.М.

Подготовил:

Студент 1-го курса

Группы ИСТ-11

Кицун В.В.

Барановичи 2012





ЛАБОРАТОРНАЯ РАБОТА 4



ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ. ЛИНЕЙНЫЕ СПИСКИ

Цель работы: изучить основные способы создания и обработки линейных списков.

Задание
Используя готовые программные решения организовать работу с двунаправленным списком. Предусмотреть меню, позволяющее выполнять основные операции со списком: добавление и удаление элементов списка (в начало списка, и справа от указанного элемента), очистка списка, просмотр списка. Предусмотреть выполнение задания согласно своему варианту.

  1. Найти сумму положительных элементов списка.


Код программы:
unit Unit1;
interface
uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids;
type

BT=LongInt;

U=^Zveno;

Zveno=record

Inf: BT;

N,P: U;

end;

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

StringGrid1: TStringGrid;

Button6: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

vsp,first,last:u;

Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);

var str:string;

begin

repeat

str:=InputBox('Ввод элемента','Введите элемент:','');

until str<>'';

New(Vsp);

Vsp^.Inf := StrToInt(str);

Vsp^.N := First;

Vsp^.p := nil;

First := Vsp;

last:=first;

end;


procedure TForm1.
Button2Click(Sender: TObject);

var str,n:string; vsp1:u; i:integer;

begin

repeat

str:=InputBox('Ввод элемента','Введите элемент:','');

until str<>'';

n:=InputBox('Ввод позиции','Введите номер:','');

New(Vsp1);new(vsp);

vsp1:=first;

for i:=1 to strtoint(n) do begin

last:=vsp1;

vsp1:=vsp1^.N;

end;

Vsp^.Inf := StrToInt(str);

vsp^.P:=last;

last^.N:=vsp;

if vsp1=nil then vsp^.N:=nil else begin

vsp1^.P:=vsp;

vsp^.N:=vsp1;

end;

end;


procedure TForm1.Button3Click(Sender: TObject);

var s:string; d:boolean; i:integer;

begin

repeat

s:=InputBox('Удаление элемента','Номер удаляемого элемента','');

until s<>'';

d:=false;

i:=1; //счётчик

vsp:=first;

Last:=nil;

While (not d) and (vsp<>Nil) Do

Begin

If StrToInt(s)=i Then

Begin

If last=nil

Then first:=vsp^.n

else

begin

last^.n := vsp^.n;

vsp.p:=last;

end;

d:=True;

Dispose(vsp);

end

else begin

vsp.p:=last;

last:=vsp;

vsp:=vsp^.n;

end;

inc(i);

End;

end;
procedure TForm1.Button4Click(Sender: TObject);

begin

while first.N<>nil do begin

Vsp := first;

first:=vsp^.N;

Dispose(Vsp);

end;

vsp:=first;

Dispose(vsp);

first:=nil; last:=nil;

end;
procedure TForm1.Button5Click(Sender: TObject);

var i:integer;

begin

StringGrid1.RowCount:=1;

StringGrid1.Cells[0,0]:='';

StringGrid1.Cells[1,0]:='';

Vsp := First; i:=0;

While Vsp <> Nil Do

Begin

i:=i+1;

StringGrid1.RowCount:=i;

StringGrid1.Cells[1,i-1]:=IntToStr(Vsp^.Inf);

StringGrid1.Cells[0,i-1]:=IntToStr(i);

Vsp := Vsp^.N
End;
end;

procedure TForm1.Button6Click(Sender: TObject);

var sr: real; v:integer;

begin

vsp:=first; v:=0;

while vsp <> nil do

begin

if vsp^.inf>0 then

v:=v+vsp^.inf;

vsp:= vsp^.N;

end;

MessageDlg('Сумма положительных элементов списка - '+floattostrf(v,ffFixed,6,4),mtInformation,[mbOK],0);

end;
end.



Вывод: изучили основные способы создания и обработки линейных списков.

Похожие:

Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №1 по курсу "тау" Вариант №2 Руководитель Ванеева Л. А. Студент Горшков И. А. Группа р-380102

Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №5 «Ориентирование линий и топографических карт» Вариант 11 Проверил:
Ориентировать карту с помощью буссоли с использованием истинного меридиана карты и использованием осевого меридиана карты
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №2 По курсу "Методы вычисления" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю
Написать программу, реализующую численное интегрирование функции одной переменной методом (одним из трех по вариантам) левых прямоугольников,...
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №Х " " студент гр. Вм(РМ)-хх фамилия И. О. Проверил

Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconИсторический факультет
Редакционная коллегия: д-р ист наук В. П. Зиновьев, канд ист наук А. В. Литвинов (отв ред.), д-р ист наук Н. С. Ларьков, д-р ист...
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №1 Работа в Oracle Database Express Edition 1 Лабораторная работа №6
Лабораторная работа Выполнение расчетов с использованием программирования в среде Visual Basic for Applications
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа 3 Управление транзакциями. Журнализация изменений бд студент гр. 1Спо-21 Лебедев М. К. Проверил
Исследовать работу с одной бд средствами субд access. Изучить, каким образом осуществляется незаметная для пользователей работа для...
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №1 Проверил Работу
Изучить и вычертить схему построения ггс в соответствии с основными положениями 1954-1961 гг. На схеме показать фрагменты
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconЛабораторная работа №5 «Фильтрация цифровых сигналов» Проверил: Шапин А. Г. Новосибирск, 2011 Часть 1 Обязательная
Исходя из настроек блоков, определите частоту (не путать с периодом!!!) синусоидального сигнала
Лабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М. iconКонтрольная работа №2 вариант 4 студентка 4 курса Уханова С. А. Проверил: пенза, 2002
Направленность и степень этих изменений таковы, что самим человеком им дано название экологического кризиса
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org