Разработка в среде 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.