0 / 0 / 0
Регистрация: 03.10.2017
Сообщений: 17
1

Создать очередь, информационными полями которой являются: наименование процессора, тактовая частота и количество ядер

23.12.2017, 19:41. Показов 3532. Ответов 1
Метки нет (Все метки)

Создать очередь, информационными полями которой являются: наимено-
вание процессора и его тактовая частота и количество ядер. Добавить в
очередь сведения о новом процессоре. Организовать просмотр данных
очереди и распечатать данные о многоядерных процессорах (количество
ядер больше 1).
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2017, 19:41
Ответы с готовыми решениями:

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

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

Тактовая частота процессора
Доброго времени суток, хотел посоветоваться со знающими людьми. Ситуация такая у меня процессор AMD...

Тактовая частота процессора.
Здравствуйте! Недавно купил себе новый процессор: DualCore Intel Pentium E6500. По умолчанию...

1
Эксперт Pascal/Delphi
6803 / 4562 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
25.12.2017, 15:19 2
Лучший ответ Сообщение было отмечено kasaevs как решение

Решение

Взято отсюда: Очередь на односвязанном списке. Реализовать основные действия.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
const
  st: array [1..7] of string = ('Intel 486', 'Athlon', 'Pentium', 'Celeron', 'Pentium IV', 'ZX 1024', 'Power PC');
 
type
  processor = record
    nazv: string;
    tch: real;
    yadra: integer;
  end;
  //Указатель на элемент очереди.
  TPElem = ^TElem;
  //Элемент очереди.
  TElem = record
    Data: processor; //Основные данные.
    PNext: TPElem; //Указатель на следующий элемент в очереди.
  end;
  //Очередь.
  TQueue = record
    PFirst, PLast: TPElem; //Указатель на первый и последний элементы очереди.
    Cnt: Integer; //Количество элементов в очереди.
  end;
 
//Инициализация очереди. Внимание! Нельзя выполнять эту процедуру в отношении
//непустой очереди! Иначе, произойдёт утечка памяти.
//Эту процедуру следует выполнять в самом начале программы.
procedure Init(var aQueue: TQueue);
begin
  aQueue.PFirst := nil;
  aQueue.PLast := nil;
  aQueue.Cnt := 0;
end;
 
//Добавление элемента в конец очереди.
procedure QueuePush(var aQueue: TQueue; var aPElem: TPElem);
begin
  if aPElem = nil then Exit;
  
  aPElem^.PNext := nil;
  if aQueue.PFirst = nil then
    aQueue.PFirst := aPElem
  else
    aQueue.PLast^.PNext := aPElem
  ;
  aQueue.PLast := aPElem;
  Inc(aQueue.Cnt);
end;
 
//Изъятие элемента из начала очереди.
function QueuePop(var aQueue: TQueue; var aPElem: TPElem): Boolean;
begin
  QueuePop := False;
  if aQueue.PFirst = nil then Exit;
  
  aPElem := aQueue.PFirst;
  aQueue.PFirst := aPElem^.PNext;
  if aQueue.PFirst = nil then aQueue.PLast := nil;
  Dec(aQueue.Cnt);
  QueuePop := True;
end;
 
//Удаление очереди из памяти (очистка очереди).
procedure QueueFree(var aQueue: TQueue);
var
  PDel: TPElem;
begin
  while QueuePop(aQueue, PDel) do Dispose(PDel);
end;
 
//Распечатка очереди.
procedure QueuePrint(var aQueue: TQueue);
var
  QTmp: TQueue;
  PElem: TPElem;
  i: Integer;
begin
  if aQueue.PFirst = nil then begin
    Writeln('Очередь пуста.');
    Exit;
  end;
  //Начальная инициализация вспомогательной очереди.
  Init(QTmp);
  //Переливаем элементы из исходной очереди во вспомогательную и при этом
  //выполняем распечатку.
  i := 0;
  while QueuePop(aQueue, PElem) do 
  begin
    //Добавление элемента во вспомогательную очередь.
    QueuePush(QTmp, PElem);
    //Распечатка.
    Inc(i);
    if i > 1 then Write(', ');
    Write(PElem^.Data);
  end;
  Writeln;
  
  aQueue := QTmp;
end;
 
const
  //Основа для выбора длины очереди.
  M = 10;
 
var
  Q1, Q2: TQueue;
  PElem: TPElem;
  k, i, j: Integer;
  S: String;
  x: processor;
 
begin
  randomize;
  //Инициализация очередей.
  Init(Q1);
  for i := 1 to 7 do
  begin
    New(PElem);
    PElem^.Data.nazv := st[i];
    PElem^.Data.tch := random(800, 2400);
    PElem^.Data.yadra := random(1, 8);
    //      Добавьте в очередь строки 
    QueuePush(Q1, PElem);
  end;
  Writeln('Составлены очереди:');
  Writeln('Первая очередь. Количество элементов: ', Q1.Cnt, '. Элементы:');
  QueuePrint(Q1);
  for i := 1 to 4 do
    QueuePop(Q1, PElem);
  Writeln('Новая очередь. Количество элементов: ', Q1.Cnt, '. Элементы:');
  QueuePrint(Q1);
  New(PElem);
  PElem^.Data.nazv := 'Duron';
  PElem^.Data.tch := 800;
  PElem^.Data.yadra := 1;
  QueuePush(Q1, PElem);
  Writeln('Еще одна новая очередь. Количество элементов: ', Q1.Cnt, '. Элементы:');
  j := Q1.Cnt;
  writeln(j);
  QueuePrint(Q1);    
  k := 0;
  for i := 1 to j do
  begin
    if PElem^.Data.yadra > 1 then
      inc(k);
    QueuePop(Q1, PElem);      
  end;
  writeln('данные о многоядерных процессорах: ', k);
  QueueFree(Q1);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.12.2017, 15:19
Помогаю со студенческими работами здесь

Падает тактовая частота процессора
Lenovo Y510P. i5 4200m на борту. Буквально сегодня начались проблемки, во время игры спустя...

Тактовая частота процессора меняется или нет?
Всем привет, скажите тактовая частота процессора меняется или нет?

Тактовая частота процессора Power6 достигнет 5 ГГц
Корпорация IBM в следующем году намерена начать поставки новых серверных процессоров Power6. Как...

Упала тактовая частота процессора Athlon 2500+.
Такая проблема... Компьютеру 5 лет, материнка GIGABYTE GA-7N400, процессор nVIDIA nForce2, 1500mb...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru