Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Практическая работа 5. Типы данных (Long, Single, Currency); ошибка вычислений





Проводятся расчеты ошибок вычислений (DelLong, DelSing) при расчетах с использованием данных типа Long, Single, вычисляется итоговая ошибка. Далее проводятся аналогичные расчeты для данных типов Long и Currency.

1. Создать на форме:

o 2 вертикальных ряда по 5 объектов-меток с надписями, см. свойство Caption, рис. 1.8. слева и в центре (на рисунке цвет - черный),

o текстовое поле txt1 для ввода значений переменной J в средине формы (см.: 999999),

o две командные кнопки слева и справа от текстового поля (Caption = Long-Single, Caption = Long- Currency),

o 2 метки вверху в центре:

o с надписью Zahl::,

o со списком значений переменной J, которые следует вводить после старта проекта,

o два массива из 4-х элементов текстовых полей: txt10(0), txt11(0) - слева вверху, txt10(1), txt11(1) - слева ниже. Остальные 4: txt10(2), txt11(2) - справа вверху, txt10(3), txt11(3) - справа ниже,

o два вертикальных ряда по 5 меток (напротив предыдущего ряда меток) для вывода результатов вычислений (lbl2(0), lbl22(0), lbl4(0) lbl44(0), lbl6(0), lbl2(1), lbl22(1), lbl4(1) lbl44(1), lbl6(1)),

o командную кнопку для процедуры завершения выполнения программы (Command3),

2. ввести код, данный ниже:

Private Sub Command1_Click()Rem описание переменных для блока Long-SingleDim Xlong As Long, Xl As Long, Dx As Single, Xsingle As SingleDim Xs As SingleRem переменная, определяющая число цикловDim J As Long Dim I As Long, DelLong As Long Dim DelSing As SingleJ = CLng(txt1.Text) Rem организовать блок для работы с данными типа LongXlong = 2000000000: txt10(0).Text = XlongXlong = CLng(Xlong / J)txt11(0).Text = Xlong & " " & CLng(Xlong * J)Rem Xl образуется суммированием XlongFor I = 1 To JXl = CLng(Xl + Xlong)Next IRem в поле элемента управления Label выводятсяRem результаты - значение Xl и ошибки вычисленийlbl2(0).Caption = Xl: DelLong = CLng(2000000000 - Xl)lbl22(0).Caption = DelLongRem организовать аналогичный блок для работой с даннымиRem типа SingleXsingle = 2000000000: txt10(1).Text = XsingleXsingle = CSng(Xsingle / J)txt11(1).Text = Xsingle & " " & CSng(Xsingle * J)For I = 1 To JXs = CSng(Xs + Xsingle)Next I lbl4(0).Caption = Xs: DelSing = CSng(2000000000 - Xs) lbl44(0).Caption = DelSingRem проведение вычислений и вывод в левую нижню меткуRem итоговой ошибки вычисленийDx = CSng(Xl - Xs): lbl6(0).Caption = DxEnd SubRem код поцедуры Command2_Click() аналогичен коду проце-Rem дуры Command1_Click(); здесь проводится вычислениеRem ошибки вычислений при работе с данными типа Long Rem и CurrencyPrivate Sub Command2_Click()Dim Xlong As Long, Xl2 As Long, Dx2 As Currency Dim Xcurrency As Currency, Xc As Currency, J As LongDim I As Long, DelLong2 As Long, DelCurrency As CurrencyPrint "Warten Sie mal!" ' нужно подождать!J = CLng(txt1.Text): Xlong2 = 2000000000txt10(2).Text = Xlong2: Xlong2 = CLng(Xlong2 / J)txt11(2).Text = Xlong2 & " " & CLng(Xlong2 * J)For I = 1 To JXl2 = CLng(Xl2 + Xlong2)Next Ilbl2(1).Caption = Xl2DelLong2 = CLng(2000000000 - Xl2)lbl22(1).Caption = DelLong2Xcurrency = 2000000000: txt10(3).Text = XcurrencyXcurrency = CCur(Xcurrency / J)txt11(3).Text = Xcurrency & " " & CCur(Xcurrency * J)For I = 1 To JXc = CCur(Xc + Xcurrency)Next Ilbl4(1).Caption = XcDelCurrency = CCur(2000000000 - Xc)lbl44(1).Caption = DelCurrencyDx2 = CCur(Xl2 - Xc): lbl6(1).Caption = Dx2Rem удалить предыдущую запись и напечатать "Готово!!!"Me.Cls: Print "Fertig!!!" End SubPrivate Sub Сommand3_Click()EndEnd Sub

3. cтартовать проект, вводить последовательно значения J, данные вверху формы, 3, 11:9999999, делать щелчки на кнопках Long-Single, Long - Currency после каждого ввода J, наблюдать разницу результатов, рис. 1.8.

В примере последовательно используются данные разного типа и над ними выполняются одинаковые операции сложения и деления.Xlong и Xl - это целые типа Long, первое из них равно 2 млрд., а 2-ое приблизительно такое же, но полученное в результате вычислений. Исходное число 2 млрд. делится на J и затем с использованием цикла For: Next проводится сложение J раз. Из-за ошибок вычислений полученный результат отличается от исходного числа. Аналогичные вычисления проводятся для другой пары типов данных - Long - Currency. Значения J, используемые в примере, даны в таблице, Для значения J порядка 10 млн. величина ошибки может составить около 10% исходного значения.

Рис. 1.8. Типы данных; ошибка вычислений (Long, Single, Currency); результаты







Дата добавления: 2015-06-12; просмотров: 466. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Studopedia.info - Студопедия - 2014-2025 год . (0.014 сек.) русская версия | украинская версия