Реферат по предмету "Информатика, программирование"


Составить программу на языке 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=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 vvedenafamilia') 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(' Otsortirovanniimassive:');
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=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.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.