Алгоритм и комплекс программных средств для инженерного расчета

Формулировка задачи и методика ее решения. Удаление заданной цифры из данного натурального числа. Структурная схема алгоритма и его описание. Особенности разработки программы и процедур и их описание. Удаление максимальных элементов из заданного массива.

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

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

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

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

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

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

Тульский государственный университет

Горно-строительный факультет

Курсовая работа

по дисциплине: Информатика

на тему: Алгоритм и комплекс программных средств для инженерного расчета

Тула, 2012

Задание на курсовую работу по дисциплине «Информатика»

Создать приложения в интегрированной среде Borland Delphi для решения следующих задач:

1. Из данного натурального числа удалить все цифры А. А задается.

2. Дан массив натуральных чисел из n элементов, заполненный случайным образом числами из промежутка [-100;100].

а)Удалить из него все максимальные элементы.

б)Вставить максимальное значение элементов массива перед всеми элементами, в записи которых есть цифра 1.

в).Переставить последние три и средние три элемента местами, сохраняя порядок их следования(количество элементов -нечетное).

Введение

В курсовой работе решаются две задачи -задача составления массива и удаления, нахождения и перестановки в нем элементов, и задача в которой происходит преобразование числа. В ходе выполнения курсовой работы создано приложение в интегрированной среде Borland Delphi, которое решает обе эти задачи. Решения задач основаны на использовании процедур. Для организации многократного исполнения набора инструкций в созданных программах используется цикл, который реализуется оператором for, проверка условий реализована с помощью условного оператора if.

Пояснительная записка состоит из формулировки задач, методики решения задач, структурной схемы алгоритмов и их описания, а также особенности разработки программы и процедур и их описание. В пояснительной записке представлено 13 рисунков, на которых показаны блок-схемы процедур и результаты их работы.

Задача 1.

Формулировка задачи

Из данного натурального числа удалить все цифры А. А задается.

Методика решения задачи

В курсовой работе разработана программа, которая реализует поставленную задачу. Решение задачи основано наиспользовании процедур:

· Button1Click - процедура выполняющая преобразование числа и его дальнейший вывод;

Структурная схема алгоритма и его описание

Алгоритмическое решение задачи представлен в виде алгоритма ввода числа; алгоритма ввода цифры; алгоритма нахождения данной цифры в данном числе; алгоритма удаления цифры из числа; алгоритма вывода преобразованного числа.

Блок-схема алгоритма решения задачи показана на рис. 1. Она состоит из 11-ти блоков. После блока 1 запуска алгоритма в блоке 2-3функция StrToInt конвертирует строку с элементами, в блоке 4 числу i присваивается значение 1. В блоке 5-8 функция Lenght возвращает число элементов не равное числу элементов в первой строке. В блоке 9 функция Val преобразовывает число в целое либо с плавающим знаком. В блоке 10 выводится получившееся число с помощью команды InttoStr.В блоке 11 алгоритм заканчивает работу.

Рис. 1. Блок-схема алгоритма выполнения задачи по преобразованию числа А.

Особенности разработки программы и процедур и их описание.

Создадим новое приложение (рис.2)

Рис. 2. Создание нового приложения

Сохраним созданное приложение. На главную форму поместим компоненты :Текстовые окна: Edit1, Edit2-в которые вводятся данные задачи, и Edit3 в который будет выводиться преобразованное число. Кнопка:Button1 приводящая в действие преобразование, и Label1,Label2,Label3 для названия текстовых окон (для удобства все переименуем). (рис.3)

Рис. 3. Отображение элементов задачи.

После чего зададим действие кнопке Buton1-"Убрать цифру" и напишем это действие.(рис.4)

Рис. 4. Код действия для кнопки Button1.

Результат выполнения процедуры показан на рис. 5.

Рис. 5. Числа задавались в ручную.

Задача 2.

Формулировка задачи

1. Дан массив натуральных чисел из n элементов, заполненный случайным образом числами из промежутка [-100;100].

а)Удалить из него все максимальные элементы.

б)Вставить максимальное значение элементов массива перед всеми элементами, в записи которых есть цифра 1.

в).Переставить последние три и средние три элемента местами, сохраняя порядок их следования(количество элементов -нечетное).

массив число элемент удаление

Методика решения задачи

В курсовой работе разработана программа, которая реализует поставленную задачу. Решение задачи основано наиспользовании процедур:

