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

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

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

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

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

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

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

Вариант

 

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



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

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

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Искусство подбора персонала. Как оценить человека за час Искусство подбора персонала. Как оценить человека за час...

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

Роль органов чувств в ориентировке слепых Процесс ориентации протекает на основе совместной, интегративной деятельности сохранных анализаторов, каждый из которых при определенных объективных условиях может выступать как ведущий...

Лечебно-охранительный режим, его элементы и значение.   Терапевтическое воздействие на пациента подразумевает не только использование всех видов лечения, но и применение лечебно-охранительного режима – соблюдение условий поведения, способствующих выздоровлению...

Тема: Кинематика поступательного и вращательного движения. 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью, проекция которой изменяется со временем 1. Твердое тело начинает вращаться вокруг оси Z с угловой скоростью...

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