|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Индивидуальные задания на процедуры и функцииЗамечания: ¨ Обмен данными между модулями осуществлять только через список параметров. ¨ Структурные типы формальных параметров необходимо описать в разделе типов главного модуля. ¨ Если в задаче используются несколько массивов, отличающихся только границами своих измерений, целесообразно объявить глобальный тип с максимальными значениями по каждой размерности. Имя этого типа будет типом формального параметра в заголовке модуля. 1. Даны два вектора А(10), В(20) и число К. Если в векторе нет компоненты, равной К, то в данном векторе заменить первую наибольшую компоненту на К. Если в векторе есть компонента, PАВHАЯ K, то "сжать" массив – удалить все элементы массива, равные К. 2. Даны векторы A[10], B[8], C[6]. Получить y = min A[i]. Все компоненты вектора В, предшествующие первой по порядку компоненте с наименьшим значением, заменить их квадратами. Символьной переменной Т присвоить значение TRUE, если компонента вектора С с наименьшим значением находится в первой половине вектора, и значение FALSE – в противном случае. 3. Даны векторы A[10], B[20]. Если у вектора A отрицательных компонент больше, чем неотрицательных, то все его отрицательные компоненты заменить на 2. Если у вектора B отрицательных компонент не больше, чем неотрицательных, то все его неотрицательные компоненты заменить на 5. 4. Даны векторы X[10], Y[20] и величина T. Если хотя бы одна компонента вектора X больше значения T, то все его отрицательные компоненты заменить на значение T. Если у вектора Y есть хотя бы одна положительная компонента, то все его отрицательные компоненты заменить максимальной компонентой этого вектора. 5. Даны векторы A[10], B[10], C[10], каждый элемент которых имеет значение 1 или 0. Значение каждой компоненты вектора, имеющего максимальное число компонент со значением 0 (в предположении, что такой вектор только 1), заменить логической суммой значений соответствующих компонент двух других векторов. 6. Даны векторы X[5],Y[10]. Символьной переменной присвоить значение TRUE, если число компонент у вектора Х, меньших 0,5, не меньше числа компонент у вектора Y, меньших 2,5, и значение FALSE – в противном случае. 7.Даны три массива A[10], B[7], C[8]. Упорядочить массивы в порядке возрастания и сформировать массив D из элементов трех исходных массивов, также упорядоченных по возрастанию. Если в массивах имеются повторяющиеся элементы, то их включить в массив D по одному разу. 8. Даны векторы А[20], B[15], C[10], у каждого из которых есть хотя бы одна отрицательная компонента. Символьной переменной L присвоить значение TRUE, если отрицательная компонента вектора С встретится не позднее, чем у векторов А и В (компоненты просматриваются в порядке возрастания их номеров), и значение FALSE – в противном случае. 9. Даны матрицы А[5,6] и В[7,8]. Если у какой-либо из этих матриц больше половины строк начинается с отрицательного элемента, то все отрицательные элементы этой матрицы заменить на ее наименьший элемент. 10. Даны массивы X [10], Y [10], Z [20]. Получить:
(max(i) X[i] + max(i)Y [i]) / 2, если max(i) Z [i] >= 0, Т= 1+(max(i) Z [i])2, в противном случае. 11. Даны массивы A[8], B[10], C[10]. Получить: min B(i) + min C(i), пpи |min A(i)| > 10, L = min(B(i) + C(i)), в противном случае. 12. Даны векторы X [10],Y[15] и число А. Получить: 15 10 П (1-y[i]3), при П (x[i]-0.5) < A, i=1 i=1 Z= 15 П (1-x[i]) / (1+x[i]) в противном случае. i=1 13. Даны массивы Х[15], Z[20,15] Получить , Вычислить: , если А > 25, , если А <= 25 14. Даны матрицы A[5,6] и B[7,8]. Переменной X присвоить значение, равное сумме элементов той строки матрицы A, в которой находится ее наибольший элемент; у матрицы B все отрицательные элементы в строках, которые следуют за строкой, содержащей наибольший элемент, заменить их квадратами. 15. Даны векторы A[10], B[20] и переменная Х. Вектор, имеющий наименьшее число отрицательных компонентов (в предположении, что такой вектор только один), умножить на значение R, где R = X для вектора А и R = X2 для вектора B. 16. Даны векторы A[10], B[18]. У каждого вектора, компоненты которого не образуют неубывающей последовательности, отрицательные компоненты заменить максимальным элементом. 17. Даны две целые квадратные матрицы C и T порядка N. Если сумма чётных элементов побочной диагонали матрицы C больше суммы аналогичных элементов матрицы T, то найти матрицу H = T + 2C, при иных – матрицу F = C - 5T. 18. Даны две целые квадратные матрицы C и T порядка n и два целых числа k и m, вводимые с клавиатуры. Если k < m, то получить матрицу A = kT + mC и подсчитать количество различных элементов в k-ом столбце матрицы T; иначе получить матрицу A = 2kT + 2mC и подсчитать количество различных элементов в m-ом столбце матрицы C. 19. Даны две целые квадратные матрицы C и T порядка n. Найти k1 – количество положительных чисел, кратных 5, выше главной диагонали матрицы T и k2 – количество положительных чисел, кратных 3, выше главной диагонали матрицы C. Если k1 > k2, найти F = TC + 3C, при иных – F = 5T + CT. 20. Даны две целые квадратные матрицы С и T порядка n. Если S – сумма элементов последней строки и последнего столбца матрицы T больше P – суммы аналогичных элементов матрицы C, то найти F = C + 2Tt, при иных – H = T + 5CТ, где TТ, СТ – транспонированные матрицы T и C соответственно. 21. Даны две целые квадратные матрицы C и T порядка n. Пусть p – сумма элементов двух заданных строк матрицы T, а q – сумма элементов двух других заданных строк матрицы C. Если p = q, найти матрицу D = 2T – pC, при иных – D=pT – qC. 22. Даны две целые квадратные матрицы C и T порядка n. Если количество нечётных элементов на обеих диагоналях матрицы T больше количества таких же элементов в матрице C, то найти D = E + T + C, при иных – D = 2E + T + 3C, где E – единичная матрица порядка n. 23. Даны две целые квадратные матрицы C и T порядка n. Если произведение элементов побочной диагонали матрицы T меньше произведения таких же элементов в матрице C, то найти H = T – 3C + E, при иных – Н = C + 2T + 2E, где E – единичная матрица порядка n. 24. Даны две целые матрицы А[5,6] и В[7,8]. Если у какой-либо из этих матриц больше половины строк начинается с простого числа, то все отрицательные элементы этой матрицы заменить на 1. 25. Даны векторы X[10],Y[8]. Булевской переменной F присвоить значение TRUE, если число элементов вектора Х, удовлетворяющих условию 0 < |Хi| < 0,5, не меньше числа компонент вектора Y, удовлетворяющих условию 3 < |Хi| < 5, и значение FALSE – в противном случае. 2.5.3. Контрольные вопросы и задания 1. Какова структура описания процедуры и функции? 2. В чем состоит отличие процедуры от функции? 3. Что такое область действия идентификаторов? 4. Каковы основные правила определения области действия для идентификаторов процедур и функций? 5. Какие параметры называются формальными, а какие фактическими? 6. По каким признакам различаются параметры? 7. Какие способы передачи параметров реализованы в Паскале? 8. Каковы правила передачи параметров-значений? 9. Каковы правила передачи параметров-ссылок? 10. В чем особенности бестиповых параметров? 11. Для чего предназначены директивы near и far? 12. В чем особенности использования директивы forward? 13. Напишите подпрограмму поиска максимального элемента в массиве. 14. Напишите подпрограмму подсчета количества положительных элементов квадратной матрицы порядка N. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |