2dip > Курсовые работы > Программирование, компьютеры и кибернетика, ИТ технологии > Составить программу на языке Turbo Pascal для параллельной сортировки чисел
Составить программу на языке Turbo Pascal для параллельной сортировки чисел
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Южно-Уральский государственный университет
Приборостроительный факультет
Кафедра «Электронно-Вычислительные машины»
Курсовая работа
по курсу ПЯВУ
Выполнила: студентка
группы ПС-197 Савельева К.А.
Проверил: Сяськов С.В.
Челябинск 2009
Условие задачи
Составить программу на языке Turbo Pascal для параллельной сортировки множества из n чисел, где n- мощность множества, состоящего из букв фамилии, n>2.
Оглавление
- Условие задачи
- Описание программы
- Схема алгоритма
- Текст Программы
- Примеры выполнения
- Список литературы
Описание программы
Тело программы начинается с цикла for, создающего верхнюю строчку, состоящую из символов:
{ for i:=1 to 35 do
begin
textcolor(1);
write(chr(5));
end; }
где 35- произвольное число, длина строки; фextcolor - процедура, задающая цвет нужному фрагменту программы. Далее оформление создаётся аналогичным образом.
Для начала работы программы вводим фамилию. Она считывается в переменную fam типа string. Затем требуется создать по количеству символов из этой введенной фамилии одномерный массив типа integer. Для этого сначала требуется посчитать количество символом - это легко можно сделать с помощью строковой функции Length: e:=Length(fam), где e-переменная типа integer.
Далее требуется проверить введённую фамилию, на наличие цифр. Для этого используется функция Val: val(fam[i],n,kod). Эту функцию выполняем в цикле for, так как нужно проверить каждый символ в фамилии. Потом делаем проверку переменной kod в условном операторе if:
{for i:=1 to e do
begin
val(fam[i],n,kod);
if kod=0 then
begin
writeln (neverno vvedena familia)
f:=false; end;}
Если kod=0 значит в нашей фамилии содержится цифра.
Всё выше описанное происходит в цикле repeat, условием выхода которого является f=false. В начале этого цикла мы поднимаем флажок, т.е. f=true. Далее, как описано во фрагменте кода выше, если kod=0 мы опускаем флажок. Это нужно для того, чтобы получилось зацикливание, и пользователь мог, в случае неправильного ввода фамилии, сделать это снова. Если же f=true после прохождения по циклу, цикл завершит свою работу.
После этого цикла создаётся удобный интерфейс, позволяющий пользователю не запутаться в том, что нужно ввести. Далее непосредственно начинается сортировка массива, двумя способами: методом вставки и методом пузырька.
k:=0;
{metod vstavki}
{for i:=2 to e do
begin
x:=a[i];
j:=i-1;
while (x<a[j]) and (j>=1) do
begin
a[j+1]:=a[j];
j:=j-1;
k:=k+1;
if j=0 then goto 1;
end;
1: a[j+1]:=x;
end;}
{puzyrkovyi metod}
for i:=2 to e do
begin
for j:=e downto i do
if a[j-1] > a[j] then
begin
x:=a[j-1];
a[j-1]:=a[j];
a[j]:=x;
end;
end;
Схема алгоритма
Текст Программы
program kursach1;
uses crt;
var a: array [1..100] of integer;
i,e,n,kod,j,k,x:integer; fam:string; f:boolean;
label 1;
begin
clrscr;
for i:=1 to 35 do
begin
textcolor(1);
write(chr(5));
end;
writeln;
TextColor(1); write(chr(5));
repeat
f:=true;
textcolor(5);
write( vvedite familiu= );read(fam);
TextColor(1); write(chr(5));
e:=length(fam);
for i:=1 to e do
begin
val(fam[i],n,kod);
if kod=0 then
f:=false;
end;
if f=false then writeln(neverno vvedena familia) else
until f=true;
Textcolor(4); write( kol-vo bukv v familii= ,e);
TextColor(1); write( ,chr(5));
writeln;
write(chr(5));
TextColor(11); write( vvedite massiv iz ,e, chisel: );
TextColor(1); write(chr(5));
writeln;
write(chr(5), );
for i:=1 to e do
begin
TextColor(14);
write(i,-e chislo=);
TextColor(45);
read(a[i]);
TextColor(1);
write(chr(5), );
end;
TextColor(15); write( Isxodnii massive: );
Textcolor(1); write(chr(5));
writeln;
write(chr(5));
for i:=1 to e do
begin
TextColor(5); write( ,a[i], );
end;
writeln;
Textcolor(1); write(chr(5));
TextColor(15); write( Otsortirovannii massive:);
TextColor(1); write( ,chr(5));
writeln;
k:=0;
{metod vstavki}
{for i:=2 to e do
begin
x:=a[i];
j:=i-1;
while (x<a[j]) and (j>=1) do
begin
a[j+1]:=a[j];
j:=j-1;
k:=k+1;
if j=0 then goto 1;
end;
1: a[j+1]:=x;
end;}
{puzyrkovyi metod}
for i:=2 to e do
begin
for j:=e downto i do
if a[j-1] > a[j] then
begin
x:=a[j-1];
a[j-1]:=a[j];
a[j]:=x;
end;
end;
write(chr(5));
For i:=1 to e do
begin
TextColor(5);
write( ,a[i], );
end;
writeln;
for i:=1 to 35 do
begin
textcolor(1);
write(chr(5));
end;
readln;
end.
Примеры выполнения
Список литературы
1. http://pascal.proweb.kz/
2. Д. Кнут, Искусство программирования, М.:Мир,1978.
3. Рейнгольд, Нивергельт, Део, Комбинаторные алгоритмы. Теория и практика, М.:Мир, 1982.
Данную курсовую работу Вы можете использовать как базу для самостоятельного написания выпускного проекта.
- Курсовая работа по экономике предприятия
- Курсовая работа по экономическому анализу
- Курсовая работа по информационной безопасности
- Курсовая работа по стратегическому менеджменту
- Курсовая работа по геологии
- Курсовая работа по авиационной и ракетно-космической технике
- Курсовая работа по иновационному менджменту
- Курсовая работа по геодезии
- Курсовая работа по экономике труда
- Курсовая работа по инвестициям
- Курсовая работа по начертательной геометрии
- Курсовая работа по теории машин и механизмов
- Курсовая работа по гидравлике
- Курсовая работа по стандартизации
- Курсовая работа по социальной работе
- Как писать дипломную работу Инструкция и советы по написанию качественной дипломной работы.
- Структура дипломной работы Сколько глав должно быть в работе, что должен содержать каждый из разделов.
- Оформление дипломных работ Требования к оформлению дипломных работ по ГОСТ. Основные методические указания.
- Источники для написания Что можно использовать в качестве источника для дипломной работы, а от чего лучше отказаться.
- Скачивание бесплатных работ Подводные камни и проблемы возникающие при сдаче бесплатно скачанной и не переработанной работы.
- Особенности дипломных проектов Чем отличается дипломный проект от дипломной работы. Описание особенностей.
Другие популярные курсовые работы
Проект ТП 35/10 кВ «Город» ИРЭС ООО «БашРЭС-Стерлитамак» для электроснабжения потребителей с разработкой защитного заземления
Курсовая работа
Технические
Посмотреть
ЭКОЛОГИЧЕСКОЕ ВОСПИТАНИЕ МЛАДШИХ ШКОЛЬНИКОВ
Курсовая работа
Педагогика и психология
Посмотреть
Анализ процессов управления в сфере образования г. Касимов
Курсовая работа
Педагогика и психология
Посмотреть
Лабораторный блок питания
Курсовая работа
Коммуникации, связь, цифровые приборы и радиоэлектроника
Посмотреть
Острый инфекционный гастроэнтероколит, легкая степень тяжести
Курсовая работа
Медицинские
Посмотреть
Центральный банк как субъект бюджетного процесса
Курсовая работа
Экономические
Посмотреть
Уголовная ответственность за вымогательство
Курсовая работа
Юридические
Посмотреть
Бюджет и бюджетная система
Курсовая работа
Экономические
Посмотреть
Особенности двигательного развития детей с нарушением опорно-двигательного аппарата
Курсовая работа
Педагогика и психология
Посмотреть
Генно-инженерная технология
Курсовая работа
Естественные
Посмотреть
Креативность в бизнесе
Курсовая работа
Экономические
Посмотреть
Методика маркетингового сопровождения промышленного товара на стадии внедрения на рынок
Курсовая работа
Экономические
Посмотреть