Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

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


Руководитель практики ______________________________

Отчет по курсовой работе

по предмету «Типы и структуры данных»

на тему «Моделирование абстрактных типов данных (АТД) для различных реализаций»

Вариант

 

Подготовила студентка группы 8К10 Сенина А. А.

Проверил кандидат технических наук Фофанов О. Б.

 

 

Г. Томск, 2013 год

 

Задание: 1. Спроектировать предметную область службы занятости

2. Реализовать процедуры перемещения элементов очереди в двух связанный список и наоборот. Список и очередь реализуется с помощью указателей.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Collections;

using System.Collections.Specialized;

 

namespace ConsoleApplication_Kurs{

 

public class EmploymentService//описание предметной области

{

public string name;

public string education;

public string LastWorkPlace

{

set { name = value; }

get { return name; }

}

 

public string Education

{

set { education = value; }

get { return education; }

}

 

}

 

public class ListNode//класс для описание элементов списка

{

public EmploymentService es;

public ListNode next;

private ListNode privious;

 

private EmploymentService value

{

get {return es;}

set{es=value;}

}

 

public ListNode(EmploymentService es)

{

this.es=es;

}

 

public ListNode(EmploymentService es,ListNode next)

{

this.es=es;

this.next=next;

}

 

public ListNode Next

{

get {return this.next;}

set {this.next=value;}

}

 

public ListNode Privious

{

get {return this.privious;}

set {this.privious=value;}

}

}

 

public class MyQueue: Queue//описание класса очередь

{

public int n;

private ListNode front;

private ListNode back;

 

 

public MyQueue(int N)

{

this.n = N;

}

 

public MyQueue()

{

front = null;

}

 

public bool isEmty()

{

//if (n == 0) return true;

//else return false;

return front == null;

}

 

public EmploymentService Front

{

get { return front.es; }

}

 

 

public void Enqueue(EmploymentService es) //вставить элемент в очередь

{

ListNode node = new ListNode(es);

if (front == null)

{

front = back = node;

}

else

{

node.next = front;

front = node;

node.next.Privious = front;

back = back.next = new ListNode(es);

}

Count++;

}

 

public int Count//размер очереди

{

get { return n; }

set { n = value; }

}

 

public EmploymentService Dequeue()//удаление элемента из очереди

{

if (front == null)

{

throw new InvalidOperationException();

}

else

{

ListNode node = front;

if (front.next!= null)

{

front.Next.Privious = null;

}

front = front.Next;

Count--;

return node.es;

}

 

}

}

 

 

public class LinkedList//описание связного списка

{

private ListNode First;

private ListNode Now;

private ListNode Last;

private UInt32 n;

 

public LinkedList()

{

n = 0;

First = Now = Last;

}

 

public bool isEmpty

{

get { return n == 0; }

}

 

public void InsertFirst(EmploymentService es) //вставить в начало

{

ListNode node = new ListNode(es);

if (First == null)

{

First = Last = node;

}

else

{

node.Next = First;

First = node; //First и newNode указывают на один и тот же объект

node.Next.Privious = First;

}

Count++;

}

 

public ListNode DeleteFirst()//удалить первый элемент

{

if (First == null)

{

throw new InvalidOperationException();

}

else

{

ListNode node = First;

if (First.Next!= null)

{

First.Next.Privious = null;

}

First = First.Next;

Count--;

return node;

}

}

 

public void InsertBack(EmploymentService es) //вставить в конец

{

ListNode node = new ListNode(es);

 

if (Last == null)

{

First = Last = node;

}

else

{

Last.Next = node;

node.Privious = Last;

Last = node;

}

Count++;

}

 

public ListNode DeleteBack()//удалить последний элемент

{

if (Last == null)

{

throw new InvalidOperationException();

}

else

{

ListNode node = Last;

if (Last.Privious!= null)

{

Last.Privious.Next = null;

}

Last = Last.Privious;

Count--;

return node;

}

}

 

public void ClearList()

{

while (!isEmpty)

{

DeleteFirst();

}

}

 

public uint Count

{

get { return n; }

set { n = value; }

}

}

 

public class Transfer//класс, описывающий перенос элементов из одного списка в другой

{

MyQueue q1;

LinkedList l1;

public Transfer(MyQueue q, LinkedList l)

{

this.l1 = l;

this.q1 = q;

}

 

public void TransferL_St_Q(LinkedList l, MyQueue q) //перенос из начала двусвязного списка в очередь

{

int n = 0;

EmploymentService es;

do

{

n++;

es = l.DeleteFirst().es;

q.Enqueue(es);

 

}

while (n <= l.Count);

}

 

public void TransferQ_L_St(MyQueue q, LinkedList l) //перенос элементов из очереди в начало двусвязного списка

{

int n = 0;

EmploymentService es;

while (n < q.Count)

{

es = q.Dequeue();

l.InsertFirst(es);

n++;

}

}

 

public void TransferQ_L_End(MyQueue q, LinkedList l) //перенос элементов из очереди в конец двусвязного списка

{

int n = 0;

EmploymentService es;

while (n < q.Count)

{

es = q.Dequeue();

l.InsertBack(es);

n++;

}

}

 

public void TransferL_End_Q(LinkedList l,MyQueue q) //перенос элементов из конца двусвязного списка в очередь

{

int n = 0;

EmploymentService es;

while (n < l.Count)

{

es = l.DeleteBack().es;

q.Enqueue(es);

n++;

}

}

}

 

class Program

{

static void Main(string[] args)

{

EmploymentService es1 = new EmploymentService();

EmploymentService es2 = new EmploymentService();

EmploymentService es3 = new EmploymentService();

 

MyQueue queue = new MyQueue();

//queue.Enqueue(es);

Console.WriteLine("queue: " + queue.Count);

LinkedList list2 = new LinkedList();

list2.InsertFirst(es1);

list2.InsertFirst(es2);

//list2.InsertFirst(es3);

Console.WriteLine("List2: "+list2.Count);

 

 

Transfer tr = new Transfer(queue, list2);

tr.TransferL_St_Q(list2, queue);

Console.WriteLine("List2: " + list2.Count + " queue: " + queue.Count);

Console.ReadLine();

 

tr.TransferQ_L_St(queue, list2);

Console.WriteLine("List2: " + list2.Count + " queue: " + queue.Count);

Console.ReadLine();

 

tr.TransferL_End_Q(list2,queue);

Console.WriteLine("List2: " + list2.Count + " queue: " + queue.Count);

Console.ReadLine();

 

tr.TransferQ_L_End(queue, list2);

Console.WriteLine("List2: " + list2.Count + " queue: " + queue.Count);

Console.ReadLine();

}

}

}

 

 

