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

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

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

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

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

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

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

Вариант

 

Подготовила студентка группы 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; просмотров: 388. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Методика обучения письму и письменной речи на иностранном языке в средней школе. Различают письмо и письменную речь. Письмо – объект овладения графической и орфографической системами иностранного языка для фиксации языкового и речевого материала...

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