Программирование на языках высокого уровня

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 18.03.2012
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

14

Задание № 1

Постановка задачи

Написать программу нахождения минимального по значению элемента списка

Блок-схема алгоритма

Размещено на http://www.allbest.ru/

14

Текст программы

{программа нахождения минимального элемента списка}

{автор Хайдаршина К.С. }

program FindMin;

uses Spisok, Crt; {модуль Spisok - для работы со списками}

var

S1, V1 : U;

A : BT;

I, N : Byte;

begin

ClrScr;

Randomize;

N := 1 + Random(20);

S1 := nil;

A := -100 + Random(201);

V_Nachalo(S1, A);

V1 := S1;

for I := 2 to N do

begin

A := -100 + Random(201);

V_Spisok(V1, A);

V1 := V1^.Next

end;

WriteLn('Исходный список: ');

Print(S1);

V1 := S1;

A := V1^.Inf;

while V1 <> nil do

begin

V1:= V1^.Next;

if V1^.Inf < A then A := V1^.Inf;

end;

Ochistka(S1);

WriteLn('Минимальный элемент: ', A);

Write('Нажмите любую клавишу');

ReadKey;

end.

Контрольный пример

Задание № 2

Постановка задачи

Написать программу удаления из списка элементов с четными номерами

Блок-схема алгоритма

Размещено на http://www.allbest.ru/

14

Текст программы

{программа удаления из списка элементов с четными номерами}

{автор Хайдаршина К.С. }

program DelElem;

uses Spisok, Crt;

var

S1, V1, V2 : U;

A : BT;

I, N : Byte;

begin

ClrScr;

Randomize;

N := 1 + Random(20);

S1 := nil;

A := -100 + Random(201);

V_Nachalo(S1, A);

V1 := S1;

for I := 2 to N do

begin

A := -100 + Random(201);

V_Spisok(V1, A);

V1 := V1^.Next

end;

WriteLn('Исходный список: ');

Print(S1);

I := 1;

V1 := S1;

A := V1^.Inf;

while V1 <> nil do

begin

Inc(I);

if (I mod 2) = 0 then

begin

Iz_Spiska(V1, A);

end else V1:= V1^.Next;

end;

WriteLn('Преобразованный список без четных номеров: ');

Print(S1);

Ochistka(S1);

Write('Нажмите любую клавишу');

ReadKey;

end.

Контрольный пример

Задание № 3

Постановка задачи

Написать программу циклического сдвига элементов списка влево на одну позицию.

Блок-схема алгоритма

Размещено на http://www.allbest.ru/

14

Текст программы

{Программа циклического сдвига элементов списка влево на одну позицию}

{автор Хайдаршина К.С. }

program Sdvig;

uses Spisok, Crt;

var

S1, V1, V2 : U;

A : BT;

N, I : Byte;

begin

ClrScr;

Randomize;

N := 1 + Random(20);

S1 := nil;

A := -100 + Random(201);

V_Nachalo(S1, A);

V1 := S1;

for I := 2 to N do

begin

A := -100 + Random(201);

V_Spisok(V1, A);

V1 := V1^.Next

end;

WriteLn('Исходный список: ');

Print(S1);

V1 := S1;

A := V1^.Inf;

repeat

V1^.Inf := V1^.Next^.Inf;

V1:= V1^.Next;

until V1^.Next = nil;

V1^.Inf := A;

WriteLn('Преобразованный список со сдвигом элементов влево на одну позицию: ');

Print(S1);

Ochistka(S1);

Write('Нажмите любую клавишу');

ReadKey;

end.

Контрольный пример

Задание № 4

Постановка задачи

Даны 2 текстовых файла размером не более 64 Кб, содержащие действительные числа, по одному в каждой строке. Написать программу, формирующую два списка, заполняя их числами из файлов. Получить новый список, значения каждого из элементов которого, равны сумме значений соответствующих элементов исходных списков.

Текст программы

