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.

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


 

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

6532. Проектирование таблиц с помощью языка SQL проектирование и модификация таблиц с использованием языка SQL 106.5 KB
  Проектирование таблиц с помощью языка SQL проектирование и модификация таблиц с использованием языка SQL Предполагает освоение следующих вопросов: Назначение языка SQL. Классификация команд языка SQL. Язык SQL (Structured Query...
6533. Медицинская профилактика основной популяционной патологии: остеопороза, анемии 156.5 KB
  Тема Медицинская профилактика основной популяционной патологии: остеопороза, анемии. Форма организации учебного процесса - практическое занятие. Значение темы. Профилактическая работа, направленная на предупреждение развития таких знач...
6534. Водное занятие. Понятие о здоровье в целом. Факторы риска основных хронических неинфекционных заболеваний 75.19 KB
  Тема Водное занятие. Понятие о здоровье в целом. Факторы риска основных хронических неинфекционных заболеваний Форма организации учебного процесса - практическое занятие. Значение темы. Здоровье населения и каждого человека в отдельности...
6535. Кримінальне процесуальне законодавство України та сфера його дії 185 KB
  Кримінальне процесуальне законодавство України та сфера його дії Загальна частина Теоретичний матеріал Поняття і сутність кримінального процесу України. Історичні форми кримінального процесу. Стадії кримінальної процесуальної діяльності. Порядок кри...
6536. Связь ACCESS С WORD И EXCEL. Создание писем, конвертов и наклеек 102.5 KB
  Связь ACCESS С WORD И EXCEL. Создание писем, конвертов и наклеек Предполагаем освоение следующих вопросов: Взаимодействие базы данных Access с текстовым процессором Word: создание писем, почтовых конвертов и наклеек посредством слияния базы да...
6537. Первая помощь при отравлениях АОХВ и синтетическими ядами 352.5 KB
  Первая помощь при отравлениях АОХВ и синтетическими ядами. УЧЕБНЫЕ ВОПРОСЫ: ОТРАВЛЕНИЯ. ОСНОВНЫЕ ВИДЫ ОТРАВЛЕНИЙ. ОБЩИЙ АЛГОРИТМ ДЕЙСТВИЯ ПРИ ОТРАВЛЕНИИ. ОТРАВЛЕНИЕ ЯДОВИТЫМИ ВЕЩЕСТВАМИ, ПОПАВШИМИ В ОРГАНИЗМ ЧЕРЕЗ КОЖНЫЕ ПОКРОВЫ. ОТРАВЛЕНИЕ...
6538. Предмет і задачі біохімії. Ферменти: хімічна природа, структура і фізико-хімічні властивості 45 KB
  Предмет і задачі біохімії. Ферменти: хімічна природа, структура і фізико-хімічні властивості Актуальність теми: Біологічна хімія - фундаментальна біомедична наука, яка вивчає хімічний склад живих організмів, хімічні перетворення, що лежать в...
6539. Генетика популяций, задачи с решением 405.5 KB
  Генетика популяций Решение типовых задач Задача В южноамериканских джунглях живет популяция аборигенов численностью 127 человек (включая детей). Частота группы крови М составляет здесь 64%. Можно ли вычислить частоты группы крови N и MN в этой по...
6540. Генетика: сборник задач с решениями 660 KB
  Закономерности менделевского наследования признаков В данной работе так же представлены задачи по генетике с решением для студентов и всех интересующихся подобными задачами/ Объектом исследования Менделя был горох посевной – Pisum sativum. Выбор объекта был чрезвычайно удачным