Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Обработка одномерных массивов



Цель лабораторной работы: изучение структурной организации массивов и способов доступа к их элементам; совершенствование навыков структурного программирования на языке Турбо Паскаль при решении задач обработки массивов.

Задание на программирование: используя технологию структурного программирования, разработать программу обработки одномерных массивов в соответствии с индивидуальным заданием.

Порядок выполнения работы:

1) Получить у преподавателя индивидуальное задание и выполнить постановку задачи: сформулировать условие, определить входные и выходные данные, их ограничения.

2) Разработать математическую модель: описать с помощью формул и рисунков структуру массивов и процесс их преобразования.

3) Построить схему алгоритма решения задачи.

4) Составить программу на языке Турбо Паскаль.

5) Использовать оконный интерфейс предыдущих лабораторных работ.

6) Входные данныевводить с клавиатуры по запросу.

7) Выходные данные выводить на экран с пояснениями.

8) Проверить и продемонстрировать преподавателю работу программы на полном наборе тестов, в том числе с ошибочными входными данными. Входные и выходные массивы должны выводиться в одном и том же формате.

9) Оформить отчет о лабораторной работе в составе: постановка задачи, математическая модель, схема алгоритма решения, текст программы, контрольные примеры.


Варианты индивидуальных заданий

Дан массив b1, b2,…, b2n. Написать программу построения массивов x1, x2,…, xn и y1, y2,…,yn, элементы которых равны соответственно значениям: b1, b3,…, b2n-1 и b2, b4,…, b2n.

Дан целочисленный массив a1, a2,…, am. Из абсолютных величин его элементов выбрать наибольшую. Далее построить массив, i-й элемент которого равен нулю, если |ai| не совпадает с выбранным значением, и равен 1 в противном случае.

Написать программу построения массива с элементами:

a1, a1+a2, a1+a2+a3,a1+a2+a3+…+an по данному массиву a1, a2,…, an.

В вещественном массиве x1,x2,…,xn заменить нулем все отрицательные элементы, предшествующие его максимальному элементу.

Даны массивы a1, a2,…, an и b1, b2,…, bn. Получить массив С, элементы которого:

a1, b1,a2, b2, … an, bn.

Дан вещественный массив x1, x2,…, xm. Все его элементы, следующие за наибольшим элементом, заменить значением b.

Даны вещественные массивы x1, x2,…, xn и y1, y2,…, yn. Преобразовать их по правилу: большее из значений xi и yi принять в качестве нового значения xi, а меньшее – в качестве нового значения yi.

Дан целочисленный массив a1, a2,…, an. Если в массиве нет ни одной компоненты с заданным значением К, то первую по порядку компоненту этого массива, не меньшую всех остальных компонент, заменить значением К.

Написать программу, осуществляющую циклический сдвиг компонент массива x1,x2,…,xn (n>=2) на одну позицию влево, то есть получающую массив x2,x3,…,xn,x1.

Дан вещественный массив a1, a2,…, an. Если в этом массиве есть хотя бы один элемент, значение которого меньше Р, то значения всех отрицательных элементов массива заменить их квадратами, в противном случае массив а умножить на число b.

Дан вещественный массив x1, x2,…, xn. Определить сумму и количество компонент этого массива, принадлежащих отрезку [a,b].

Преобразовать массив а1, а2,…, аn так, чтобы его элементы расположились в обратном порядке: аn, аn-1,…, а1.

Написать программу выбора среди элементов массива а1, а2,…, аn наибольшего среди остающихся после выбрасывания наибольшего и всех ему равных. Предполагается, что не все элементы равны между собой.

Из массива а1, а2,…, а3n получить массив b1, b2,…, bn, очередная компонента которого равна среднему арифметическому тройки очередных компонент массива а.

Дан целочисленный массив b1, b2,…, bn. Если элементы этого массива не образуют убывающей последовательности, то заменить его отрицательные элементы единицами.

Дан целочисленный массив а1, а2,…, аn, среди элементов которого могут быть равные. Из каждой группы равных между собой элементов нужно оставить только один, выбросив все остальные. Освободившийся хвост массива заполнить нулями.

Дан вещественный массив а1, а2,…, аn. Если в этом массиве есть хотя бы один элемент, принадлежащий отрезку [x, y], то все элементы, не принадлежащие этому отрезку, заменить значением К.

Дан массив а1, а2,…, аn. Переставить его элементы так, чтобы в начале массива расположились все его неотрицательные элементы, а в конце – отрицательные.

Написать программу сжатия массива x1, x2,…, xn отбрасыванием нулевых элементов. Освобождающийся хвост заполнять нулями.

Написать программу выполнения следующего задания: из всех непрерывных участков массива а1, а2,…, аn, состоящих из нулей, выбрать наибольший по длине. Вывести индексы его начала и конца.

Дан вещественный массив x1,x2,…,xm. Найти число компонент, значения которых принадлежат отрезку [c, d], предшествующих первой по порядку отрицательной компоненте.

Дан массив b1, b2,…, b2m. Написать программу построения массива с элементами, соответственно равными: b2m, b1, b2m-1, b2, …, bm+1, bm.

Дан массив x1,x2,…,xn. Все элементы массива, предшествующие наибольшему из его отрицательных элементов, заменить их квадратами.

Дан массив а1, а2,…, а2n. Написать программу построения массива с элементами, соответственно равными: а1, аn+1, а2, аn+2,…, аn, a2n.

Дан вещественный массив с1, с2,…, сn. Если элементы этого массива не образуют неубывающей последовательности, то значения всех его отрицательных элементов заменить их квадратами.

Написать программу циклического сдвига вправо на К позиций одномерного массива из n элементов.

Написать программу слияния двух упорядоченных одномерных массивов

x1, x2,…, xn и y1, y2,…, ym в третий массив z1, z2,…, zn+m, также упорядоченный по возрастанию.

Написать программу циклического сдвига влево на К позиций одномерного массива из n элементов.

Найти сумму и произведение всех элементов массива b1, b2,…, bm.

Найти сумму положительных и число отрицательных элементов массива а1, а2,…, аn.

Написать программу вычисления числа положительных и суммы отрицательных элементов массива x1, x2,…, xm.

Заданы упорядоченный по возрастанию массив y1 < y2 <…< ym и величина x. Известно, что y1 < x < ym. Написать программу определения целого числа К, удовлетворяющего условию: yk-1 < x < yk.





Дата публикования: 2014-11-03; Прочитано: 546 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...