{Даны 2 текстовых файла размером не более 64 Кб, содержащие действительные

числа, по одному в каждой строке. Программа формирует два списка, заполняя

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

равны сумме значений соответствующих элементов исходных списков

автор Хайдаршина К.С. }

program Spiski;

uses Crt;

const

cF1 = 'REALT1.txt';

cF2 = 'REALT2.txt';

type

pList= ^tComp;

tComp = record

data: Real;

next: pList

end;

var

pList1, pList2, pList3: pList;

p1, p2, p3, z: pList;

A : Real;

I : Integer;

{считывает список из файла}

procedure ReadF(FName : string; var pBegin: pList);

var

T : Text;

p, z : pList;

begin

Assign(T, FName);

Reset(T);

New(p);

pBegin := nil;

while not Eof(T) do

begin

ReadLn(T, A);

New(z);

if pBegin = nil then pBegin := z;

z^.data := A;

z^.next := nil;

p^.next := z;

p := z;

end;

Close(T);

end;

procedure Free(var pF :pList);

var

p, z : pList;

begin

p := pF;

repeat

z := p^.next;

Dispose(p);

p := z;

until p=nil;

pF := p;

end;

begin

ReadF(cF1, pList1); {Список из первого файла}

ReadF(cF2, pList2); {Список из второго файла}

p1 := pList1;

p2 := pList2;

New(z);

pList3 := nil;

repeat

New(p3);

if pList3 = nil then pList3 := p3;

p3^.data := p1^.data+p2^.data;

p3^.next := nil;

z^.next := p3;

z := p3;

p1 := p1^.next;

p2 := p2^.next;

until (p1=nil) or (p2=nil);

{вывод результатов}

ClrScr;

p1 := pList1;

p2 := pList2;

p3 := pList3;

repeat

WriteLn(p1^.data, ' ', p2^.data, ' сумма = ', p3^.data);

p1 := p1^.next;

p2 := p2^.next;

p3 := p3^.next;

until (p3=nil);

Free(pList1);

Free(pList2);

Free(pList3);

WriteLn('Нажмите любую клавишу');

ReadKey

end.

Контрольный пример

Задание № 5

программа алгоритм сортировка массив

Постановка задачи

Создать программу, реализующую сортировку массива методом пузырьковой сортировки.

{Сортировка по возрастанию методом пузырька (динамическая структура) }

program Sortirov;

uses Crt;

type

PList= ^Comp;

Comp = record

d: Integer;

next, prev: PList

end;

var

pBegin, pEnd, p, z: PList;

n, i : Byte;

a, a_max : Integer;

{сортировка Пузырьком, меняются только указатели}

procedure SortBublLink(var nach,ends:pList);

var

tmp,pocle1,rab:pList;

begin

rab:=nach;

while rab<>nil do

begin

tmp:=rab^.next;

while tmp<>nil do

begin

if tmp^.d<rab^.d then

begin

pocle1:=tmp^.next;

if rab^.next=tmp then

begin

if tmp^.next<>nil then

tmp^.next^.prev:=rab;

tmp^.next:=rab;

tmp^.prev:=rab^.prev;

if tmp^.prev<>nil then

tmp^.prev^.next:=tmp;

rab^.prev:=tmp;

rab^.next:=pocle1;

end

else

begin

if rab^.prev<>nil then

rab^.prev^.next:=tmp;

tmp^.prev^.next:=rab;

if tmp^.next<>nil then

tmp^.next^.prev:=rab;

rab^.next^.prev:=tmp;

tmp^.next:=rab^.next;

rab^.next:=pocle1;

pocle1:=rab^.prev;

rab^.prev:=tmp^.prev;

tmp^.prev:=pocle1;

end;

if rab=nach then

begin

nach:=tmp;

nach^.prev:=nil;

end;

if tmp=ends then

begin

ends:=rab;

ends^.next:=nil

end;

pocle1:=rab;

rab:=tmp;

tmp:=pocle1;

end;

tmp:=tmp^.next;

end;

rab:=rab^.next;

end;

end;

begin

ClrScr;

Randomize;

