Пирамидальная сортировка и перевод числовой формы числа в словесную

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.10.2013
Размер файла 117,4 K

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

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

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

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

Министерство образования и науки Российской Федерации

Государственное образовательное учреждение

Высшего профессионального образования

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Факультет экономики и управления

Кафедра математических методов и моделей в экономике

ОТЧЕТ

По расчётно-графическому заданию

По курсу «Современные технологии программирования»

Руководитель

Нелюбова Т.Н.

Исполнитель

Студент гр. 09ММЭ

Евдокимов Д. А.

Оренбург 2011г.

Содержание

Глава 1. Программа «перевод цифровой формы числа в словесную» 3

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

2) Код программы

3) Скриншот программы

Глава 2. Пирамидальная сортировка

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

2) Код программы

3) Скриншот программы

Глава 1. Программа «перевод цифровой формы числа в словесную»

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

Реализовать программное обеспечение, выводящее словесную форму числа n (n<1 000 000 000), заданного в цифровой форме.

2) Код программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ComCtrls, StdCtrls, XPMan;

type

TForm1 = class(TForm)

edt1: TEdit;

btn1: TButton;

ud1: TUpDown;

xpmnfst1: TXPManifest;

mmo1: TMemo;

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var n,i:Byte;

a:array [1..100] of byte;

az,t,t1:LongInt; //t - вспомогательная переменная, используемая при вычислении числа знаков в числе.

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

begin

az:=StrToInt(edt1.Text);

t:=1;

n:=0;

while (az div t)>0 do begin

t:=t*10;

n:=n+1;

end;

t:=1;

for i:=1 to n do begin

t1:=az div t;

a[i]:=t1 mod 10;

t:=t*10;

end;

//Пошёл перевод

for i:=1 to n do begin

if i=1 then begin

case a[i] of

1:mmo1.Text:='Один '+mmo1.Text;

2:mmo1.Text:='Два '+mmo1.Text;

3:mmo1.Text:='Три '+mmo1.Text;

4:mmo1.Text:='Четыре '+mmo1.Text;

5:mmo1.Text:='Пять '+mmo1.Text;

6:mmo1.Text:='Шесть '+mmo1.Text;

7:mmo1.Text:='Семь '+mmo1.Text;

8:mmo1.Text:='Восемь '+mmo1.Text;

9:mmo1.Text:='Девять '+mmo1.Text;

end;

end;

if (i mod 3)=2 then begin

case a[i] of

1:mmo1.Text:='Десять '+mmo1.Text;

2:mmo1.Text:='Двадцать '+mmo1.Text;

3:mmo1.Text:='Тридцать '+mmo1.Text;

4:mmo1.Text:='Сорок '+mmo1.Text;

5:mmo1.Text:='Пятьдесят '+mmo1.Text;

6:mmo1.Text:='Шестьдесят '+mmo1.Text;

7:mmo1.Text:='Семьдесят '+mmo1.Text;

8:mmo1.Text:='Восемьдесят '+mmo1.Text;

9:mmo1.Text:='Девятьносто '+mmo1.Text;

end;

end;

if (i mod 3)=0 then begin

case a[i] of

1:mmo1.Text:='Сто '+mmo1.Text;

2:mmo1.Text:='Двести '+mmo1.Text;

3:mmo1.Text:='Триста '+mmo1.Text;

4:mmo1.Text:='Четыреста '+mmo1.Text;

5:mmo1.Text:='Пятьсот '+mmo1.Text;

6:mmo1.Text:='Шестьсот '+mmo1.Text;

7:mmo1.Text:='Семьсот '+mmo1.Text;

8:mmo1.Text:='Восемьсот '+mmo1.Text;

9:mmo1.Text:='Девятьсот '+mmo1.Text;

end;

end;

if i=4 then begin

case a[i] of

1:mmo1.Text:='Одна тысяча '+mmo1.Text;

2:mmo1.Text:='Две тысячи '+mmo1.Text;

