1 / 77

Лекция 4

Лекция 4. Арифметические операции Приоритет арифметических операций Математические функции Массивы Логические операции Приоритет операций. Кафедра Прикладной математики М-703, тел. 362-79-62 К.т.н., профессор Глаголев Виктор Борисович, комн. Ж-405б, тел. 362-73-28

lesa
Télécharger la présentation

Лекция 4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Лекция 4 Арифметические операции Приоритет арифметических операций Математические функции Массивы Логические операции Приоритет операций Кафедра Прикладной математики М-703, тел. 362-79-62 К.т.н., профессор Глаголев Виктор Борисович, комн. Ж-405б, тел. 362-73-28 http://glagvik.narod2.ru/index.htm

  2. Операции и функции VB располагает большим набором встроенных функций. Их можно разделить на несколько категорий: • Финансово-математические функции • Математические функции • Функции обработки строк • Функции преобразования типов • Прочие функции

  3. Ознакомиться с подробным описанием функций можно в справочной системе VB. Далее мы рассмотрим лишь математические функции VB. В расположенной на следующем слайде таблице дан полный перечень операций, которые могут быть применены к числовым данным.

  4. Арифметические операции

  5. Операции отношения

  6. Приоритет операций Если в выражении использовано несколько операций, то в первую очередь выполняются операции, имеющие наивысший приоритет. Если приоритет операций одинаковый, то они выполняются слева направо. Примеры Выражение Код a + b/c + d (a + b)/(c + d)

  7. Математические функции

  8. Углы выражаются в радианах. В проекте необходимо выполнить импорт пространства имен System.Math,добавив в начало исходного кода (до объявления первого модуля или класса) строку Imports System.Math. Иначе перед именем каждой функции будет необходимо добавлять название класса, например: Math.Sin(x)

  9. Импорт в проект пространства имен System.Math

  10. Функции Int и Fix возвращают значение, равное целой части числа, тип которого совпадает с типом аргумента. Синтаксис:Int(число) и Fix(число) Обязательный аргумент число – это любое допустимое числовое выражение.

  11. Различие между функциями IntиFixсостоит в том, что для отрицательного значения аргумента функция Intвозвращает ближайшее отрицательное целое число, меньшее либо равное указанному, а Fixближайшее отрицательное целое число, большее либо равное указанному. Например, функция Int преобразует -8.4 в -9, а функция Fix преобразует -8,4 в -8.

  12. Функция Rnd возвращает значение типа Single, содержащее случайное число, меньшее 1 и большее или равное 0. Перед первым вызовом функции Rnd надо использовать инструкцию Randomize() без аргумента для инициализации генератора случайных чисел.

  13. Пример. Игра «Угадай число» Условие игры Компьютер загадывает некоторое случайное целое число k из диапазона 0 – 100. Следует угадать загаданное число, сделав как можно меньше попыток. После каждой попытки компьютер сообщает, загаданное число больше или меньше предложенного числа.

  14. Таблица данных

  15. Начало p = 1 Блок-схема алгоритма Генерация случайного числа k от 0 до 100 Ввод k1 a

  16. Нет k ≠k1 Да Нет k > k1 Да Вывод « Загаданное число меньше» Вывод « Загаданное число больше» Вывод «Вы угадали с », p, « попыток» Ввод k1 p = p + 1 Конец a

  17. Интерфейс

  18. Значения свойств

  19. Программный код

  20. Массивы Массив - это группа переменных, содержащих элементы данных одного типа и с одним именем. Под каждый элемент массива отводится отдельная ячейка памяти. Все элементы массива имеют один и тот же тип. Возможны ссылки на отдельные элементы массива. Каждый отдельный элемент массива определяется именем массива и значениями индексов.

  21. Например, ссылки a(7) или a1(2, 9) означают, что: а – это имя одномерного массива (вектора) с одним индексом, элемент массива имеет значение индекса равное 7. а1- это имя двумерного массива (матрицы). Об этом говорит применение двух индексов для определения элемента массива.

  22. Первый индекс двумерного массива трактуется как номер строки, в которой находится элемент массива, а второй индекс, как номер столбца. Индексом может быть выражение целого типа с неотрицательным значением. Нижняя граница индекса всегда равна 0. Верхняя граница каждого индекса массива задается при его объявлении.

  23. Пример массива c именем km типа Integer показаний счетчика километров на спидометре автомобиля в начале каждого месяца в течении года: Индекс (номер позиции) элемента массива km Имя массива

  24. Как и простые переменные, массивы объявляются с помощью инструкций Dim, Static, PrivateилиPublic. Примеры объявления массивов: Dim x() As Single Dim y(,) As Single

  25. Объявлен одномерный массив с именем x и двумерный массив y. Об этом говорят скобки в объявлении после имени каждого массива. При объявлении двумерного массива между скобок должна стоять запятая. Объявление верхних границ индексов в этих примерах отложено на потом (такие массивы называют динамическими). Одномерный массив называют вектором. Двумерный массив называют матрицей.

  26. Для объявления верхней границы индекса и размещения в памяти массивов следует поместить инструкцию: Redim x(10), y(4,5) Здесь заданы значения верхних границ каждого индекса массивов.

  27. Индекс массива xможет принимать значение в диапазоне от 0 до 10. Массив x имеет 11 элементов. Первый индекс массива y может принимать значение в диапазоне от 0 до 4. Второй индекс массива yможет принимать значение в диапазоне от 0 до 5. Массив y имеет 30 элементов (произведение числа строк на число столбцов).

  28. При объявлении массива можно выполнить его инициализацию: Dim z() As Single = {1.3, -2.7, _ 14.6, -5} В этом примере объявлен одномерный массив z, имеющий 4 элемента, значения которых заданы списком инициализации. Массив, при объявлении которого верхние границы индексов не были указаны (динамический массив), можно неоднократно переобъявлять с помощью инструкции ReDim.

  29. Среди инструкций внутри процедуры можно записать: ReDim y(5, 10) Далее этот массив может быть переобъявлен: ReDim y(5, 20)

  30. С помощью инструкции ReDim можно изменять только верхние границы индексов. Размерность массива (количество индексов) можно задать один раз. Изменять ее нельзя. Инструкцию ReDim можно применять для изменения динамического массива столько раз, сколько потребуется. Однако при каждом ее применении данные, содержащиеся в массиве, теряются.

  31. Инструкция ReDim Preserveможет увеличить размер массива, сохраняя при этом его содержимое. В следующем примере показывается, как можно увеличить размер массива a4 на 10 элементов без уничтожения текущих значений элементов массива. Пусть был объявлен массив: Dim a4 () As Integer Затем в программе установлен размер этого массива: ReDim a4 (n)

  32. Далее в программе может быть, например, записано: ReDim Preserve a4(n+10) Использование инструкции ReDim Preserve позволяет изменить верхнюю границу только последней размерности массива.

  33. Если при объявлении массива задаются верхние границы индексов, то такой массив называется фиксированным. Пример Dim s(10) As Single Dimb(4, 5) As Integer К фиксированным массивам инструкция ReDim неприменима.

  34. Имеется возможность присвоить содержимое одного массива другому так же, как это делается для простых переменных. Но эти массивы должны иметь одинаковую размерность и одинаковое количество элементов.

  35. Если же в левой части оператора присвоения стоит динамический массив, то совпадение числа элементов не обязательно. Число элементов массива в левой части оператора присвоения при необходимости изменится.

  36. Пример. Dim a() As Integer = {1, 2, 3, 4}, _ b(), i As Integer b = a For i = 0 To 3 MsgBox(b(i)) Next Последовательно на экране в окне функции MsgBoxбудет выведено: 1, 2, 3, 4.

  37. Пример 1 Вычислить среднее арифметическое k заданных чисел.

  38. Применяемые данные Исходные данные: k– переменная целого типа, число заданных величин; a()– массив типаSingle, значения заданных величин. Результаты: s – переменная типаSingle, значение среднего арифметического.

  39. Промежуточные: Сумма – переменная типаSingle, значение суммы первых k элементов массива a; i– переменная целого типа, значение индекса элемента массива a.

  40. Блок-схема алгоритма (1) (2) 1

  41. 1 (3) Нет (4) (5) (6) (7) 2 (8)

  42. 2 (9) (10)

  43. Посмотрим на эту блок-схему с точки зрения базовых структур, которыев нее входят. Блоки 1 – 2 составляют последовательную структуру (следование), которую мы назовем Структура 1. Блоки 3 – 8 относятся к циклу. Эту структуру мы назовем Структура 2. Блоки 9 и 10 – это опять последовательная структура, которую мы назовем Структура 3.

  44. Структура 1, Структура 2 и Структура 3, рассматриваемые в совокупности также являются структурой следования. В блок-схеме любого структурированного алгоритма всегда можно ясно увидеть базовые структуры, из которых строится алгоритм.

  45. TxtВывод BtnПуск Интерфейс проекта Текстовое поле предназначено для вывода результатов вычислений. Нажатие на кнопку приведет к запуску вычислений.

More Related