WriteLn('Введите количество элементов в списке:');

ReadLn(n);

WriteLn('Введите максимальный по модулю элемент в списке:');

ReadLn(a_max);

pBegin := nil;

pEnd := nil;

WriteLn('Исходный список:');

for i := 1 to n do

begin

New(z);

if pBegin = nil then pBegin := z;

z^.D := -1*Abs(a_max)+2*Random(a_max);

Write(z^.D, ' ');

z^.next := nil;

p^.next := z;

z^.prev := p;

p := z;

end;

pEnd := p;

SortBublLink(pBegin, pEnd);

WriteLn;

WriteLn('Отсортированный список по возрастанию:');

p := pBegin;

repeat

Write(p^.d, ' ');

p := p^.next

until p = pEnd;

WriteLn(p^.d);

{очистка памяти}

p := pBegin;

repeat

z := p^.next;

Dispose(p);

p := z;

until p=nil;

Write('Нажмите любую клавишу');

ReadKey

end.

Контрольный пример

Размещено на Allbest.ru


Подобные документы

  • Составление программы сортировки по возрастанию массив из 20 шестнадцатеричных чисел, просматривающей все исходные числа во внешней памяти и выбирающей самое большое число. Блок-схема алгоритма работы программы. Таблица команд и число их выполнения.

    курсовая работа [23,1 K], добавлен 24.05.2015

  • Краткое описание языка программирования С++. Алгоритм линейного выбора элемента, методов минимального (максимального) элемента и челночной сортировки. Анализ и разработка приложения, организующего сортировку массива данных пятью методами сортировки.

    реферат [614,8 K], добавлен 12.04.2014

  • Исследование программного средства для управления базой данных с информацией о фильмах. Составление алгоритма удаления и добавления элемента в указанное место двунаправленного списка. Характеристика поиска, вывода на экран и сортировки элементов списка.

    курсовая работа [94,5 K], добавлен 23.09.2011

  • Методы реализации алгоритмов сортировки и алгоритмов поиска на языках программирования высокого уровня. Программирование алгоритмов сортировки и поиска в рамках создаваемого программного средства на языке Delphi. Создание руководства пользователя.

    курсовая работа [1,7 M], добавлен 16.04.2012

  • Составление алгоритма сортировки линейной вставкой. Понятие однонаправленного циклического списка символов, реализация процедуры подсчета суммы элементов и составление алгоритма. Прямое представление дерева, алгоритм работы с ним на абстрактном уровне.

    контрольная работа [32,8 K], добавлен 20.01.2012

  • Понятие алгоритма и сортировки. Способы и алгоритмы сортировки массивов. Быстрая сортировка Хоара. Описание алгоритма "быстрой сортировки". Реализация на языке программирования. Анализ наихудшего разбиения. Вероятностные алгоритмы быстрой сортировки.

    курсовая работа [291,5 K], добавлен 22.03.2012

  • Модификация и сравнения двух текстовых файлов. Программа, написанная на языке программирования Cи и работоспособна на IBM совместимых компьютерах. Псевдографический и графический интерфейсы. Анализ программы методом сортировки одномерного массива.

    курсовая работа [116,2 K], добавлен 21.02.2008

  • Разработка программы, сортирующей массивы данных различного типа методом подсчета. Основные шаги алгоритма сортировки, ее свойства и модификация подсчетом. Целесообразность применения сортировки подсчетом. Условия эффективности алгоритма сортировки.

    лабораторная работа [438,5 K], добавлен 16.07.2015

  • Анализ основных алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Сортировка пузырьком, методами вставок, выбора, методом Шелла, быстрая сортировка. Операция разделения массива внутренней сортировки.

    курсовая работа [161,7 K], добавлен 17.12.2015

  • Разработка программы для осуществления сортировки данных методами "Выбора" с использованием языка C# и Visual Studio 2012. Плавный метод сортировки. Основные фазы сортировки во внутреннем представлении пирамиды. Программа сортировки методами выбора.

    курсовая работа [637,6 K], добавлен 29.11.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.