М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Alinka2i3
Alinka2i3
05.09.2021 14:46 •  Информатика

переделать программу на Паскале Разработать программу, реализующую следующий набор операций с двоичными деревьями поиска:
1. поиск вершины с заданным значением ключа с выводом счетчика появлений данного ключа.
2. добавление новой вершины в соответствии со значением ее ключа или увеличение счетчика числа появлений.
3. построчный вывод дерева в наглядном виде с обратно-симметричного обхода.
Все действия оформляются как подпрограммы.
TYPE
pNode = ^dNode;
dNode = RECORD
Inf: INTEGER;
Left,Right: pNode
END;
pStack = ^Item;
Item = RECORD
Inf: pNode;
next: pStack;
END;
VAR
Count, N, Num: INTEGER;
pRoot : pNode;

PROCEDURE Privetstvie();
BEGIN
WRITELN('Выберите действие:');
WRITELN('1-Построить дерево');
WRITELN('2-Обход в прямом направлении');
WRITELN('3-Обход в симметричном направлении');
WRITELN('4-Обход в обратно-симметричном направлении');
WRITELN('5-Итеративный Обход в симметричном направлении');
WRITELN('0-Выхода');
END;

PROCEDURE ShowOnward(VAR pCur: pNode; L: INTEGER);
BEGIN
IF pCur <> NIL
THEN
BEGIN
WRITELN('':4*L, pCur^.Inf);
ShowOnward(pCur^.Left, l+1);
ShowOnward(pCur^.Right, l+1)
END
END;

PROCEDURE ShowSymmetric(VAR pCur: pNode; L: INTEGER);
BEGIN
IF pCur <> NIL
THEN
BEGIN
ShowSymmetric(pCur^.Left, l+1);
WRITELN('':4*L, pCur^.Inf);
ShowSymmetric(pCur^.Right, l+1)
END
END;

PROCEDURE ShowBackSymmetric(VAR pCur: pNode; L: INTEGER);
BEGIN
IF pCur <> NIL
THEN
BEGIN
ShowBackSymmetric(pCur^.Right, L+1);
WRITELN('':4*L, pCur^.Inf);
ShowBackSymmetric(pCur^.Left, L+1)
END
END;

PROCEDURE Push(var s : pStack; Value : pNode);
var p : pStack;
BEGIN
NEW(p);
p^.next := s;
p^.Inf := Value;
s := p;
END;

PROCEDURE Pop(var s : pStack; var Value : pNode);
VAR
p : pStack;
BEGIN
IF s = NIL
THEN
Value := NIL
ELSE
BEGIN
Value := s^.Inf;
p := s;
s := s^.next;
DISPOSE(p);
END;
END;

PROCEDURE IterativeSymmetric(pCur: pNode);
VAR
s : pStack;
BEGIN
s := NIL;
REPEAT
WHILE pCur<> NIL
DO
BEGIN
Push(s, pCur);
pCur := pCur^.Left;
END;
IF s <> NIL
THEN
BEGIN
Pop(s, pCur);
WRITELN(pCur^.Inf);
pCur := pCur^.Right;
END;
UNTIL (s = NIL) AND (pCur = NIL);
END;

PROCEDURE ClearTree(pCur: pNode);
BEGIN
IF pCur <> NIL
THEN
BEGIN
ClearTree(pCur^.Left);
ClearTree(pCur^.Right);
DISPOSE(pCur);
Count := Count - 1;
IF Count = 0
THEN
pCur := NIL
END
END;

PROCEDURE CreateNode(var p : pNode; Data : INTEGER);
BEGIN
NEW(p);
p^.Inf := Data;
p^.Left := NIL;
p^.Right := NIL
END;

FUNCTION AddNode(var Root : pNode; Data : INTEGER) : BOOLEAN;
BEGIN
Result := TRUE;
IF Root = NIL
THEN
CreateNode(Root, Data)
ELSE
IF Root^.Inf < Data
THEN Result := AddNode(Root^.Right, Data)
ELSE
IF Root^.Inf > Data
THEN
Result := AddNode(Root^.Left, Data)
ELSE
Result := FALSE
END;

PROCEDURE AddNodes(VAR pCur: pNode; Count: INTEGER);
VAR
i, n : Integer;
BEGIN
RANDOMIZE;
FOR i := 1 TO Count
DO
REPEAT
n := Random(99);
UNTIL AddNode(pCur, n)
END;

BEGIN
pRoot := NIL;
Count := 0;
N := 6;
WHILE N <> 0
DO
BEGIN
Privetstvie();
READLN(N);
CASE N OF
0: BEGIN WRITELN('Удачи!До новых встреч.'); BREAK END;
1: BEGIN WRITELN('Число вершин дерева = '); READLN(Num); ClearTree(pRoot);
AddNodes(pRoot, Num); WRITELN('Дерево Создано') END;
2: IF pRoot <> NIL
THEN
ShowOnward(pRoot, 0)
ELSE
WRITELN('Дерево пустое');
3: IF pRoot <> NIL
THEN
ShowSymmetric(pRoot,0)
ELSE
WRITELN('Дерево пустое');
4: IF pRoot <> NIL
THEN
ShowBackSymmetric(pRoot, 0)
ELSE
WRITELN('Дерево пустое');
5: IF pRoot <> NIL
THEN
IterativeSymmetric(pRoot)
ELSE
WRITELN('Дерево пустое');
ELSE BEGIN WRITELN('Введенные данные неверны,повторите ввод'); N := 6 END
END
END
END.

👇
Открыть все ответы
Ответ:
sonya19970
sonya19970
05.09.2021

1.    На Рабочем столе размещаются небольшие картинки — значки и ярлыки объектов (ярлык — это картинка с небольшой стрелочкой в нижнем левом углу). Они обеспечивают быстрый доступ к объектам — различным устройствам и программам компьютера, а также текстам, рисункам и другим документам, созданным с компьютерных программ.
Значок Мой компьютер обеспечивает доступ к различным устройствам компьютера. В Корзину отправляется «мусор» — всё то, что уже не нужно хранить в памяти компьютера. А значок Мои документы быстро найти созданные вами рисунки и другие документы. Если ваш компьютер связан с другими компьютерами, то на Рабочем столе обязательно присутствует значок Сетевое окружение.

4,5(77 оценок)
Ответ:
ГульнараС
ГульнараС
05.09.2021
Программы, составляющие ПО, можно разделить на три группы: системное ПО, системы программирования, прикладное ПО. Ядром системного ПО является операционная система (ОС).

ОС - это неотъемлемая часть ПО, управляющая техническими средствами компьютера (hardware).. Операционная система - это программа, координирующая действия вычислительной машины; под ее управлением осуществляется выполнение программ.

для чего нужна :
Основные функции операционной системы:

1. Обмен данными между компьютером и различными периферийными устройствами (терминалами, принтерами, гибкими дисками, жесткими дисками и т.д.). Такой обмен данными называется "ввод/вывод данных".

2. Обеспечение системы организации и хранения файлов.

3. Загрузка программ в память и обеспечение их выполнения.

4. Организация диалога с пользователем.
как называется устан ОС в школе
в основном Windows 7 , на 2 компьютерах Windows 8 , а на моем- Windows 10.
. Прикладные программы - это:
программы, предназначенные для решения конкретных задач.
С драйверов.
Значки этот компьютер, Корзина остальные настраиваются пользователем.
Значок на Рабочем столе — это элемент Рабочего стола, представляющий объект (программу, документ) напрямую.
Курсор, Кнопка значок иконка список дерево метка меню окно панель вкладка панель управления всплывающая подсказка
4,5(1 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