· Button1Click- процедура выполняющая генерацию одномерного массива чисел с числом элементов n;

· Button2Click-процедура выполняющая удаление максимального элемента массива и вывод нового массива;

· Button3Click - процедура выполняющая вставку максимального элемента массива перед всеми элементами массива в которых есть цифра 1;

· Button4Click - процедура выполняющая перестановку местами последних трёх элементов массива и средних трех элементов;

Структурная схема алгоритма и его описание

Алгоритмическое решение задачи представлен в виде алгоритма ввода числа n; алгоритма вывода одномерного массива с количеством элементов n; алгоритма нахождения максимального элемента массива; алгоритма удаления максимального элемента из массива; алгоритма вывода преобразованного массива; алгоритма нахождения в массиве чисел в которых есть цифра 1;алгоритма вставки максимального элемента перед числами с цифрой 1; алгоритма вывода преобразованного массива; алгоритма нахождения трёх последних элементов массива; алгоритма нахождения трёх средних элементов массива; алгоритма замены местами трех последних элементов и трёх средних; алгоритма вывода преобразованного массива.

Блок-схема алгоритма решения задачи показана на рис. 6. Она состоит из 4-х схем.

Рис.6 Блок схема второй задачи.

1. Первая схема содержит в себе 9 блоков: 1 блок запускает алгоритм;2 блок с помощью функции Randomize устанавливает генератор случайных чисел;3 блок содержит функцию StrToInt которая конвертирует строку с элементами; В блоке 4 с помощью функции Setlength число (n) элементов массива; в блоке 5 f начало массива приравнивается к нулю; Блоки 6,7,8 содержат формулу построения массива с функциями Round позволяющей округлять числа с плавающим знаком ,и Random генерирующей случайные числа на промежутке [-100;100] ,после чего командой InttoStr выводится массив размерностью n. Блок 9 завершает алгоритм.

2. Вторая схема содержит в себе 13 блоков: 1 блок запускает алгоритм; блок 2 содержит в себе функцию Max выводящую максимальное значение; блоки 3,4,5,6 ,7 содержат в себе алгоритм нахождения максимального элемента массива i; блоки 8,9,10,11,12, содержат алгоритм удаления максимального числа из массива i,после чего с помощью команды InttoStr выводит регенерированный массив; блок 13 завершает алгоритм действия.

3. Третья схема включает в себя 14 блоков: Блок 1 запускает алгоритм действия; Блок 2,3,4,5,6,7 содержат алгоритм нахождения максимального элемента массива; Блок8,9,10,11,12,13 содержат алгоритм вывода максимального элемента перед элементами массива с цифрой 1,и выводят регенерированный массив i; Блок 14 завершает алгоритм действия.

4. Четвертая схема содержит 13 блоков: Блок 1 запускает алгоритм; Блок 2 содержит условие массива, говорящее о том что массив должен содержать не менее 9 чисел, количество элементов должно быть кратно 3 и не кратно 2;

Блок 3,4,5,6,7,8,9 содержат алгоритм который находит средние три элементы и последние три после чего ставит средние три в конец а последние три на место средних; Блок 10 проверяет массив; Блок 11,12 выводят массив с помощью команды InttoStr; Блок 13 завершает алгоритм программы.

Особенности разработки программы и процедур и их описание.

Создадим новое приложение (рис.7)

(рис.7)

Сохраним созданное приложение. На главную форму поместим компоненты : Edit1 в который вводится число элементов массива, Button1 генерирует массив с числом элементов n в Edit2, Button2 генерирует массив в Edit3 удаляя из него максимальный элемент, Button3 генерирует массив в Edit4 вставляя максимальный элемент перед элементами с цифрой 1, Button4 генерирует массив и выводит в Edit5 переставляя местами средние три элемента массива с последними. (рис.8)

Рис.8:Сохранённая форма программы для решения задачи с одномерным массивом.

Зададим код для действия кнопки "Генерация" (рис.9)

Рис.9

Зададим код для действия кнопки "Удалить максимальные" (рис.10)

Рис.10

Зададим код для действия кнопки"Вставить максимальное значение" (рис.11)

Рис.11

Зададим код для кнопки "Перестановка" (рис.12)

Рис.12.

Результат выполнения процедуры показан на рис.13

Рис.13.

Заключение

