Показать сообщение отдельно
  (#1 (permalink)) Старый
LexX2005
Guest
 
Сообщений: n/a
По умолчанию Паскаль. Срочно. - 28.11.2005, 22:11

Доброго времени суток.
Возможно, кто-нибудь сможет мне помочь.
Есть 4 задачи, нужно сделать в кратчайшие сроки (вообще-то завтра сдавать, но можно еще в течении 2 дней).

Задача 1.
Разработать программу, выдающую двоичное представление значений заданных структур данных (СД): real, integer и перечисляемый типы. В программе использовать процедуры PrintByte и PrintVar.
Спецификация процедуры PrintByte: выводит на экран двоичное значение представление переменной а типа byte. Использует битовые операции сдвига и логического умножения.
Спецификация процедуры PrintVar: выводит на экран двоичное представление переменной а произвольного типа размером size байт. Нетипизированная переменная а приводится к типу "массив байт", значение каждого элемента которого выводится на экран в двоичном представлении.
Разработать программу, определяющую значение переменной по её двоичному значению.

Задача 2.
Программно реализовать методы сортировки: вставками, выбором, обменом, Шелла, Хоара, пирамидальная. Реализовать средство для проведения экспериментов по определению временных характеристик алгоритмов сортировки.
Провести эксперименты по определению временных характеристик алгоритмов. Результаты занести в однородные таблицы для 1.упорядоченного массива 2.массива, упорядоченного в обратном порядке 3.неупорядоченного массва
сортировка/ кол-во элементов в массиве
5 10 15 20 25 30 35 40 45
вставками
выбором
обменом
Шелла
Хоара
пирамидальная
Построить график зависимости количества операций сравнения от кол-ва элементов. Определить аналитическое выражение функции зависимости количества операций сравнения от количества элементов массива.
Определить порядок функций временной сложности алгоритмов сортировки при сортировке различного рода массивов.

Задача 3.
Программно реализовать алгоритмы поиска: в неупорядоченном массиве(линейный, быстрый линейный), в упорядоченном массиве(быстрый линейный, бинарный, блочный). Реализовать средство для проведения экспериментов по определению их временных характеристик. Провести эксперименты и занести результаты в аналогичные таблицы: максимальное кол-во операций сравнения, среднее кол-во операций сравнения.
Алгоритм/ количество элементов в массиве
50 100 150 200 250 300 350 400 450
1.а
1.б
2.а
2.б
2.в

Задача 4.
Реализовать модуль и программу на его основе.
Модуль:
ОЛС в динамической памяти (базовый тип - pointer). Выделение памяти под информационную часть элемента ОЛС и запись в неё значения выполняется до обращения к процедуре PutList. При выполнении процедуры GetList память информационной части элемента не освобождается и её адрес является выходным параметром.
Код:
Unit List1;
Interface
const    ListOk=0;
    ListNotMem=1;
    ListUnder=2;
    ListEnd=3;
type    BaseType=pointer;
    PtrEl=^Element;
    Element=record    
  data:BaseType;
  next:PtrEl;
  End;
    List=record
  start,Ptr:PyrEl;
  N:word
  End;
var    ListError:0..3;
Procedure InitList(var L:List);      -инициация линейного списка
Procedure PutList(var L:List; E:BaseType);    -включение элемента в список
Procedure GetList(var L:List; E:BaseType);    -исключение элемента из списка
Procedure ReadList(var L:List; E:BaseType);    -чтение элемента списка
Function FullList(var L:List):boolean;  -является ли список свободным
Function EndList(var L:List):boolean;  -проверка, является ли элемент последним
Function Count(var L:List):word;  -возвращает количество элементов в списке
Procedure BeginPtr(var L:List);      -установка в начало списка
Procedure EndPtr(var L:List);      -установка в конец списка
Procedure MovePtr(var L:List);      -переход к следующему элементу
Procedure MoveTo(var L:List; N:word);  -переход к n-му элементу
Procedure DoneList(var L:List);      -удаление списка
Procedure CopyList(var L1,L2:List);  -копирование списка L1 в список L2
Задача:
Многочлен P(x)=AnX^n+...+A0 с целыми коэффициентами можно представить в виде списка, причем если Ai=0, то соответствующее звено не включать в список. Определить логическую функцию РАВНО(q,p), проверяющие на равенство многочлены p и q.
Ads