Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемЕлена Штырева
1 Массивы данных экономических расчетах
2 ПЛАН 1. Понятие массивов и их типы. 2. Объявление массива 3.Примеры использования массивов
3 Массивы Массивом называется упорядоченная совокупность элементов одного типа. Массивом называется упорядоченная совокупность элементов одного типа. Тип массива может быть целочисленным( если его элементы- целые числа) Тип массива может быть целочисленным( если его элементы- целые числа) 45876; 3567; ; ; 3567; ;
4 вещественными( элементы- вещественные, реальные, т.е. содержат дробную часть числа): 89,54; 6987,354; 23654,21
5 текстовым или символьным: ЯчменьПшеницаРожьКукуруза И т.д.
6 литерным ( элементы- отдельные слова или текст): Показатели урожайности; Эффективность использования; Пахотные земли; И т.д.
7 Для резервирования места в памяти ПК для работы с массивами данных используется оператор DIM. Любой массив должен иметь имя, тип, ссылку на размерность.
8 Например: DIM A(61), BR%(10, 15), FAM$(23) Например: DIM A(61), BR%(10, 15), FAM$(23)
9 Имена переменных Для того чтобы сделать ваши переменные более наглядными и простыми для чтения, рекомендуется давать им имена, имеющие определенное смысловое значение. Существует несколько правил задания имен переменных; имя переменной может содержать не более 255 символов; имя переменной может содержать любые буквы и цифры; первый символ в имени переменной должен быть буквой; в имени переменной должны отсутствовать пробелы; имя должно быть уникальным в пределах области видимости.
10 Типы данных Типы данных В Visual Basic вы можете применять следующие типы данных: В Visual Basic вы можете применять следующие типы данных: числовой (integer, Long, Single, Double, Currency); числовой (integer, Long, Single, Double, Currency); строковый (String); строковый (String); типа дата (Date); типа дата (Date); байтовый (Byte); байтовый (Byte); логический (Boolean); логический (Boolean); произвольный (variant); произвольный (variant); объектный (object). объектный (object).
11 Все элементы массива имеют одинаковый тип. Однако если массив имеет тип variant, то отдельные элементы могут содержать данные разных типов. Например, одни элементы могут быть числами, другие строками или объектами.
12 Индекс элемента указывается в круглых скобках после имени массива. Например, strNames(l), strNames(l),strNames(2),strNames(10) ЯВЛЯЮТСЯ элементами массива с именем strNames. Вы можете использовать каждый из элементов массива точно так же, как и простую переменную.
13 глобальный массив объявляется с помощью оператора public public в секции Declaration модуля:
14 массив уровня модуля с помощью оператора private в секции Declaration модуля;
15 локальный массив с помощью оператора privateпроцедуры.
16 Объявление динамического массива При объявлении глобального массива необходимо выбрать ключевое слово Public, при объявлении массива на уровне модуля Dim, при объявлении массива в процедуре Dim или static. Например, При объявлении глобального массива необходимо выбрать ключевое слово Public, при объявлении массива на уровне модуля Dim, при объявлении массива в процедуре Dim или static. Например, Dim intCountPar (20) As Integer Dim intCountPar (20) As Integer
17 С помощью выполняемого оператора ReDim. указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного размера. Например, размерность массива может быть задана любым из следующих способов:. указывается размерность массива в виде числа или выражения. Синтаксис оператора ReDim аналогичен синтаксису оператора объявления массива фиксированного размера. Например, размерность массива может быть задана любым из следующих способов: ReDim intCountPar (х) ReDim intCountPar (х) ReDim intCountPar (20) ReDim intCountPar (20) ReDim intCountPar (1 То 20) ReDim intCountPar (1 То 20)
18 В нижеприведенном тексте программного VBA- кода содержатся строки по организации массивов различных типов: Private Sub CommonButton1_Click() Private Sub CommonButton1_Click() Dim A (1To 25), B (1 to 25), C(1 to 25) As Integer Dim A (1To 25), B (1 to 25), C(1 to 25) As Integer Dim Viktor (1To 56) As Single Dim Viktor (1To 56) As Single Dim Slovo (1To 10) As String* 15 Dim Slovo (1To 10) As String* 15 Dim fox (1To 16) As Boolean Dim fox (1To 16) As Boolean Dim I, N As Byte Dim I, N As Byte Rem ВВОД данных массивов Rem ВВОД данных массивов N= InputBox (введите N) N= InputBox (введите N) For I= 1 To N For I= 1 To N A(I) = InputBox (введите a(i)- целое) A(I) = InputBox (введите a(i)- целое) Viktor(I) = ( введите viktor (i)- вещественное) Viktor(I) = ( введите viktor (i)- вещественное) Slovo (I) = InputBox (введите slovo (i) – текстовое) Slovo (I) = InputBox (введите slovo (i) – текстовое) For I= InputBox (введитеfox (i) - логическое) For I= InputBox (введитеfox (i) - логическое) Next I Next I Rem ОБРАБОТКА данных массивов Rem ОБРАБОТКА данных массивов For I= 1 To n For I= 1 To n B(I) = A (i)^2 B(I) = A (i)^2 C(i) = A(i)+b(I) C(i) = A(i)+b(I) Next I Next I Rem ВЫВОД данных массивов Rem ВЫВОД данных массивов For I= 1 To n For I= 1 To n MsgBox A(I) & & b (i) & & C(i) MsgBox A(I) & & b (i) & & C(i) MsgBox Viktor(I) MsgBox Viktor(I) MsgBox Slovo(I) MsgBox Slovo(I) MsgBox fox(I) MsgBox fox(I) Next I Next I End Sub End Sub
19 Пример 1. Электротехнические характеристики трансформатора представлены массивами данных U и I. Определить сумму и произведение элементов в массиве U. Посчитать количество положительных элементов в массиве I. Сформировать третий массив данных с именем Р, каждый элемент которого образуется по правилу: PJ= UJ IJ. Распечатать значения элементов массива Р. Private Sub CommonButton1_Click() Dim U (1To 50), I (1To 50), P (1To 50) As Single Dim Sum, PR As Single Dim J,N, Kol As Byte N = InputBox (Cк. Элементов в массиве?) FOR J = 1 TO N U(J) = InputBox (введите U(j)) I(J) = InputBox (введите I(j)) NEXT J Sum=0 : Pr= 1: Kol =0 FOR J = 1 TO N Sum= Sum+I(J) Pr = Pr*I(J) NEXT J MsgBox сумма=& Sum & произв. =& Pr FOR J = 1 TO N IF U (J)> 0 then KOL +1 NEXT J MsgBox колич. полож. элементов=& KOL Rem Новый массив FOR J = 1 TO N P(J)= U(J)*I(J) MsgBox элемент нового массива = & P(J) NEXT J END Sub END Sub
20 Пример 2. Среднее время Т безотказной работы электродвигателей определяется по формуле: Т= ( Lg e)/m+J/LgN- Lg (N-1)), Где N – число электродвигателей; m – число двигателей, вышедших из строя при испытании на надежность работы; ТJ- время безотказной работы j –го двигателя до его поломки, ч Private Sub CommonButton1_Click() Dim T (1To 30) As Single Dim TT As Single Dim J, N, M, As Byte N= InputBox (введите N) M= InputBox (введите M) MsgBox введите значения элементов T(J): MsgBox введите значения элементов T(J): FOR J = 1 TO N T(J)= InputBox (введите очередной элемент)) NEXT J MsgBox Теперь определим сумму элементов: FOR J = 1 TO M S=S+T(J) / (LOG(N)/LOG(10)-LOG(N-1)/LOG(10)) NEXT J MsgBox Сумма элементов равна: & S MsgBox Определим время безотказной работы: MsgBox Определим время безотказной работы: TT=(LOG(EXP(1))/LOG(10))/M+S MsgBoxвремя Т = & TT END Sub
21 Пример 3. Пример3. Среди элементов массива электротехнических данных найти минимальный и максимальный элементы, количество ненулевых элементов, а также все элементы, кратные семи: Private Sub CommonButton1_Click() Dim A (1To 30) As Single Dim Max, Min,S,P As Single Dim J,N,M,K As Byte N= InputBox (сколько элементов в массиве?) S = 0: P = 1:К = 0 MsgBox введите значения элементов А: FOR J = 1 TO N MsgBox введите очередной элемент)) NEXT J MsgBox Определим максимум и минимум Max = A(1): Min = A(1) FOR J = 1 TO N IF A (J)> = MAX THEN MAX = A(J) IF A (J)< = MIN THEN MIN = A(J) Next J MsgBox максимум= & max & минимум = & min MsgBox Определим количество ненулевых элементов FOR J = 1 TO N IF A (J)> < = 0 THEN K = K+1 Next J MsgBox Количество ненулевых элементов = & K MsgBox Определим элементы, кратные семи: MsgBox Определим элементы, кратные семи: FOR J = 1 TO N IF A (J)/7 = INT (A(J)/7) THEN MsgBox A(&_J &) = & A (J) END Sub
22 Пример 4. Определить значение статистического показателя: Определить значение статистического показателя: Z= 2 cosK +i+Xi)/ (w*m) + b Private Sub CommonButton1_Click() Dim Т (1To 50),Х (1To 50), А (1To 50) As Single Dim К, S, P,W, M, Z As Single Dim I, C, N, B As Byte N= InputBox (сколько элементов в массивах Т и Х?) С= InputBox (сколько элементов в массиве А?) S = 0: P = 1 К = InputBox (Введите К) М = InputBox (Введите М) W= InputBox (Введите W) MsgBox Введем значения элементов массивов Т и Х: FOR I = 1 TO N T(I) = InputBox (введите очередной элемент)) Х(I) = InputBox (введите очередной элемент)) NEXT I MsgBox Рассчитаем сумму S=S+(T(I)+X(I)/W*m) MsgBox Введем значения элементов массива А: FOR B = 1 TO C A (B) = InputBox (введите очередной элемент)) NEXT B MsgBox Рассчитаем произведение FOR B = 1 TO C P=P*5*sin (A(b)) NEXT B Z=2*cos (K)+S+P MsgBox значение Z=& Z End Sub
23 Контрольные задания Составить блок-схемы и программы для решения следующих задач: Задание 1. Электропроводность твердых тел определяется по формуле: V=i*exp(Wi/KT)) Где Wi и Ai – энергия перемещения иона и электрона Задание 2. Модель повреждения кабельных электролиний в течении года по месяцам имеет вид: M= A/2+n * cos (nk /6) +n * sin (nk /6) Задание3.Спектр электромагнитного сигнала может быть аппроксимирован функциональным рядом, который предусматривает обработку числовых массивов. Определить значение функции для первых пяти гармоник (т.е. при К=5) указанного ряда и квадрат значения I. I=b/2n+j * cos (n t+Fj), где Aj=sqr (U2j+ U2j) Задание 4. Среди совокупности электротехнических характеристик выбрать все положительные и определить их индексы, для отрицательных элементов- найти произведение, указать также количество нулевых элементов. Задание5. Определить сумму и произведение первых 17 элементов массива и среди десяти последующих элементов найти все неотрицательные и одновременно кратные трем. Задание 6. Найти значение выражения Z= 5 cos3x+6 sin7y, если Х- количество положительных элементов массива, а у- произведение первых 12 элементов того же массива.
24 Блок-схема НЕТ ДА Начало Ввод: N MAX:=А 1 MIN:=А 1 S:=0; Р =1; К=0 J:=1, N Вывод: А J J:=1, N A j >=max A J < 0 A J /7=int(A J /7) КОНЕЦ К:= К+1 Ввод:.A J ДА НЕТ
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.