37807

Вказівники

Лабораторная работа

Информатика, кибернетика и программирование

Мета: навчитися програмувати з використанням вказівників та динамічних змінних, створювати та опрацьовувати черги та стеки.

Украинкский

2013-09-25

2.14 MB

1 чел.

3

Міністерство освіти і науки України

Хмельницький національний університет

Кафедра системного програмування

Лабораторна робота №1

з програмування

на тему:

«Вказівники»

Виконав:

Студент групи КІ-10-1

Ноль М.Г.

Перевірив:

Мостовий С.В.

Хмельницький

2011

Лабораторна робота №1

Тема: вказівники.

Мета: навчитися програмувати з використанням вказівників та динамічних змінних,  створювати та опрацьовувати черги та стеки.

Завдання

Дано число D і «покажчики» P1 й P2 на початок і кінець черги (якщо черга порожня, то P1=P2=nil). Записати елемент зі значенням  D у кінець черги та вивести нові адреси початку і кінця черги.

uses crt;

type vkaz=^cherga;

       cherga=record

           num:integer;

           next:vkaz

           end;

procedure add(var a:vkaz);

   var temp:vkaz;

   begin

   new(temp);

   temp^.next:=a;

   temp^.num:=random(100);

   a:=temp;

   end;

procedure addnew(var a:vkaz; D:integer);

   var temp:vkaz;

   begin

   new(temp);

   temp^.next:=a;

   temp^.num:=D;

   a:=temp;

   end;

function tail(a:vkaz):vkaz;

   begin

   while a<>nil do

       begin

       tail:=a;

       a:=a^.next;

       end;

   end;

procedure create(var a,p1,p2:vkaz; var n:integer);

   var i:integer;

   begin

   write('vvedit kilkist chysel: ');

   readln(n);

   if n<>0 then

       begin

       for i:=1 to n do

           begin

           add(a); write(a^.num,' ');

           if i=1 then p1:=a;

           a:=a^.next;

           end;

        p2:=tail(a);

       writeln;

       writeln('pochatok: ',seg(p1^),ofs(p1^));

       writeln('kinets: ',seg(p2^),ofs(p2^));

       end

       else writeln('pochatok i kinets = NIL');

   end;

procedure newP(var a,p1,p2:vkaz; n:integer);

    begin

    if n=0 then p1:=a;

    p2:=tail(a);

    writeln('pochatok: ',seg(p1^),ofs(p1^));

    writeln('kinets: ',seg(p2^),ofs(p2^));

    end;

procedure free(var a:vkaz; p1:vkaz);

    var temp:vkaz;

    begin  a:=p1;

    while a<>nil do

        begin

       temp:=a;

       a:=a^.next;

       dispose(temp);

       end;

    end;

   var el,p1,p2:vkaz; n,d:integer;

begin clrscr; randomize;

create(el,p1,p2,n);

write('vvedit chyslo D: ');  readln(d);

addnew(el,d);

newP(el,p1,p2,n);

free(el,p1);

repeat until keypressed

end.

Висновок.  Виконавши лабораторну роботу, я навчився працювати з вказівниками та динамічними змінними, створювати черги та додавати нові елементи, виділяти пам'ять для динамічних змінних та звільняти її, а також виводити адреси початку та кінця черги.


 

А также другие работы, которые могут Вас заинтересовать

65122. Медные джучидские монеты XV века 70 KB
  Особенностью этих пулов является форма начертания слова чекан. Тем же резчиком очевидно делались и штемпеля для чеканки аверса пулов с изображением утки в картуше. Опираясь на фактурные признаки не характерные для пулов предыдущего периода.
65123. ПО ПОВОДУ ОДНОГО «ОТКРЫТИЯ» В ДЖУЧИДСКОЙ НУМИЗМАТИКЕ 38 KB
  На основании этих данных усугубленных грамматически ошибочным чтением строки 2 в первом издании во втором; перевод не соответствует ни тому ни другому: Да будет счастлив этот год Лебедев выстраивает следующую логическую цепочку...
65124. СТАРЫЙ И НОВЫЙ САРАЙ - СТОЛИЦА ЗОЛОТОЙ ОРДЫ 61 KB
  В археологической и исторической литературе последнего столетия посвященной проблемам истории Золотой Орды и государств соприкасавшихся с ней указываются обычно две столицы Сарай и Новый Сарай. Арабский писатель Эломари ал Омари рассказывая о делах в Улусе Джучиевом приводит два описания города Сарая...
65125. ДЖУЧИДСКИЕ МОНЕТЫ В КОНТЕКСТЕ ТЮРКСКОЙ И МУСУЛЬМАНСКОЙ КУЛЬТУР 69.5 KB
  Воины Чингизхана конем и мечём перекраивали карту континента. Кроме этого полновесные из хорошего серебра монеты должны были помочь ханам Золотой Орды в политике протекции торговле и привлечении иностранных купцов на рынки восстановленных и новопостроенных городов.
65126. О ПРАВЛЕНИИ ХАНОВ В КРЫМУ В 1419 - 1422 ГОДАХ ПО НУМИЗМАТИЧЕСКИМ ДАННЫМ 89.5 KB
  Хромов Весной 2001 года в районе поселка Коктебель АР Крым был найден комплекс золотоордынских монет первой четверти XV века. Общая численность хорошо определяемых монет большей части комплекса составила около 600 экземпляров.
65127. Об одной группе медных подражаний джучидским деньгам из Николаевской области (Украина) 206 KB
  Одним из таких районов является район нижнего Побужья вместе с выпуском подражаний медной монете Сарая ал Джедид с цветочным орнаментом выпуск нескольких серий медных монет с высокой точностью имитирующих серебряные денги Сарая ал Джедид с именами ханов Бердибека фото...
65128. Перечеканка привозных монет в Крымском улусе в XIII веке 140 KB
  Кроме того это позволяет дать в последующем ответы на некоторые вопросы метрологии – ведь вес и проба серебра в монете-заготовке должны были соответствовать установленным в Крымском Улусе нормам следовательно на определенном этапе Крым начал использовать для своей монеты общепринятую в регионе весовую норму.
65130. Уточнение датировки крымского дирхема токты 704 г. Нумизматика и Фалеристика 60 KB
  При разборке новых поступлений в собственную коллекцию а также при осмотре монет из коллекций моих друзей приходится постоянно уточнять выпускные сведения некоторых монет. Причиной неудовлетворительного состояния в правильной атрибуции крымских монет Золотой Орды...