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

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

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

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

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

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

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

Кыргызской республики

Кыргызский государственный технический университет им И. Раззакова

Факультет информационных технологий

Кафедра программное обеспечение компьютерных систем

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

по дисциплине: программирование на языках высокого уровня

Выполнил: Курманалиев У.Т.

Руководитель: С.К. Кубанычбековна

Бишкек 2012

План

1. Условие задачи

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

3. Блок-схемы

4. Словесный пошаговый алгоритм решения

5. Программа на языке C++

6. Тестовый пример: исходные данные и результат, а также консольное окно выполнения программы

1. Условие задачи

Описать структуру с именем WORKER, содержащие поля:

· ФИО работника

· Должность

· Год поступления на работу

Написать программу, выполняющую следующие действия:

· Сортировка: по ФИО

· Поиск: работника, чей стаж работы больше заданного числа.

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

1) Исходные данные.

worker - массив структур Rab.

Каждая структура включает в себя две целочисленные переменные firstname (фамилия)secondname (имя), lastname(отчество) post (должность).postuplenie(поступления на работу)

n - количество структур Rab в массиве worker.

3) Промежуточные данные.

Счетчики цикла i и j.

temp - структура Rab. Служит в функциях сортировки sort_firstname (worker,n), sort_secondname(worker,n), sort_lastname(worker,n) и search(worker,n) .

4) Результат.

worker - массив структур Rab, отсортированный по указанному полю.

3. Блок-схемы

1) Функция main().

2 ) Функция search()

3) Функция sort_firstname().

4) Функция sort_lastname().

4. Словесный пошаговый алгоритм решения

В начале кода программы, после подключения всех необходимых библиотек, объявляется структура Rab, которая состоит из четырех переменных: firstname - имя работника, массив из 15 символов; secondname - имя работника, массив из 15 символов;

Lastname - отчество массив из 15 символов; post - должность массив из 15 символов, алгоритм программа консольный

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

Функция main() начинается с объявления указателя типа Rab и переменной n целого типа. Затем в функции main() создается динамический массив структур Rab из n элементов. Далее мы вводим n - количество данных. Вызывается функция search(worker,n) которая принимает параметры типа worker и количество студентов. Эта функция ищет работника у которого стаж большее введенного значения. Далее мы снова переходим в функцию main().

Далее на экран выходит сообщение о продолжении выполнения программы. После чего только выходят все отсортированные данные, а именно: сортировка по фамилии, имени и отчеству.

Все 3 функции сортировки работают одинаково. Единственное их отличие друг от друга - параметр, по которому они сортируют массив структур worker. И еще в функциях, которые сортируют массив по строкам (sortname()), при сравнении используется функция strcmp() из библиотеки string. Так как других отличий между ними нет, я опишу общий принцип их работы.

В начале функции объявляется переменная a типа Rab и две целочисленные переменные i и j. Затем начинается цикл, тело которого будет выполняться n-1 раз. В теле этого цикла идет другой цикл, также n-1 раз. В этом цикле сравниваются определенные параметры структур Rab. Для функции sortname() это firstname и т.д. Если значение сравниваемого параметра больше у того элемента массива, который лежит левее, то соседние элементы меняются местами. Если же сравниваемые элементы уже упорядочены, то замены не происходит. Все это повторяется до тех пор, пока мы не дойдем до предпоследнего и последнего элементов массива. После этого, все опять начинается сначала. После завершения внешнего цикла массив будет полностью отсортирован.

Функция сортировки завершена, и показывается результат. В этой функции с помощью цикла на экран выводится отсортированный массив. Там мы удаляем динамический массив worker и завершаем работу программы.

5. Программа на языке C++

#include <iostream>

#include <string>

#include <iomanip>

using namespace std;

struct Rab //опрделение структуры

{

char firstname[15];

char secondname[15];

char lastname[15];

char post[15];

int postuplenie;

};

void sort_firstname(Rab *worker,int n) // сортировка по фамилии