В курсовой работе решаются две задачи - задача составления массива и удаления, нахождения и перестановки в нем элементов, и задача в которой происходит преобразование числа.

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

Список использованной литературы

1. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт. - СПб.: БХВ Петербург, 2003. - 288 с.: ил.

2. Культин Н.Б. Основы программирования в Delphi 7. - СПб.:БХВПетербург, 2007. - 608 с.: ил.

3. Попов В.Б. Паскаль и Дельфи: учебный курс / В.Б. Попов [и др.]. - М: Питер, 2005. - 576 с.: ил. - (Учебный курс).

4. Фаронов В.В. Delphi. Программирование на языкевысокогоуровня: учебник для вузов / В.В. Фаронов. - М. [и др.]: Питер, 2007. - 640с.: ил. (Учебник для вузов). - Библиогр. в конце кн.

5. Фленов М.Е. БиблияDelphi / М.Е. Фленов. - СПб.: БХВ-Петербург, 2007. - 880с.: ил. + 1опт. диск(CD ROM).

6. Хомоненко А.Д. Delphi 7: [наиболееполноеруководство] / А.Д. Хомоненко [и др.]; подобщ.ред.

Приложение 1

Листинг программы

Задача 1

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Button1: TButton;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var i,k,a,m,code: integer;

s,a1,s1: string;

begin

k := StrtoInt(Edit1.Text);

a := StrtoInt(Edit2.Text);

str(k,s);

str(a,a1);

for i:=1 to length(s) do

if s[i]<>a1 then

s1:=s1+s[i];

val(s1,m,code);

Edit3.Text := InttoStr(m);

end;

end.

Задача 2

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Edit5: TEdit;

Label1: TLabel;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Math, StrUtils;

{$R *.dfm}

var mass: array of integer;

N: integer;

max:integer;

procedure TForm1.Button1Click(Sender: TObject);

var i: integer;

begin

Randomize;

N := StrtoInt(Edit1.Text);

SetLength(mass, N);

for i:=0 to (N-1) do

begin

mass[i]:=round(sin(random(100))*100);

Edit5.Text:=Edit5.Text+' '+InttoStr(mass[i]);

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;

j:integer;

begin

max := -100;

for j:=0 to (N-1) do

begin

if max<mass[j] then max:=mass[j];

end;

for i:=0 to (N-1) do

begin

if mass[i]<>max then Edit2.Text:=Edit2.Text+' '+InttoStr(mass[i]);

end;

end;

procedure TForm1.Button3Click(Sender: TObject);

var i:integer;

j:integer;

begin

max := -100;

for j:=0 to (N-1) do

begin

if max<mass[j] then max:=mass[j];

end;

for i:=0 to (N-1) do

begin

if (AnsiContainsText(InttoStr(mass[i]), '1'))=true then Edit3.Text:=Edit3.Text+' '+InttoStr(max);

Edit3.Text:=Edit3.Text+' '+InttoStr(mass[i]);

end;

end;

procedure TForm1.Button4Click(Sender: TObject);

var num:integer;

cup:integer;

i:integer;

begin

if (N>=9) and (((N mod 3)=0) and ((N mod 2)=1)) then

begin

num:=trunc((N/3)/2)*3;

cup:=mass[num];

mass[num]:=mass[N-3];

mass[N-3]:=cup;

cup:=mass[num+1];

mass[num+1]:=mass[N-2];

mass[N-2]:=cup;

cup:=mass[num+2];

mass[num+2]:=mass[N-1];

mass[N-1]:=cup;

for i:=0 to (N-1) do

begin

Edit4.Text:=Edit4.Text+' '+InttoStr(mass[i]);

end;

end;

end;

end.

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


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

  • Написание программы для работы с клиентами средствами языка Delphi, которая предусматривает ввод, редактирование и удаление информации. Разработка алгоритма решения задачи, описание переменных, вспомогательных процедур, входных и выходных данных.

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

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

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

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

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.

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

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

    курсовая работа [1010,4 K], добавлен 10.08.2014

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

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

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

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

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

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

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

    курсовая работа [260,0 K], добавлен 28.06.2011

  • Исходные данные к проекту информационной системы "Протокол технического эксперимента", ее назначение. Описание программы, ее структурная схема. Описание алгоритма работы программы. Программные средства разработки. Методика испытания (тестирования).

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

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