Фролов Н.Г. ЭР-07-20 Лабораторная работа №6 Задача 1_3_4_9 Условие задачи: Начальный вклад клиента составил А руб. В первый месяц ставка по вкладу составила p%, в каждый следующий месяц она будет увеличиваться на q%. Определить, через сколько месяцев накопленная сумма станет больше 2А. Рассматривать срок не более М месяцев. Состав данных: Имя Смысл Тип Структура Исходные данные A Начальный вклад вещественный простая переменная p Ставка по вкладу в первый месяц вещественный простая переменная q Ставка по вкладу в каждый следующий месяц вещественный простая переменная M Максимальное число месяцев целый простая переменная Выходные данные El искомый номер месяца целый сообщение «срок истек» строковый простая переменная Промежуточные переменные t текущий номер года целый простая переменная At текущая сумма вклада вещественный простая переменная 1 Фролов Н.Г. ЭР-07-20 Блок-схема алгоритма: Передача A,p,q,M At=A t=1 (At<2*A) && (t<=M) да At=At*(1+p/100) p=p+q t=t+1 At>2*A да El=t -1 El=“срок исток” Передача El 2 Фролов Н.Г. ЭР-07-20 Программа функции: Вызов функции: Задача 1_5_2_9 Условие задачи: Найти сумму и число элементов вектора Х, для которых |Хк - А|<B. Состав данных: Имя Смысл Тип Структура Исходные данные 3 Фролов Н.Г. ЭР-07-20 X Исходный вектор вещественный Одномерный массив Выходные данные С Количество элементов, удовлетворяющих условию целый Одномерный массив Сумма элементов, удовлетворяющих условию вещественный Простая переменная Промежуточные переменные n Количество элементов вектора X целый Простая переменная k Счётчик элементов вектора целый Простая переменная Блок-схема алгоритма: Передача X n=length(X) C=0 k=0 нет k<=n-1 да |Xk – A|<B C=0 да C=C+Xk r=r+1 4 k=k+1 Фролов Н.Г. ЭР-07-20 Программа функции: Вызов функции: Задача 3_6_9 Условие задачи: Для каждой строки матрицы А (6х5) найти среднее арифметическое положительных элементов, а для каждой строки матрицы В (4х7) – среднее арифметическое элементов больших единицы. 5 Фролов Н.Г. ЭР-07-20 Назначение функции: Подсчёт среднего арифметического элементов больших заданного числа для каждой строки матрицы. Вход функции: Матрица Y, заданное число x. Выход функции: Sr – среднее арифметическое элементов больших а в каждом столбце матрицы Y. Заголовок функции: Sred(Y,x):= Состав данных: Имя Смысл Тип Структура Исходные данные Y Заданная матрица Вещественный Двумерный массив x Заданное число Вещественный Простая переменная Выходные данные Sr Cреднее арифметическое элементов Вещественный Одномерный массив Промежуточные переменные n Число строк матрицы X целый Простая переменная m Число столбцов матрицы X целый Простая переменная p Счётчик строк матрицы X целый Простая переменная q Счётчик столбцов матрицы X целый Простая переменная 6 Фролов Н.Г. ЭР-07-20 Блок-схема алгоритма Передача Y,x n=rows(X) ; m=cols(X) p<=n-1 Нет Да elp=0; Sp=0; q=0 q<=m-1 Нет Да Xp,q>a Да Sp= Sp + Xp,q elp=elp+1 q=q+1 7 Фролов Н.Г. ЭР-07-20 Srp= Sp / elp p=p+1 Передача Sr Код функции S: Вызов функции: 8 Фролов Н.Г. ЭР-07-20 Задача 2_3_2_11 Условие задачи: Если сумма элементов двух первых строк матрицы А меньше суммы элементов двух последних её строк, изменить матрицу А по правилу Аk,j = Аk,j + Tk. Состав данных вызывающего кода Имя Смысл Тип Структура Исходные данные A Заданная матрица Вещественный Двумерный массив Т Заданный вектор Вещественный Двумерный массив Выходные данные A Изменённая матрица Вещественный Двумерный массив Промежуточные данные 9 Фролов Н.Г. ЭР-07-20 S Сумма элементов матрицы А Вещественный Простая переменная Вызывающий код алгоритма: Блок-схема вызывающего кода: 10 Фролов Н.Г. ЭР-07-20 Функция вычисления суммы S: Заголовок функции: sm(Х):= 11 Фролов Н.Г. ЭР-07-20 Состав данных подпрограммы sm: Имя Смысл Тип Структура Исходные данные A Заданная матрица Вещественный Двумерный массив Выходные данные S Сумма элементов строк Вещественный Простая переменная Промежуточные данные p Счётчик элементов Целый Простая переменная n,m Размер матрицы Целый Простая переменная Блок-схема подпрограммы summa: Передача Х n=rows(X); m=cols(X) S1=0; S2=0 p=0 Нет p<=n-1 S1 S1 X(0 p) X(1 p) S2 S2 X(n1 p) X(n2 p) p=p+1 12 Передача S1,S2 Фролов Н.Г. ЭР-07-20 Код функции sm: Функция изменения матрицы Х: Заголовок функции: change(X,T):= Состав данных функции change Имя Смысл Тип Структура Исходные данные A Заданная матрица Вещественный Двумерный массив Выходные данные А Измененная матрица Вещественный Двумерный массив Промежуточные данные n Число строк Целый Простая переменная m Число столбцов Целый Простая переменная p Счётчик строк Целый Простая переменная q Счётчик столбцов Целый Простая переменная 13 Фролов Н.Г. ЭР-07-20 Блок-схема функции change: Передача Х n=rows(X); m=cols(X) p=0 p<=n-1 q=0 q<=m-1 X(p q) X(p q) T q p=p+1 q=q+1 Передача Х Код функции change: 14