3:mmo1.Text:='Три тысячи '+mmo1.Text;

4:mmo1.Text:='Четыре тысячи '+mmo1.Text;

5:mmo1.Text:='Пять тысяч '+mmo1.Text;

6:mmo1.Text:='Шесть тысяч '+mmo1.Text;

7:mmo1.Text:='Семь тысяч '+mmo1.Text;

8:mmo1.Text:='Восемь тысяч '+mmo1.Text;

9:mmo1.Text:='Девять тысяч '+mmo1.Text;

0:if (a[i+1]<>0) and (a[i+2]<>0) then mmo1.Text:='тысяч '+mmo1.Text;

end;

end;

if i=7 then begin

case a[i] of

1:mmo1.Text:='Один миллион '+mmo1.Text;

2:mmo1.Text:='Два миллиона '+mmo1.Text;

3:mmo1.Text:='Три миллиона '+mmo1.Text;

4:mmo1.Text:='Четыре миллиона '+mmo1.Text;

5:mmo1.Text:='Пять миллионов '+mmo1.Text;

6:mmo1.Text:='Шесть миллионов '+mmo1.Text;

7:mmo1.Text:='Семь миллионов '+mmo1.Text;

8:mmo1.Text:='Восемь миллионов '+mmo1.Text;

9:mmo1.Text:='Девять миллионов '+mmo1.Text;

0:if (a[i+1]<>0) and (a[i+2]<>0) then mmo1.Text:='миллионов '+mmo1.Text;

end;

end;

if i=10 then begin

case a[i] of

1:mmo1.Text:='Один миллиард '+mmo1.Text;

2:mmo1.Text:='Два миллиарда '+mmo1.Text;

3:mmo1.Text:='Три миллиарда '+mmo1.Text;

4:mmo1.Text:='Четыре миллиарда '+mmo1.Text;

5:mmo1.Text:='Пять миллиардов '+mmo1.Text;

6:mmo1.Text:='Шесть миллиардов '+mmo1.Text;

7:mmo1.Text:='Семь миллиардов '+mmo1.Text;

8:mmo1.Text:='Восемь миллиардов '+mmo1.Text;

9:mmo1.Text:='Девять миллиардов '+mmo1.Text;

0:if (a[i+1]<>0) and (a[i+2]<>0) then mmo1.Text:='миллиардов '+mmo1.Text;

end;

end;

end;

end;

end.

3) Скриншот программы

знак массив пирамида число

Глава 2. Пирамидальная сортировка

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

Реализовать программное обеспечение, упорядочивающее по возрастанию массив данных, вводимых с клавиатуры, методом пирамидальной сортировки. Результат сортировки сохраняется в файл output.txt.

2) Код программы

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

var a: array [1..50] of Integer;

i,n:integer;

fo:Text;

procedure Sort(var Arr: array of integer; Count: Integer);

procedure DownHeap(index, Count: integer; Current: integer);

//Функция пробегает по пирамиде, восстанавливая ее

//Также используется для изначального создания пирамиды

//Использование: Передать номер следующего элемента в index

//Процедура пробежит по всем потомкам и найдет нужное место для следующего элемента

var

Child: Integer;

begin

while index < Count div 2 do begin

Child := (index+1)*2-1;

if (Child < Count-1) and (Arr[Child] < Arr[Child+1]) then

Child:=Child+1;

if Current >= Arr[Child] then

break;

Arr[index] := Arr[Child];

index := Child;

end;

Arr[index] := Current;

end;

//Основная функция

var

i: integer;

Current: integer;

begin

//Собираем пирамиду

for i := (Count div 2)-1 downto 0 do

DownHeap(i, Count, Arr[i]);

//Пирамида собрана. Теперь сортируем

for i := Count-1 downto 0 do begin

Current := Arr[i]; //перемещаем верхушку в начало отсортированного списка

Arr[i] := Arr[0];

DownHeap(0, i, Current); //находим нужное место в пирамиде для нового элемента