{

Rab temp;

int i,j;

for(i=0;i<n;i++)

{

for(j=0;j<n-1;j++)

{

if(strcmp(worker[j].firstname,worker[j+1].firstname)>0)

{

temp = worker[j];

worker[j] = worker[j+1];

worker[j+1]= temp;

}

}

}

for(i=0;i<n;i++)

{

cout"setw(5)"worker[i].firstname"" ""setw(5)"worker[i].secondname

"" ""setw(5)"worker[i].lastname"endl;

}

cout"endl;

}

void sort_secondname(Rab *worker,int n) // сортировка по имени

{

Rab temp;

int i,j;

for(i=0;i<n;i++)

{

for(j=0;j<n-1;j++)

{

if(strcmp(worker[j].secondname,worker[j+1].secondname)>0)

{

temp = worker[j];

worker[j] = worker[j+1];

worker[j+1]= temp;

}

}

}

for(i=0;i<n;i++)

{

cout"setw(5)"worker[i].firstname"" ""setw(5)"worker[i].secondname

"" ""setw(5)"worker[i].lastname"endl;

}

cout"endl;

}

void sort_lastname(Rab *worker,int n) // сортировка по отчеству

{

Rab temp;

int i,j;

for(i=0;i<n;i++)

{

for(j=0;j<n-1;j++)

{

if(strcmp(worker[j].lastname,worker[j+1].lastname)>0)

{

temp = worker[j];

worker[j] = worker[j+1];

worker[j+1]= temp;

}

}

}

for(i=0;i<n;i++)

{

cout"setw(5)"worker[i].firstname"" ""setw(5)"worker[i].secondname

"" ""setw(5)"worker[i].lastname"endl;

}

cout"endl;

}

void search(Rab *worker,int n) // функция поиска сотрудника у которого стаж работы больше введенного значения

{

int stag,i;

bool check = false;

cout""Vvedite stag raboty :"; cin"stag;

for(i=0;i<n;i++)

{

if((2012 - worker[i].postuplenie) > stag)

{

cout"setw(5)"worker[i].firstname"" ""setw(5)"worker[i].secondname

"" ""setw(5)"worker[i].lastname"endl;check = true;

}

}

if(!check)

{

cout""s takim stagom net rabotnikov ""endl;

}

}

int main()

{

Rab *worker; // объявление массива типа Rab

int n,i;

cout""Vvedite koli4estvo rabotnilkov ";cin"n;

cout"endl"endl;

worker = new Rab[n];

for(i=0;i<n;i++) // вводим данные

{

cout""Familiya: ";cin"worker[i].firstname;

cout""imya: ";cin"worker[i].secondname;

cout""ot4estvo: ";cin"worker[i].lastname;

cout""Post: ";cin"worker[i].post;

cout""god postupleniya: ";cin"worker[i].postuplenie;

cout"endl"endl;

}

cout"endl;

search(worker,n); // поиск сотрудника у которого стаж работы больше заданного значения

cout"endl"endl;

system("pause");

cout"endl"endl""sortirovka po familiii""endl;

sort_firstname(worker,n);

cout""sortirovka po imeni""endl;

sort_secondname(worker,n);

cout""sortirovka po otchestvy""endl;

sort_lastname(worker,n);

system("pause");

delete []worker;

return 0;

}

6. Тестовый пример: исходные данные и результат, а также консольное окно выполнения программы

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

...

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

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

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

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

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

  • Исторические предпосылки разработки тестирования. Виды электронных тестов и их роль в программировании. Этапы разработки программы для решения задачи быстрой сортировки. Пользовательский интерфейс, отладка, алгоритм программы. Файл теста в формате XML.

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

  • Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.

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

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

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

  • Описание языка программирования Java: общие характеристики, главные свойства, краткий обзор. Надежность и безопасность, производительность и базовая система программы. Разработка программы поиска по словарю, алгоритм её работы. Общий вид кода программы.

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

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

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

  • Основные элементы окна программы MathCAD. Выполнение операций с файлами, редактирование, настройка программы. Способы ввода и редактирования в рабочем поле окна программы. Задание на рабочей области необходимых функций и матриц, выполнение вычислений.

    контрольная работа [18,0 K], добавлен 11.09.2019

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

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

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

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

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

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

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

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

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

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

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

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

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

    лабораторная работа [282,7 K], добавлен 30.01.2015

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

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

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

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

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

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

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

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

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

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

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