Абсолютное значение которых меньше 1



КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»

РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL

НА ТЕМУ:

«Разработка в среде Turbo Pascal поиска определенных элементов

 массива»

 

 

выполнил студент: Валиуллин И.Р.

группы: 12-17т

                                                                      проверил: ст. преподаватель

 Потапова О.Н

 

Альметьевск 2012 г.

ОГЛАВЛЕНИЕ

ПОСТАНОВКА ЗАДАЧИ.. 3

ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ ГРАФИЧЕСКИМ СПОСОБОМ.. 4

Укрупненная схема алгоритма и ее детализация. 4

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

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

РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ PASCAL.. 15

Описание блоков укрупненной схемы алгоритмов на языке Pascal 16

Листинг программы.. 24

Тестирование программы.. 27

ЛИТЕРАТУРА.. 28

 


ПОСТАНОВКА ЗАДАЧИ

В одномерном массиве, состоящем из N вещественных элементов, вычислить количество положительных элементов массива и сумму элементов массива, расположенных после последнего элемента, равного нулю. Из элементов исходного массива, абсолютное значение которых меньше единицы, сформировать одномерный массив и упорядочить его по возрастанию.  Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.                                    Массив - это упорядоченная последовательность величин, имеющих один и тот же тип и объединённых одним именем. Число элементов массива задаётся при описании и в процессе выполнения программы не меняется. Отдельные величины, составляющие массив, называются элементами массива. При обращении к элементу массива, необходимо указывать его имя, а в квадратных скобках его индексы.

Исходными данными являются элементы одномерного массива, который должен быть задан по условию задачи с помощью генератора случайных чисел Random. Для этого используем выражение random *10-5 . R andom – возвращает случайное вещественное число в диапазоне 0<=х<1.  Для более точных дальнейших вычислений округлим, с помощью функции round ( x ), полученные вещественные значения до одного знака после запятой. Так как функция round ( x ) преобразует вещественный аргумент x в целое число путем округления до ближайшего целого значения, то для округления полученного с помощью генератора случайных чисел значения х до одного знака после запятой умножим данное значение на 10, а затем результат от выполнения функции round ( x *10) поделим на 10. То есть мы в целом получаем следующий оператор A [ i ]:= round (( random *10-5)*10)/10.


ОПИСАНИЕ АЛГОРИТМА РЕШЕНИЯ ЗАДАЧИ
ГРАФИЧЕСКИМ СПОСОБОМ

Укрупненная схема алгоритма и ее детализация

 


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

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

1. Ввод и вывод элементов одномерного массива А

 Заполнение N вещественных элементов массива А с помощью генератора случайных чисел. Берем интервал [-5,5). Для ввода элементов одномерного массива нам следует использовать цикл с параметром. Сам по себе алгоритм циклической структуры – это алгоритм, в котором отдельные действия выполняются многократно. Цикл с параметром реализован в блок-схеме блоком модификации (i=1,N,1), где i – параметр цикла, отвечающий за номера элементов массива, 1 – начальное значение параметра цикла, N – конечное.

Как оговаривалось в постановке задачи, ввод элементов одномерного массива будем осуществлять с помощью генератора случайных чисел. Функция Random без параметра возвращает действительное (real) число в диапазоне -5<=i<5.

2. Вычисление количества положительных элементов массива и суммы элементов массива, расположенных после последнего нулевого элемента

Чтобы найти последний нулевой элемент используем цикл с предусловием. Цикл – это последовательность операторов, которая может выполняться более одного раза. Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла. Если условие сразу ложно, то оператор не выполнится ни разу.Поиск начинаем с конца массива. Если проверяемый элемент массива не равен 0, то он суммируется в переменную sum. Если элемент больше нуля, то увеличиваем переменную kol на единицу. В том случае если проверяемый элемент равен нулю, то происходит выход из цикла и в переменную nom помещается индекс нулевого элемента массива. Если нулевой элемент не найден, то в переменные kol и sum помещаем значения 0.

3. Формирование массива В, состоящего из элементов массива А,

абсолютное значение которых меньше 1

Для формирования массива B из массива А используем цикл с параметром. Цикл с параметром используется, когда известно начальное значение переменной, конечное значение и шаг изменения цикла где i – параметр цикла, отвечающий за номера элементов массива, 1 – начальное значение параметра цикла, N – конечное.

 Внутри цикла проверяем все элементы массива А. Если абсолютное значение проверяемого элемента abs ( A [ i ]) меньше 1, то значение переменной k увеличиваем на 1, а в элемент B [ k ] массива B помещаем значение найденного элемента A [ i ]. Найденный элемент массива  B [ k ] выводим на экран. 

4. Сортировка по возрастанию элементов массива В

Для сортировки элементов массива B используем алгоритм сортировки методом обмена. Для сортировки (упорядочивания) элементов массива B по возрастанию используем алгоритм сортировки обменом. Чтобы реализовать данный алгоритм, нам понадобятся вложенный цикл и ветвящаяся структура. Алгоритм ветвящейся структуры – алгоритм, ход в котором зависит от истинности тех или иных условий. Он делится на 3 вида:

Ответвление - в зависимости от условия выполнение вычислительного процесса происходит только по одному из направлений, например, по направлению, указанному знаком "+".

Развилка - в зависимости от итога проверки условия происходит выполнение либо одного вычислительного процесса, либо другого: если условие выполняется, то процесс продолжается по направлению, указанному знаком «+», иначе (условие не выполняется) – по направлению, указанному знаком «-».

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

Алгоритм сортировки обменом состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно: сначала сравниваются первый и второй элемент, после второй и третий, и т. д. до элемента i-1 и, если первый элемент больше второго то выполняется обмен элементов. Проходы по массиву повторяются i-1 раз, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим наибольшим элементом, а наименьший элемент перемещается на одну позицию к началу массива.

 Вначале сравниваем значение первого элемента со значением второго с помощью логического блока. Т.е. если первый элемент больше второго, то выполнение вычислительного процесса происходит по направлению "+" - элементы меняются местами (замену производим с помощью буферной переменной prom). После этого значение второго элемента массива сравнивается со значением третьего и так далее, пока не проверится последний и предыдущий элементы первого столбца. Таким образом, мы получим массив, в котором элементы отсортированы по возрастанию.

Соответствующий алгоритм в виде блок-схемы можно представить следующим образом:

 

5. Вывод отсортированных элементов массива B

После сортировки выводим полученный массив на экран. Вывод элементов массива осуществляется при помощи вложенного цикла с параметром:

 

 

 


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



Дата добавления: 2022-07-02; просмотров: 37; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!