end;

end;

begin

Assign(fo, 'output.txt');

Rewrite (fo);

Writeln('Enter n');

Readln(n);

Writeln('Enter integers');

for i:=1 to n do Read(a[i]);

Sort(a,n);

for i:=1 to n do Write(fo, a[i], ' ');

close (fo);

end.

3) Скриншот программы

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

...

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

  • Определение понятия, видов и задач сортировки. Рассмотрение основ построения простых и улучшенных алгоритмов сортировки, анализ числа операций. Линейная и пирамидальная организация данных. Основные правила нижней оценки числа операций в алгоритмах.

    презентация [274,5 K], добавлен 19.10.2014

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

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

  • Реализация различных методов сортировки. Алгоритмические языки программирования. Обработка большого числа единообразно организованных данных. Алгоритмы сортировки массивов. Анализ проблем реализации и использования различных видов сортировок массивов.

    курсовая работа [640,3 K], добавлен 07.07.2011

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

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

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

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

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

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

  • Структура доходов коммерческого банка. Сортировка записей документа по возрастанию наименований статей. Программное обеспечение для создания документов на ЭВМ. Текстовые процессоры. Объекты MS Access: таблица, запрос, форма, отчет, макрос, модуль.

    контрольная работа [21,3 K], добавлен 11.12.2008

  • Представление (построение, создание) списка данных в виде линейного однонаправленного списка. Формирование массива данных. Вывод данных на экран. Алгоритм удаления, перемещения данных. Сортировка методом вставки. Алгоритм загрузки данных из файла.

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

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

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

  • Основные модули и процедуры, входящие в состав программного комплекса. Логические структуры данных, объявление массивов. Сущность пирамидальной сортировки. Основные вкладки программы (использование пакета Borland Delphi). Листинг и тестирование программы.

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

  • Составление программы lab3.exe, реализующей удаление элемента из списка перед указанным методом и его сортировку по возрастанию. Описание предикатов, используемых в программе. Проверка на корректный вывод информации. Программа для обхода бинарного дерева.

    контрольная работа [559,3 K], добавлен 20.05.2012

  • Способы сортировки задач программирования: пузырьком, пузырьковая с просеиванием, метод последовательного поиска минимумов, вставками. Распределяющая сортировка - RadixSort-цифровая - поразрядная. Теория чисел. Простые числа. Задача "Красивые числа".

    реферат [90,5 K], добавлен 14.05.2008

  • Принцип работы алгоритма бинарного поиска в массиве. Способы исследования алгоритма "прямое включение". Формулы зависимости числа сравнений от элементов в массиве. Графики среднего числа сравнений и перемещений практических и теоретических измерений.

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

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

    курсовая работа [203,8 K], добавлен 03.12.2010

  • Разработка встраиваемого в электронную аппаратуру микроконтроллера с целью обеспечения ввода данных с клавиатуры и отображения результатов обработки на индикации. Описание активного элемента (системная шина ISA). Программное обеспечение микроконтроллера.

    курсовая работа [848,9 K], добавлен 05.02.2016

  • Алгоритмы сортировки методами простых вставок и пузырька. Зависимость среднего времени сортировки от числа сортируемых элементов. Функции, осуществляющие сортировку любого количества элементов методом простых вставок, на основе сортировки таблицы адресов.

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

  • Понятие и основной принцип действия алгоритмов сортировки информации. Сравнительное исследование и анализ эффективности методов сортировки Шелла и Флойда в виде графиков зависимостей количества сравнений и числа перестановок элементов от объёма данных.

    контрольная работа [573,6 K], добавлен 09.11.2010

  • Учет товаров, контроль их срока хранения на складах фирмы как предметная область проектируемой базы данных "Хранение товаров". Содержание основных запросов базы данных. Методы сортировки массива данных - пузырька, цифровой сортировки и деревьев сравнений.

    контрольная работа [3,4 M], добавлен 12.02.2014

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

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

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

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

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