Рис. 1. Результат многократного переноса элементов из одного списка в другой.

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

Вид профессиональной деятельности Место проведения практики Кол-во часов Количество манипуляций, пациентов и т.д. Формируемые навыки и умения Уровень освоения*
  Например: Курация больных (по нозологиям)          
1.1 и т.д.            
  Диагностические манипуляции          
2.1 и т.д            
  Лечебные манипуляции          
3.1 и т.д            
  Операции          
4.1            
  Дежурства          
  ………………          

Пояснение: * – уровни освоения навыков и умений: 1 – знать показания к применению, профессионально ориентироваться, 2 – оценить, принять участие, 3 – выполнять самостоятельно.

 




<== предыдущая лекция | следующая лекция ==>
ГОСТ Р 53587-2009 Колбасы Копченые из конины. Технические условия; | Отчет по лабораторной работе №7

Дата добавления: 2015-06-16; просмотров: 405. Нарушение авторских прав; Мы поможем в написании вашей работы!




Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Влияние первой русской революции 1905-1907 гг. на Казахстан. Революция в России (1905-1907 гг.), дала первый толчок политическому пробуждению трудящихся Казахстана, развитию национально-освободительного рабочего движения против гнета. В Казахстане, находившемся далеко от политических центров Российской империи...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Studopedia.info - Студопедия - 2014-2025 год . (0.014 сек.) русская версия | украинская версия