Разработка в среде Turbo Pascal программы поиска в массиве участков монотонности
Описание алгоритма решения задачи графическим способом. Вычисление значения элементов одномерного массива с использованием генератора случайных чисел. Описание блоков укрупненной схемы алгоритмов на языке программирования. Разработка текста программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 18.08.2017 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Альметьевский государственный нефтяной институт
Кафедра информатики
Курсовая работа
по дисциплине «Информатика»
раздел: алгоритмический язык Pascal
на тему: Разработка в среде Turbo Pascal программы поиска в массиве участков монотонности
Выполнил студент: Курбанов Р.Н.
Группы: 61-11-14
Проверила: Садриева Л.М.
Альметьевск 2012 год
Оглавление
- 1. Постановка задачи
- 2. Описание алгоритма решения задачи графическим способом
- 2.1 Детализация укрупненной схемы алгоритма
- 2.2 Блок-схема алгоритма
- 3. Описание блоков укрупненной схемы алгоритмов на языке программирования
- 3.1 Текст программы
- 3.2 Тестирование программы
- Литература
1. Постановка задачи
1. Вычислить значение 38 элементов одномерного целочисленного массива D в интервале (-9, 7) с использованием генератора случайных чисел.
2. Вычислить среднегармоническое значение ненулевых элементов первой трети массива.
3. Определить наименьший по абсолютной величине среди четных по номеру элементов первой четверти массива.
4. Упорядочить ненулевые элементы последней трети массива по возрастанию абсолютных значений
2. Описание алгоритма решения задачи графическим способом
Укрупненная схема алгоритма
2.1 Детализация укрупненной схемы алгоритма
В программе решаются следующие подзадачи:
1. Заполнение одномерного массива
2. Вычисление значения 38 элементов одномерного массива с использованием генератора случайных чисел
3. Вычисление среднегармонического значения ненулевых элементов первой четверти массива.
4. Определение наименьшего по абсолютной величине среди четных по номеру элемента первой степени массива.
5. Упорядочение ненулевых элементов последней трети массива по возрастанию абсолютных значений.
6. Вывод преобразованного массива
2.2 Блок-схема алгоритма
графический массив генератор программирование
3. Описание блоков укрупненной схемы алгоритмов на языке программирования
3.1 Текст программы
PROGRAM Zadanie 1 Вычислить значение 38 элементов одномерного целочисленного массива D в интервале (-9, 7) с использованием генератора случайных чисел.
var M:array[1..38] of integer; i:integer; b:integer;
begin
writeln('Vod massiva');
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('Vod massiva');
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.
PROGRAM Zadanie1; Определить наименьший по абсолютной величине среди четных по номеру элементов первой четверти массива
var M:array[1..38] of integer; i:integer; b,a,c:integer;
begin
writeln('Vod massiva');
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.
PROGRAM Zadanie4; Упорядочить ненулевые элементы последней трети массива по возростанию абсолютных значений
var M:array[1..38] of integer; i:integer; b,a,d,e,c:integer;
begin
writeln('Vod massiva');
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('Vod massiva');
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.
3.2 Тестирование программы
Литература
1. Культин Н. Turbo Pascal в задачах и примерах. СПб.: БХВ - Петербург, 2003.
2. Немнюгин С.А., Перколаб Л. Изучаем Turbo Pascal. СПб.: Питер, 2003.
3. Попов В.Б. Паскаль и делфи. Учебный курс. М.: Питер, 2005.
4. Рапаков Г.Г., Ржеуцкая С.Ю. TURBO PASCAL для студентов и школьников. СПб.: БХВ - Петербург, 2004.
5. Семакин И.Г., Шестаков А.П. Основы программирования. М.: Академия 2003.
6. Фаронов В. В. Turbo Pascal. - СПб.: БХВ-Петербург, 2004. 1056 с.
7. Гордон Я. Тонкости программирования на языке Паскаль: Учебное пособие по программированию на ПК / Ян Гордон. - Бук-пресс, 2006. - 320 с.
Размещено на Allbest.ru
Подобные документы
Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
контрольная работа [150,4 K], добавлен 03.05.2014Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.
лабораторная работа [123,5 K], добавлен 15.01.2014Особенности поиска среднеарифметического значения элементов массива. Общая характеристика проблем разработки в среде Turbo Pascal программы упорядочивания массива по возрастанию. Рассмотрение основных этапов разработки программы на языке PASCAL.
курсовая работа [896,7 K], добавлен 18.05.2014Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.
курсовая работа [241,7 K], добавлен 11.12.2009Разработка алгоритма поставленной задачи по обработке числовой информации в среде Turbo Pascal 7.0 с базовым языком программирования Pascal, отладка программы, реализующей разработанный алгоритм. Описание структуры программы, ее вспомогательных процедур.
курсовая работа [668,0 K], добавлен 25.02.2010Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.
курсовая работа [275,8 K], добавлен 28.06.2008Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.
курсовая работа [198,1 K], добавлен 03.02.2010Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.
курсовая работа [359,0 K], добавлен 23.05.2012