Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Суммирование, вычисление произведения.Стр 1 из 7Следующая ⇒
Москва 2009
Введение Лабораторный практикум включает работы по следующим темам: алгоритмизация и программирование циклических процессов и известным и неизвестным числом повторений, работы с одномерными и двумерными массивами. Цель работ – приобретение практических навыков алгоритмизации задач и программирование на языке QBASIC. Лабораторный практикум включает подробное описание порядка выполнения работ, примеры выполнения и оформления работ, варианты заданий к каждой работе. Теоретические сведения, содержащиеся в описании каждой лабораторной работы, помогут студентам в освоении курса «Информатика» и успешном выполнении лабораторного практикума. Циклические вычислительные процессы с известным числом повторений. Циклические вычислительные процессы часто встречаются на практике, когда решение задачи сводится к многократному вычислению по одним и тем же математическим зависимостям при различных значениях входящих в них величин. Повторяющиеся участки этого вычислительного процесса называют циклами. Циклический алгоритм позволяет существенно сократить объем программы за счет многократного выполнения ее циклического участка. Табулирование функции Пример 1. Вычислить функцию Гаусса. На участке 0; 2 с шагом 0, 1; Блок – схема алгоритма и расчетная программа выглядят следующим образом:
В заголовке оператора цикла указано последнее значение аргумента=4, 05. Значение t=4 увеличено на полшага для того, чтобы в таблице значений не было пропущено последнее значение функции для t=4.0, т.к. t – переменная действительного типа. Пример 2. Табулировать функцию, зависящую от параметра А, на отрезке 0, 1 < =X < =0.9 с шагом 0, 2 для следующих значений параметра 0, 15; 0, 35; 0, 54. В программе результаты решения отпечатать в виде: A= X= Y=
A= X= Y= Ввод параметра А удобно произвести с помощью оператора INPUT, который запрашивает с внешнего устройства исходные данные. Практическим действием этого оператора являются печать вопросительного знака. Пользователь вводит необходимое количество данных по числу переменных в операторе INPUT. Программа на QBasic: INPUT a PRINT " A="; a FOR x =.1 TO 1.1 STEP.2 y = 4 * SQR(1 - a * x ^ 2) / (1 + SQR(a ^ 2 + x ^ 2)) PRINT " X="; x, " Y="; y NEXT x END Результаты решения: Пример 3. Табулировать две функции: В программе ввод переменных b, c, d, f производится с помощью оператора блока данных (DATA) и оператор чтения (READ), который присваивает переменным списка последовательные значения из блока данных. Операторы DATA и READ во многих случаях целесообразнее оператора INPUT и экономичнее его, так как работают без запросов к пользователю и тем самым ускоряют решение задачи. Однако эти операторы могут быть использованы в случае, если значения переменных известны до начала счета и поэтому не могут полностью заменить оператор INPUT, позволяющий вводить данные в ходе счета. Программа: PI = 3.1415 / 2 READ B, C, D, F DATA 2, 3.96, 10.3, 15.85 FOR X = 0 TO PI / 2 +.1 STEP.2 Y = COS(X) + B * SQR(C) Z = SIN(X) + D / F PRINT " X="; X, " Y="; Y, " Z="; Z NEXT X: END Результаты решения
Суммирование, вычисление произведения. Пример 4. Необходимо проводить накопление суммы в цикле, прибавляя всякий раз к значению переменной, где накапливается сумма, очередное слагаемое. Для вычисления суммы необходимо выполнить следующие правила: · Обнулить начальное значение суммы S=0. · Суммирование проводить по правилу S=S+F(n), где F(n) – функция, стоящая под знаком суммы.
Результат решения: S= 192.945 Пример 5. В точках: При вычислении произведения из сомножителей накопление произведения происходит по принципу накопления суммы с той разницей, что нужно в ячейку накопления произведения вначале заслать единицу, а не ноль, как при вычислении суммы. Программа на языке бейсик: INPUT X P = 1 FOR K = 2 TO 11 P = P * (1 - SIN(X) ^ 2 / (SIN(2 * K - 1) ^ 2 / 44)) NEXT K U = X ^ 2 * P Y = COS(22 * X) Z = U / Y PRINT X, Y, U, Z END Результаты решения: Пример 6.
Блок-схема
Программа: INPUT K, X IF X< 0 THEN Y=1 FOR i=1 TO k Y=Y*(X+1+SIN(K)) NEXT i PRINT X, Y ELSEIF X=0 THEN Y=0 PRINT X, Y ELSEIF X> =3 AND X< =5 THEN Y=0 FOR j=5 TO 43 Y=Y+(X+j) NEXT j Y=Y+117.5 PRINT X, Y END IF END Построение графика Пример 7. Рассмотрим программу: FOR X=0 TO 15 PRINT TAB (X); “*” NEXT X STOP Результат выполнения этой программы представлен на рис. 1 Рис. 1 Когда программа выполняется, то при X=0 “*” появляется в нулевой позиции первой строки, при X=1 (при втором выполнении оператора PRINT) “*” появляется в первой позиции следующей строки, при X=2 “*” появляется во второй позиции третьей строки и т. д. Строки отстоят друг от друга на равном расстоянии, и этому расстоянию может быть поставлен в соответствие постоянный шаг изменения X, равный в рассматриваемой программе 1. Таким образом, совокупность звездочек, появившаяся на экране в результате выполнения программы, может рассматриваться как график функции Y=X в интервале изменения X от 0 до 15. При этом вертикальная ось экрана является осью абсцисс (осью x), а горизонтальная – осью ординат (осью y), т. е. График оказывается повернутым относительно привычного представления на 90°. Пример 8. Рассмотрим еще одну программу: FOR X% = -5 TO 5 STEP 1 Y% = X% * X% PRINT TAB(Y%); " *" NEXT X% STOP Знак % показывает, что переменные X и Y принимают целые значения. В результате выполнения этой программы получается график, показанный на рис. 2 * * * * * * * * * * * Рис. 2 При каждом выполнении оператора PRINT на следующей строке экрана появляется * в позиции, определяемой значением X*X, где X меняется от –5 до 5 с шагом 1. Если считать вертикальную ось экрана осью x, а горизонтальную – осью y, то после выполнения этой программы на экране будет вычерчен график функции y=x2, содержащей 11 точек, обозначенных звездочками. Приведенную программу можно модифицировать таким образом, чтобы рядом с * на экране появлялось значение функции. Рассмотрим следующую программу на бейсике. Пример 9. FOR X% = -5 TO 5 STEP 1 Y% = X% * X% PRINT TAB(Y%); " *"; Y% NEXT X% STOP В результате выполнения этой программы получим график (рисунок 3). Рис. 3 Модифицируем программу так, чтобы на экране вычерчивались также оси абсцисс и ординат. Для этого добавим еще один член в список вывода оператора PRINT, с тем, чтобы на каждой строке в первой позиции печатался символ «! » (из этих символов и будет состоять ось абсцисс). Ось ординат начертим символами – «-», которые должны для этого быть выведены во всю строку при x=0. Программа на бейсике для решения этой задачи имеет вид: Пример 10. FOR x% = -5 TO 5 STEP 1 IF x% = 0 THEN PRINT " *"; FOR I = 1 TO 30 PRINT " -"; NEXT I END IF PRINT " I"; TAB(x% * x%); " *" NEXT x% При выполнении такой программы получим график, изображенный на рис. 4 Рис. 4 При составлении программы для получения графика функции нужно иметь в виду, что аргумент функции TAB может изменяться в диапазоне от 0 до 80 и, следовательно, если значения функции y=f(x) лежат вне этого диапазона или изменяются незначительно для отдельных точек графика, то следует вводить масштаб и сдвиг. Масштаб выбирается, исходя из тех соображений, чтобы минимальное и максимальное значения функции изображались точками, отстоящими друг от друга не более чем на ширину экрана. Сдвиг выбирается так, чтобы минимальное значение выводилось не менее чем в 0-ю позицию. Если ymax и ymin – максимальное и минимальное значения функции y=f(x) при изменении x в заданных пределах, то масштаб M и сдвиг S можно определить, используя соотношения Mymax+S=Amax , Mymin+S=Amin, Где Amax и Amin – максимальное и минимальное значения аргумента функции TAB (выбираются в пределах от 0 до 71). Аргумент функции TAB задается далее выражением S+Mf(x). Пример 11: Построить график функции y=sin x в интервале от 0 до 2π с шагом π /8 с вычерчиванием оси абсцисс. Значения функции sin x изменяются в пределах от –1 до 1, и значения масштаба и сдвига можно, следовательно, определить из соотношений M+S=50, -M+S=0 (график будет располагаться между 0-й и 50-й позициями экрана). Отсюда M=25, S=25. При вычерчивании оси абсцисс нужно иметь в виду, что в первом полупериоде символ, изображающий ось абсцисс (! ), должен печататься до символа, изображающего функцию, во втором – наоборот. Если же функция равна 0, т. е. Пересекает в этой точке ось абсцисс, то в эту позицию должен выводиться только один символ (*). Поэтому в программе должны быть три различных оператора PRINT. Пояснения к программе. В программе использованы вспомогательные переменные P и H, чтобы не вычислять многократно одни и те же выражения. Проверка P на совпадение с нулем осуществляется с точностью 2*10-3. Точное равенство нулю значения sin x практически никогда не достигается, так как вычисление sin x в ЭВМ осуществляется приближенно суммированием ряда. Программа на бейсике: H = 3.14 / 8 FOR X = 0 TO 2 * 3.14 STEP H P = 25 * SIN(X) IF ABS(P) < =.002 THEN PRINT TAB(25); " *" END IF IF P > 0 THEN PRINT TAB(25); " I"; TAB(P + 25); " *" END IF PRINT TAB(P + 25); " *"; TAB(25); " I" NEXT X Результат выполнения программы представлен на рис.5 * ! * ! * ! * ! * ! * ! * ! * * *! *! *! *! *! *! *! * Рис. 5 Для выполнения лабораторной работы студент получает вариант задания у преподавателя. Отчет по работе должен содержать: 1. Математическую постановку задачи 2. Блок-схему алгоритма 3. Программу на языке QBASIC 4. Результаты выполнения программы 5. Результат выполнения задачи с использованием ППП EUREKA 6. Анализ полученных результатов Варианты заданий для самостоятельной работы: Задание №1 Задание. Вычислить сумму ряда с точностью ε для всех значений аргумента x, меняющегося от x начального до x конечного с шагом ∆ x. Вычислить точное значение функции для каждого x, подсчитать ошибку вычислений по формуле
t= ((|сумма ряда – точное значение|)/точное значение)*100% и количество шагов для достижения заданной точности. Результат выполнения программ должен быть представлен в следующем виде:
Работа с массивами Основные положения Массивом называется упорядоченная совокупность переменных. Каждая переменная в этой группе называется элементом массива и характеризуется значением к местоположением внутри массива. Массивы могут быть одномерными, двумерными, трехмерными,..., В зависимости от типа хранимых данных массивы могут быть числовыми (действительного или целого типа) и текстовыми. Все элементы в массиве должны быть одного и того же типа. В качестве индекса элемента массива могут использоваться числа, переменные целого типа, арифметические выражения. Индекс - всегда число целое. Например: А(3) - 3-й элемент одномерного массива, состоящего из переменных действительного типа (в случае если элементы нумеруются с 1-го). В% (2, 3) элемент двумерного массива (матрицы), состоящего из переменных целого типа, стоящий во 2-й строке, 3-м столбце. С $(I+1, 2) - элемент матрицы, состоящий из символьных переменных, стоящих в (i+1)-й строке, 2-м столбце. Пример одномерного массива a1, а2, а3, а4,..., а100 Общий элемент такого массива можно обозначить как ai В бейсике - a (i). Индекс всегда записывается в круглых скобках. Пример двумерного массива bll, b12, bl3, bl4, bl5 b21, b22, b23, b24, b25 b31, b32, bЗЗ, b34, b35 Общий элемент двумерного массива - bij, где i - номер строки, j-номер столбца В бейсике - b (i j). Пример трехмерного массива Общий элемент трехмерного массива c(i, j, k)
Значения элементам массива можно присваивать различными способами: 1способ. С помощью оператора присваивается А(2)=15.1 А(3)=- 7, 45 Такой способ можно использовать в случае, если массив небольшой, 2 способ. С помощью цикла 2.1. FOR i = l TO 10 INPUT a(i) NEXT i В этом случае все элементы массива вводятся с клавиатуры. 2.2. DATA 2.5, -7.3, 4.8, 10.1, 76.8 FOR i = l TO 5 READ a(l) NEXT i Этот способ удобен тем, что данные не теряются при повторном выполнении программы, Значения хранятся в операторе data и вводятся в программу один раз - при ее написании. Оператор read обращается к оператору data и присваивает очередной переменной текущее значение из списка. 3 способ. С помощью стандартной функции rnd FOR i = l TO 10 c(i) = RND (i) NEXT i В этом случае используется специальная функция, генерирующая случайные числа - функция rnd Оператор DIM DIM имя 1 (индекс 1) [, имя 2 (индекс 2), … где как [нижний TO] верхний [нижний ТО] верхний … где - нижний - нижнее значение индекса массива (по умолчанию ноль) верхний - верхнее значение индекса массива. Оператор DIM резервирует место в памяти для размещения элементов массива. Например: DIM A$ (5), В% (1 to 5), С (5 to 10, 1 to 10 ) 1. Определяется имя массива 2. Определяется тип элементов массива 3. Резервируются ячейки памяти для массива 4. Заполняются нулевыми значениями ячейки для массива числового типа или пустыми строками текстовый массив. Оператор DIM может находится в любом месте программы до первого обращения к массиву, который он объявляет. Обычно оператор DIM помещают в начало программы, что облегчает процесс отладки. OPTION BASE 1 DIM C%(100) Массив целых чисел, определенный в этом примере, состоит из 100 элементов. QBASIC позволяет явно задавать область изменения индексов массива. Например: DIM MON% (1 to 12), DAI (1 to 31). Пример CLS REM объявление двухмерного массива DIM a(-5 TO 10, 2 TO 7) REM вывод границ массива PRINT LBOUND(a, 1); PRINT UBOUND(a, 1) PRINT LBOUND(a, 2); PRINT UBOUND(a, 2) END В результате будет напечатано -5 10 2 7 Эти функции целесообразно использовать в том случае, если число задействованных элементов массива изменяется внутри программы или если необходимо использовать минимальное и максимальное значения индексов для определения области изменения счетчика цикла. При решении задач с использованием массивов условно можно выделить следующие модули: Ввод массива → Операции с массивом → Вывод массива Лабораторная работа №3 Одномерные массивы Ввод одномерного массива Пример: Ввести одномерный массив действительных чисел, состоящий из n элементов. А)
При выполнении этой программы элементы массива вводятся с клавиатуры.
Б) При выполнении этой программы элементы массива вводятся из блока данных
Если необходимо ввести два или несколько одномерных массивов, то программа может быть: print " введите массивы а и b" for i=l to n input a (i), b(i) next i. Вывод одномерного массива Пример: вывести на печать элементы одномерного массива (массив из 10 элементов.
В этом случае при выполнении программы все элементы массива будут напечатаны в столбец, каждый элемент на отдельной строке. Если в цикле будет оператор print a (i), (запятая после оператора print), то элементы будут напечатаны по 5 элементов в строке. Если в цикле будет оператор print a (i); (ставится; ) то элементы массива будут напечатаны в строку. При выводе двух или более одномерных массивов одного размера удобно вывести их как параллельно расположенные столбцы: print " массив a", " массив b" for i= I to n print a (i), b(i) next i Суммирование по условию Вычислить среднее положительных элементов одномерного массива ai (i=1, n)
Если ai > 0
rem среднее положительных rem элементов одномерного rem массива S = 0: k = 0 for i = l to n if a( i ) > 0 then S = S + a(i) k = k + 1 end if next i S2 = S/k print S2 Рис.6 Задание 1 1.Даны два массива по 20 элементов в каждом. Получить третий массив делением большего из соответствующих элементов исходных массивов на меньший (деление на 0 исключить). В новом массиве найти максимальный элемент. Результат распечатать в виде: Массив1: Массив2: Массив3: MAX=
2.Даны два массива по 20 элементов. Получить новый, сложив соответствующие элементы исходных массивов. Найти элемент третьего массива, соответствующий минимальному элементу второго массива. Результат распечатать в виде: Массив1: Массив2: Массив3: MIN= imin= mas3(imin) 3.Дан массив из 20 элементов. Найти максимальное из чисел, попавших в заданный интервал [ р, q ] и определить его номер. Результат распечатать в виде: P= Q= MAX= imax= 4.Даны два массива по 20 чисел. В каком из массивов минимальное число встречается раньше. Результат распечатать в виде: Массив1: Массив2: MIN= 5.Даны два массива А и В по 15 элементов в каждом. Получить новый массив ci=ai+bi. Найти в нем максимум. Результат распечатать в виде: Массив А: Массив В: Массив С: MAX=
6.Даны два массива А и В по 20 элементов в каждом. Поменять местами элементы массива А, имеющие нечетный индекс, на элементы массива В, имеющие четный индекс, и найти минимальные элементы АМАХ и ВМАХ. Результат распечатать в виде: Массив А: Массив В: AMAX: BMAX: 7.Дан массив, содержащий 12 элементов, определить номер элемента с минимальным квадратом. Напечатать номер и значение этого элемента. Результат распечатать в виде: Массив: imin= MIN= 8. Дан массив из 30 элементов. Найти максимальный среди отрицательных и минимальный среди положительных элементов. Результат распечатать в виде: Массив: MAX= MIN= 9. Дан массив, содержащий 15 элементов, получить новый, каждый элемент которого - разность квадрата и основания соответствующего элемента исходного массива. В новом массиве найти максимум. Результат распечатать в виде: Исходный массив: Новый массив: MAX= 10. Дан массив, содержащий 15 целых чисел, найти среди элементов, стоящих на четных позициях, тот, куб которого минимален. Результат распечатать в виде: Массив: Элемент: Куб элемента: Номер элемента: 11. Дан массив из 25 элементов, найти сумму четырех наибольших и четырех наименьших элементов. Результат распечатать в виде: Массив: Сумма наибольших = Сумма наименьших = 12.Дан массив А из 20 чисел. Найти элемент, косинус которого минимальный. Результат распечатать в виде: Массив: a(i)= сos(a(i))= 13.Дан массив, содержащий 15 элементов, определить номер элемента, квадрат которого минимален. Результат распечатать в виде: Массив: imin= 14.Из квадратов элементов массива, содержащего 25 чисел, построить новый. Найти в нем максимальный и минимальный элементы. Результат распечатать в виде: Исходный массив: Новый массив: MAX= MIN= 15. Даны два массива по 20 элементов. Найти максимальные и минимальные элементы в каждом массиве, их индексы, количество элементов между ними, сравнив их между собой. Результат распечатать в виде: Массив1: Массив2: MAX= imax= Количество элементов: MIN= imin= MAX-MIN= 16.В массиве содержащем 20 чисел, найти минимальное из принадлежащих заданному интервалу и запомнить его номер. Результат распечатать в виде: Массив: MIN= imin= 17.Даны два массива по 20 элементов. Получить третий, сложив кубы соответствующих элементов исходных массивов. В новом массиве найти максимальное число из элементов стоящих на нечетных позициях. Результат распечатать в виде: Массив1: Массив2: Массив3: MAX= 18.Дан массив, состоящий из 20 элементов. Найти все тройки элементов массива, сумма которых равна К и подсчитать число таких троек. Результат распечатать в виде: Массив: Число троек = 19.Дан массив из 30 чисел. Найти минимальное из чисел, больших заданного. Отпечатать его номер. Результат распечатать в виде: Массив: MIN= imin= 20.Даны два массива по 19 элементов в каждом. Получить третий, как разность второго и первого и найти в нем максимальный элемент и его номер. Результат распечатать в виде: Массив1: Массив2: Массив3: MAX= imax= 21. Даны три массива по 20 элементов. Найти максимальное из средних арифметических для соответствующих элементов данных массивов. Напечатать значения элементов, давших этот максимум. Результат распечатать в виде: Массив1: MAX1= Массив2: MAX2= Массив3: MAX3= Значения элементов: 22.Даны два массива по15 элементов в каждом. Насколько минимальный элемент первого массива отличается от элемента второго массива. Результат распечатать в виде: Массив1: Массив2: MIN1= MIN2= 23.Даны два массива по15 элементов. Определить величину S по правилу: 1, если МАХ(х(I)) > МАХ(у(I)) S= 0, в противном случае Результат распечатать в виде: Массив1: Массив2: S=
24.Дан массив из 23 элементов. Заменить все числа на обратные и найти минимальное из полученных чисел. Результат распечатать в виде: Массив: MIN= Исходное число: Индекс исходного числа: 25.Дан массив из 15 элементов. Найти среднее арифметическое каждых четырех элементов и определить минимальное. Результат распечатать в виде: Массив: MIN= 26.Дан массив из 15 чисел. Найти максимальное по абсолютной величине, число и его номер. Результат распечатать в виде: Массив: MAX= imax= 27.Даны два массива по 20 элементов. Получить третий как произведение первого и второго. В третьем массиве найти минимальный по абсолютной величине элемент. Результат распечатать в виде: Массив1: Массив2: Массив3: MIN= 28.В массиве, состоящем из 15 элементов, найти минимальный из элементов с четными индексами. Результат распечатать в виде: Массив: MIN= imin= 29.Дан массив из 20 элементов. Найти минимальный среди элементов, номер которого кратен трем. Результат распечатать в виде: Массив: MIN= 30. Даны три одномерных массива по 15 элементов каждый. Построить новый массив по правилу: di=ai+(bi+ci)/2. Определить максимальный элемент в массиве d. Результат распечатать в виде: Массив1: Массив2: Массив3: Массивd: MAX= Задание 2 1. Даны два массива по 20 элементов. Получить третий массив по правилу:
ai+ √ ai Ci= bi (исключить деление на ноль и извлечение корня из отрицательных чисел). Определить разницу между средним арифметическим и максимальным элементом для третьего массива. 2. Дан одномерный массив (не более 20 чисел). Найти максимальный и минимальный для положительных и среднее арифметическое для отрицательных элементов массива. 3. Дан одномерный массив. Число элементов не более 16. Для элементов, принадлежащих заданному интервалу, определить среднее арифметическое и минимум. 4. Даны два массива по 20 элементов в каждом. Если соответствующий элемент 1-го массива больше соответствующего элемента 2-го массива, увеличить значения этих элементов на заданное число, в противном случае оставить без изменения. Найти сумму положительных, количество отрицательных и номер максимального элемента 1-го и 2-го массивов после преобразования. 5. По двум массивам построить третий, как сумму соответствующих элементов исходных массивов, если элементы отрицательные, и как разность, если элементы положительные. Найти сумму отрицательных элементов в полученном массиве и максимальный элемент среди положительных элементов. 6. Даны три массива. Построить четвертый, элемент которого – номер массива, в котором оказался минимальный из соответствующих исходных элементов. Подсчитать, сколько в полученном массиве окажется элементов, величины которых равны 1, 2, 3. 7. Преобразовать два заданных массива, увеличивая их соответствующие элементы на большее из рассматриваемой каждый раз пары чисел. В первом из полученных массивов найти среднее арифметическое, во втором – максимальный и минимальный элементы. 8. По двум массивам построить третий,. элементы которого являются частными от деления элементов первого на соответствующие элементы второго массива. Если делитель ноль, заменять его двойкой. В полученном массиве найти отклонение максимального от среднего арифметического. 9. В массиве, содержащем не более k элементов, определить номер элемента, корень из которого максимален. Корень извлекать только из положительных чисел. Найти среднее арифметическое для элементов, из которых извлекался корень. 10. Даны три массива с числом элементов не более чем 50 в каждом. Определить среднеквадратическое отклонение элементов 1-го и 3- го массивов, соответствующих положительным элементам 2- го массива. Формула для работы: n (ai-ci)2 d = ∑ , SKO= √ d, i=1 n-1 где d-дисперсия, а SKO- среднеквадратическое отклонение. В 3-м массиве найти минимальный элемент и его индекс. 12. Даны два массива. Найти значения элементов нового массива, как разность соответствующих элементов, не превосходящих заданное число. В новом массиве определить сумму положительных элементов и найти максимальный элемент и его индекс. 13. Дан массив, содержащий не более m элементов. Построить новый, элементы которого – величины, обратные заданным (нулевые элементы не заменять). Подсчитать количество не изменившихся элементов, найти максимальный по абсолютной величине отрицательный элемент и общее количество положительных элементов. 14. Даны два массива по 30 элементов. Найти среднее арифметическое для элементов 1-го массива, номера которых больше номера минимального элемента 2-го массива. 15. Даны два массива по 20 элементов. Для элементов 2-го массива найти среднее арифметическое. Элементы 1-го массива, большие полученной величины, увеличить в 2 раза. Найти в преобразованном массиве максимальный элемент и его номер. 16. В массиве содержащем не более 15 чисел, элементы, не принадлежащие заданному интервалу, заменить нулями, остальные возвести в куб. Найти количество нулей и максимальный элемент в полученном массиве. 17. Даны три одномерных массива с равным количеством элементов. Найти произведение ненулевых элементов в каждом массиве, запомнить номер массива с максимальным и номер массива с минимальным произведением. 18. Даны два массива с числом элементов не более 30. Если соответствующие элементы исходных массивов принадлежат заданному интервалу, присвоить элементу третьего массива значение 1, иначе – 0. Определить в каком из исходных массивов находится минимальный элемент, принадлежащий заданному интервалу и определить, сколько нулей и сколько единиц будет в полученном массиве. 19. В массиве, содержащем не более 30 элементов найти сумму элементов, абсолютная величина которых отличается от заданного числа не более чем вдвое. Среди остальных элементов найти минимальный и его номер. 20. Даны три массива (число элементов не более k). Если соответствующие элементы массивов больше заданного числа, сложить их, образовав элемент нового массива. Подсчитать количество элементов нового массива и определить номер его максимального элемента. 21. Даны два массива по n элементов в каждом. Подсчитать произведение положительных элементов того массива, в котором окажется максимальный элемент. 22. В массиве, содержащем не более 20 элементов, подсчитать среднее арифметическое для положительных элементов. Если среднее больше заданного числа, положительные элементы исходного массива уменьшить на это число, а отрицательные- увеличить. Найти минимальный элемент полученного массива и его номер. 23. Даны 2 массива. Количество элементов не более 20. Получить третий, перемножая соответствующие элементы исходных массивов и давая произведению знак большего из пары. В новом массиве подсчитать сумму положительных и количество отрицательных элементов, расположенных под минимальным. 24. Даны два массива с одинаковым числом элементов. найти произведение положительных и сумму отрицательных элементов того массива, в котором минимальный элемент встретился раньше. Если индексы минимальных элементов совпали, выполнить задание для первого массива. 25.Дан массив, содержащий не более 20 чисел. Построить новый, увеличивая элементы исходного массива на заданное число, если минимальный элемент встретился в нем раньше максимального. В противном случае уменьшить элементы исходного массива на заданное число. В новом массиве определить сумму положительных элементов. 26. Даны три массива. Если элемент третьего массива меньше элементов первого и второго, уменьшить его вдвое. В преобразованном массиве найти сумму элементов с 1-го по минимальный включительно. 27. Дан массив из n элементов. Найти минимальный по абсолютной величине элемент, не принадлежащий заданному интервалу. Если он окажется меньше первого, вычислить сумму элементов с первого по минимальный, в противном случае – сумму, начиная с минимального до последнего. 28. В одномерном массиве найти среднее арифметическое для элементов, расположенных между максимальным и минимальным, если они следуют один за другим, считать его равным нулю. 29. Дан массив из 20 элементов. Подсчитать сумму элементов массива, принадлежащих заданному интервалу. Если сумма окажется больше заданного числа p, определить минимальный элемент и его индекс, в противном случае - максимальный элемент и его индекс. 30. Дан массив из n элементов. Определить максимальный элемент и его индекс, если максимальный элемент массива более чем вдвое превышает среднее значение элементов массива, и преобразовать исходный массив по правилу: ai=ai2.
Задание 3
1.Дан R массив из N элементов. Найти максимальный из элементов, удовлетворяющих условию R(I) < = 10 и определить его порядковый номер. Результат распечатать в виде: Число элементов: Исходный массив: Max = imax =
2.Дан массив А из N элементов. Подсчитать в нем количество элементов, удовлетворяющих условию L +S/10 < =A(I) < =M-S/10, где S – среднее арифметическое элементов массива; M, L – соответственно максимальный и минимальный из элементов, напечатать все удовлетворяющие условию элементы и их номера. Результат распечатать в виде: Число элементов: Исходный массив: Max = Min = S = K = Элементы, удовлетворяющие условию:
3. Заменить в массиве все элементы, удовлетворяющие условию C(I) < = 3 (I=1, N), на 3. Подсчитать количество (К) элементов в полученном массиве. Результат распечатать в виде: Исходный массив: Число элементов: Новый массив: К=
4. Дан массив R из N элементов. Исключить максимальный и минимальный элементы. Результат распечатать в виде: Число элементов: Исходный массив: Max = Min = Новый массив:
5. Дан массив R из N элементов. Сформировать массив А, элементами которого являются элементы R(I)=2 и массив B, в котором B(I)=R(I), если R(I) < 2; массив C, в котором C(I)=R(I), если R(I) > 2. Результат распечатать в виде: Исходный массив: Число элементов: Массив А: Массив В: Массив С.
6. Записать в массив C подряд номера положительных элементов массива R из N элементов. Результат распечатать в виде: Исходный массив: Число элементов: Номера положительных элементов:
7. Найти элемент массива A, состоящий из N элементов, ближайший к заданному числу С, т.е. элемент, для которого A(I) – C достигается MIN. Результат распечатать в виде: Исходный массив: Число элементов: С =. MIN=
8. Проверить, является ли сумма элементов массива простым числом. Результат распечатать в виде: Исходный массив: Число элементов: S =.
9. В массиве А состоящем из N элементов, найти два элемента, для которых [A(I) – MAX] = MIN и определить их индексы. Результат распечатать в виде: Исходный массив: Число элементов: MAX = MIN 1= MIN 2= Номера:
10. Для заданных X и Y вычисляются значения функции Z=cos (N*X+Y), N = 1, 2, … 30, записать в массив В значения N, при которых Z > 0, а в массив C значения N, при которых . Результат распечатать в виде: Исходный массив: Число элементов: X = Y = Массив В: Массив С:
|
Последнее изменение этой страницы: 2017-03-14; Просмотров: 601; Нарушение авторского права страницы