Программирование на языках высокого уровня
Словесный пошаговый алгоритм решения, его четыре составляющих переменных. Сортировка данных программы. Выполнение программы и функции сортировки. Тестовый пример консольного окна программы. Сортировка и поиск сотрудника, ее результат и работа программы.
| Рубрика | Программирование, компьютеры и кибернетика |
| Вид | курсовая работа |
| Язык | русский |
| Дата добавления | 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
