Вказівники

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Хмельницький національний університет Кафедра системного програмування Лабораторна робота №1 з програмування на тему: «Вказівники» Лабораторна робота №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. // Висновок. Виконавши лабораторну роботу, я навчився працювати з вказівниками та динамічними змінними, створювати черги та додавати нові елементи, виділяти пам'ять для динамічних змінних та звільняти її, а також виводити адреси початку та кінця черги.
Антиботан аватар за замовчуванням

28.03.2013 22:03-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!