Абсолютное значение которых меньше 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!