Государственный экзамен по информатике. Горбенко О.Д - 7 стр.

UptoLike

Так
ое тестирование следует выполнить до сдачи задания с тем ,
чтобы вовремя внести в программу необходимую корректировку.
Порядок проведения экзамена: на выполнение задания отводится
два академических часа; рекомендуется один час отвести на
разработку проекта и кодирование программы на языке
программирования (на бумаге) и один час - на отладку и тестирование
программы .
Среды программирования - Turbo-Pascal, Borland-Pascal, Turbo-C,
Delphi 2.0;
операционные среды - MS-DOS, Windows 3.11, WindowsNT.
Положительно могут быть оценены только те программы , которые
полностью прошли этапы проектирования , отладки и тестирования и
не содержат очевидных ошибок.
Невыполнение любого из указанных в п.п. 1 - 5 требований может
служить основанием для снижения оценки. Так , например,
использование массива в качестве абстрактной структуры для
представления содержимого текстового файла (см . п.3)
свидетельствует о нерациональном использовании памяти и является
основанием для снижения оценки.
1.3. Типология заданий
А . Обработка файлов последовательного доступа:
- создание файла;
- поиск (замена, преобразование , удаление) записи по заданному
признаку;
- замена (преобразование ) полей записей файла;
- копирование файлов с частичным преобразованием записей;
- сортировка записей по заданному ключу или признаку .
В . Обработка текстовых файлов :
- создание файла;
- преобразование строки литер в число (числа в строку литер);
- поиск (замена, преобразование , удаление) строки по заданному
признаку;
- поиск (замена, преобразование, удаление) слов по заданному
признаку;
- поиск (замена, преобразование, удаление ) литер по заданному
признаку;
- замена (преобразование) литер с сохранением строчной структуры
j:=i
-
1;
{запоминаем значение вставляемого элемента}
Elem:=A[i];
{поиск места, на котором должен находиться i-ый элемент}
while (j>0) and (A[j]^.Key>Elem^.Key) do
begin
{если элемент A[j] больше чем Elem, то он будет расположен
правее чем сейчас ; элемент A[j] подвигается вправо и сравнение
продолжается }
A[j+1]:=A[j];
j:=j-1;
end;
{после выхода из цикла место элемента найдено: (j+1)}
A[j+1]:=Elem;
end;
end;
Бинарные вставки
Пусть на i-ом шаге последовательность из i-
массива упорядочена. Добавление i-го элемента в эту
последовательность производится упорядоченно : ищется место для
нового элемента методом бина
рного поиска; элементы , которые
должны стоять за i-
ым элементом сдвигаются вправо, и новый элемент
становится на свое место .
procedure Bynary_Insert (var A : tArray);
var Place,i,j:integer;
Elem:PtrElem;
{нерекурсивная процедура поиска места для элемента Elem,
left и right левая и правая граница уже отсортированного отрезка}
Function FindPlace (left,right:Integer;Elem:PtrElem):integer;
var middle:Integer;
begin
repeat
{выбираем средний элемент из отрезка}
middle:=(Left+Right) div 2;
{сравниваем со средним элементом элемент, который надо
вставить}
if A[middle]^.Key>Elem^.Key then
7 42
       j:=i-1;                                                          Такое тестирование следует выполнить до сдачи задания с тем,
     {запоминаем значение вставляемого элемента}                      чтобы вовремя внести в программу необходимую корректировку.
     Elem:=A[i];
     {поиск места, на котором должен находиться i-ый элемент}           Порядок проведения экзамена: на выполнение задания отводится
     while (j>0) and (A[j]^.Key>Elem^.Key) do                         два академических часа; рекомендуется один час отвести на
         begin                                                        разработку проекта и кодирование программы на языке
         {если элемент A[j] больше чем Elem, то он будет расположен   программирования (на бумаге) и один час - на отладку и тестирование
правее чем сейчас; элемент A[j] подвигается вправо и      сравнение   программы.
продолжается}                                                           Среды программирования - Turbo-Pascal, Borland-Pascal, Turbo-C,
         A[j+1]:=A[j];                                                Delphi 2.0;
         j:=j-1;                                                      операционные среды - MS-DOS, Windows 3.11, WindowsNT.
         end;                                                           Положительно могут быть оценены только те программы, которые
     {после выхода из цикла место элемента найдено: (j+1)}            полностью прошли этапы проектирования, отладки и тестирования и
     A[j+1]:=Elem;                                                    не содержат очевидных ошибок.
     end;                                                               Невыполнение любого из указанных в п.п. 1 - 5 требований может
end;                                                                  служить основанием для снижения оценки. Так, например,
                                                                      использование массива в качестве абстрактной структуры для
   Бинарные вставки                                                   представления    содержимого     текстового    файла     (см.   п.3)
                                                                      свидетельствует о нерациональном использовании памяти и является
  Пусть на i-ом шаге последовательность из i-1 первых элементов       основанием для снижения оценки.
массива    упорядочена. Добавление      i-го элемента      в эту
последовательность производится упорядоченно: ищется место для
нового элемента методом бинарного поиска; элементы, которые                                 1.3. Типология заданий
должны стоять за i-ым элементом сдвигаются вправо, и новый элемент
становится на свое место.                                             А. Обработка файлов последовательного доступа:
                                                                      - создание файла;
procedure Bynary_Insert (var A : tArray);                             - поиск (замена, преобразование, удаление) записи по заданному
   var Place,i,j:integer;                                             признаку;
        Elem:PtrElem;                                                 - замена (преобразование) полей записей файла;
                                                                      - копирование файлов с частичным преобразованием записей;
{нерекурсивная процедура поиска места для элемента Elem,              - сортировка записей по заданному ключу или признаку.
left и right – левая и правая граница уже отсортированного отрезка}   В. Обработка текстовых файлов:
Function FindPlace (left,right:Integer;Elem:PtrElem):integer;         - создание файла;
    var middle:Integer;                                               - преобразование строки литер в число (числа в строку литер);
begin                                                                 - поиск (замена, преобразование, удаление) строки по заданному
    repeat                                                            признаку;
    {выбираем средний элемент из отрезка}                             - поиск (замена, преобразование, удаление) слов по заданному
        middle:=(Left+Right) div 2;                                   признаку;
    {сравниваем со средним элементом элемент, который надо            - поиск (замена, преобразование, удаление) литер по заданному
вставить}                                                             признаку;
        if A[middle]^.Key>Elem^.Key then                              - замена (преобразование) литер с сохранением строчной структуры

                                 42                                                                      7