О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / Информатика / Курсовая работа по информатике "РАЗРАБОТКА В СРЕДЕ TURBOPASCAL ПРОГРАММЫ ПОИСКА В МАССИВЕ УЧАСТКОВ МОНОТОННОСТИ"

(автор - student, добавлено - 24-11-2012, 12:22)
СКАЧАТЬ: kursovaya.zip [142,84 Kb] (cкачиваний: 67)



АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ
НЕФТЯНОЙ ИНСТИТУТ
КАФЕДРА ИНФОРМАТИКИ







КУРСОВАЯ РАБОТА
ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»
РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL
НА ТЕМУ: РАЗРАБОТКА В СРЕДЕ TURBOPASCAL ПРОГРАММЫ ПОИСКА В МАССИВЕ УЧАСТКОВ МОНОТОННОСТИ





Выполнил студент:
Группы:
Проверила:



АЛЬМЕТЬЕВСК 2012 год
Пояснительная записка
Оглавление

1. Постановка задачи
2. Описание алгоритма решения задачи графическим способом
2.1. Укрупненная схема алгоритма и ее детализация
2.2. Блок – схема алгоритма
3. Разработка программы на языке программирования
4. Описание блоков укрупненной схемы алгоритмов на языке программирования
4.1. Текст программы
4.2. Тестирование программы
5. Литература












Тема курсовой работы: Разработка в среде TurboPaskal программы поиска в массиве участков монотонности
1. ПОСТАНОВКА ЗАДАЧИ
1. Вычислить значение 38 элементов одномерного целочисленного массива D в интервале (-9, 7) с использованием генератора случайных чисел.
2. Вычислить среднегармоническое значение ненулевых элементов первой трети массива.
3. Определить наименьший по абсолютной величине среди четных по номеру элементов первой четверти массива.
4. Упорядочить ненулевые элементы последней трети массива по возрастанию абсолютных значений
















2. Описание алгоритма решения задачи
графическим способом
Укрупненная схема алгоритма
























2.1 Детализация укрупненной схемы алгоритма

В программе решаются следующие подзадачи:

1. Заполнение одномерного массива
2. Вычисление значения 38 элементов одномерного массива с использованием генератора случайных чисел
3. Вычисление среднегармонического значения ненулевыхэлементов первой четверти массива.
4. Определение наименьшего по абсолютной величине среди четных по номеру элемента первой степени массива.
5. Упорядочение ненулевых элементовпоследней трети массива по возрастанию абсолютных значений.
6. Вывод преобразованного массива












2.2. Блок-схема алгоритма











4. Описание блоков укрупненной схемы алгоритмов на языке программирования
4.1. Текст программы

PROGRAMZadanie 1 Вычислить значение 38 элементов одномерного целочисленного массива D в интервале (-9, 7) с использованием генератора случайных чисел.

var M:array[1..38] of integer; i:integer; b:integer;
begin
writeln('Vodmassiva');
randomize;
for i:=1 to 38 do begin
b:=random(7);
M[i]:=b;
end;
for i:=1 to 38 do write(M[i],' ');
writeln;
end.
writeln('задание 2'); Вычислить среднегармоническое значение ненулевых элементов первой трети массива
PROGRAM Zadanie1;
var M:array[1..38] of integer; i:integer; n,b:integer; sum:real;
begin
writeln('Vodmassiva');
randomize;
for i:=1 to 38 do begin
b:=random(7);
M[i]:=b;
end;
for i:=1 to 38 do write(M[i],' ');
writeln;
writeln('задание 2');
n:=0;
sum:=0;
for i:=1 to 12 do begin
if M[i]<>0 then sum:=sum+1/M[i];
n:=n+1;
write(sum,' ');
end;
writeln;
writeln('srednegarm=',1/((1/n)*sum):5:2);
end.
PROGRAMZadanie1;Определить наименьший по абсолютной величине среди четных по номеру элементов первой четверти массива

var M:array[1..38] of integer; i:integer; b,a,c:integer;
begin
writeln('Vodmassiva');
randomize;
for i:=1 to 38 do begin
b:=random(7);
M[i]:=b;
end;
for i:=1 to 38 do write(M[i],' ');
writeln;
writeln('задание 3');
a:=10;
c:=0;
for i:=1 to 9 do begin
if a>M[i] then begin a:=M[i];
c:=i;
end;
end;
writeln('Наименьши элемент=',a,' под номером =',c);
end.
PROGRAMZadanie4; Упорядочить ненулевые элементы последней трети массива по возростанию абсолютных значений
var M:array[1..38] of integer; i:integer; b,a,d,e,c:integer;
begin
writeln('Vodmassiva');
randomize;
for i:=1 to 38 do begin
b:=random(16)-9;
M[i]:=b;
end;
for i:=1 to 38 do write(M[i],' ');
writeln;
writeln('задание 3');
a:=10;
c:=0;
for i:=1 to 9 do begin
if a>M[i] then begin a:=M[i];
c:=i;
end;
end;
writeln('Наименьшиэлемент=',a,' подномером =',c);
writeln('задание 4');
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
for i:=26 to 37 do begin
if M[i]<>0 then begin
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
write(M[i]);
end;
end;
writeln;
end.
PROGRAM Zadanie4;
var M:array[1..38] of integer; i, b,a,d,e,c,n:integer; sum:real;
begin
writeln('Vodmassiva');
randomize;
for i:=1 to 38 do begin
b:=random(16)-9;
M[i]:=b;
end;
for i:=1 to 38 do write(M[i],' ');
writeln;
writeln('задание 2');
n:=0;
sum:=0;
for i:=1 to 12 do begin
if M[i]<>0 then sum:=sum+1/M[i];
n:=n+1;
write(sum,' ');
end;
writeln;
writeln('srednegarm=',1/((1/n)*sum):5:2);
writeln('задание 3');
a:=10;
c:=0;
for i:=1 to 9 do begin
if a>M[i] then begin a:=M[i];
c:=i;
end;
end;
writeln('Наименьшиэлемент=',a,' подномером =',c);
writeln('задание 4');
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;




for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;

for i:=26 to 37 do
if M[i]<>0 then
if M[i]>M[i+1] then begin
d:=M[i];
e:=M[i+1];
M[i]:=M[i+1];
M[i+1]:=d;
end;
for i:=26 to 37 do write(M[i],' ');
writeln;
writeln('конец программы.');
end.
4.2. Тестирование программы



































5. Литература

1. Культин Н. TurboPascal в задачах и примерах. СПб.: БХВ - Петербург, 2003.
2. Немнюгин С.А., Перколаб Л. Изучаем TurboPascal. СПб.: Питер, 2003.
3. Попов В.Б. Паскаль и делфи. Учебный курс. М.: Питер, 2005.
4. Рапаков Г.Г., Ржеуцкая С.Ю. TURBO PASCAL для студентов и школьников. СПб.: БХВ - Петербург, 2004.
5. Семакин И.Г., Шестаков А.П. Основы программирования. М.: Академия 2003.
6. Фаронов В. В. TurboPascal. – СПб.: БХВ-Петербург, 2004. 1056 с.
Гордон Я. Тонкости программирования на языке Паскаль: Учебное пособие по программированию на ПК / Ян Гордон. – Бук-пресс, 2006. – 320 с.


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ
Copyright 2018. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!