Результат вивести на екран.
Обчислити суму парних n - натуральних чисел.
Обчислити добуток парних n - натуральних чисел.
Для заданого n > 0, обчислити y = (2 n)! = 2 · 4 · 6 ·…· (2 n), врахувати, що 0! = 1.
Результат вивести на екран.
Обчислити суму непарних n - натуральних чисел.
Обчислити добуток непарних n - натуральних чисел.
Для заданого n > 0, обчислити y = (2 n – 1)! = 1 · 3 · 5 ·…· (2 n – 1), врахувати, що 0! = 1.
Результат вивести на екран.
26. Правила організації вводу-виводу даних в Visual basic.
Подобно многим языкам программирования Visual Basic for Application (VBA) позволяет создать три типа процедур: Sub, Function, Property.
Процедура – это набор описаний и инструкций, сгруппированных для выполнения.
Процедура Sub – набор команд, с помощью которого можно решить определенную задачу. При ее запуске выполняются команды процедуры, а затем управление передается в приложение или процедуру, которая вызвала процедуру Sub. Записываемые макросы автоматически описываются как процедуры Sub, любой макрос или другой код VBA, который просто выполняет определенный набор действий, используя приложения Office, и обычно является процедурой Sub.
Процедура Function (или функция) также представляет собой набор команд, который решает определенную задачу. Различия заключается в том, что процедуры данного типа обязательно возвращают значение. При создании процедуры Function можно описать тип данных, который возвращает функция. Функции обычно используются при выполнении вычислений, операциями с текстом, либо возвращают логические значения.
Процедура Property используется для ссылки на свойство объекта. Данный тип процедур применяется для установки или получения значения пользовательских свойств форм и модулей. Процедуры облегчают хранение и применение информации, если использовать их сначала для сохранения в свойстве этой информации, а затем для ее чтения.
При записи процедуры требуется соблюдать правила ее описания. Упрощенный синтаксис для процедур Sub является следующим:
Sub имя ([аргументы])
Инструкции
End Sub
Синтаксис описания функций очень похож на синтаксис описания процедуры Sub, однако, имеются некоторые отличия:
Function имя ([аргументы]) [As Тип]
Инструкции
имя = выражение
End Function
Процедуры состоят из операторов – наименьших единиц программного кода. Как правило, операторы занимают по одной строке программного кода, и в каждой строке обычно содержится только один оператор, но это не обязательно. В VBA имеется четыре типа операторов: объявления, операторы присваивания, выполняемые операторы и параметры компилятора.
27. Поняття масиву і різновиди масивів
Масив - це великий простір чогось однорідного за типом. (Зі словника іноземних слів, 1954 р.)
Масив у програмуванні - це тип структури даних, що має складені значення. (З Оксфордського словника англійської мови, 1995 р.)
Масив - це впорядкований скінченний набір елементів (даних) одного типу. Зазвичай працюють з масивами, які містять числа.
Масивом називається скінченна послідовність змінних одного типу, які мають однакове ім'я та різняться порядковим номером.
Індексом називається порядковий номер елемента масиву.
Отже, введено новий тип — масив. Усі типи, які досі були вам відомі, називаються простими. Масив є прикладом структурованого типу, тобто він, у свою чергу, складається з елементів іншого типу.
Наприклад,
T[2], T[5], T[i], T[i + j].
Але в третьому і четвертому прикладах для визначення необхідного елемента масиву треба знати значення величин і та j. Така загальність визначення індексу масиву є дуже потужним засобом програмування, але разом з цим і провокує можливі помилки: отриманий результат обчислення індексу масиву може виходити за межі інтервалу, виділеного для індексів даного масиву.
I ще один важливий момент, яким у жодному разі не можна нехтувати. Масиви відносяться до структур з так званим прямим або довільним доступом: щоб визначити окремий елемент масиву, достатньо вказати його індекс.
Тепер зрозуміло, як у циклі перебирати різні значення елементів масиву: для цього достатньо змінювати їх індекси. А закон зміни індексів дуже простий - кожне наступне значення більше попереднього на одиницю. Дуже зручна закономірність!
Оскільки у мові Pascal усе з чим ми працюємо потрібно оголошувати, то масиви також потрібно оголосити. Це можна зробити кількома способами:
у полі const
const <ім'я змінної>=array[1.. <клькість елементів>] of <тип> = (1,2,3,... <значення>);
у полі type
type <ім'я типу>=array[1.. <кількість елементів>] of <тип>;
var <ім'я змінної>: <ім'я типу>;
у полі var
var <ім'я змінної>: array[1.. <кількість елементів>] of <тип>;
Приклад:
type Mas = array[1.. 5] of integer;
var a: Mas;
Масиви бувають одновимірними (у вигляді послідовності чисел), двовимірними (у вигляді таблиць чисел розміром m x n) і багатовимірними (3-,4-вимірні і т.д. 3-вімірні - це об'ємний простір з комірками, а 4-вимірні і більше - це фантастично-абстрактні поняття).
Масив називається одновимірним, якщо для задання місцеположення елемента в масиві необхідно вказати значення лише одного індексу.
Масив називається двовимірним, якщо для задання місцеположення елемента в масиві необхідно вказати значення двох індексів.
Запам'ятайте, що у двовимірних масивах перший індекс завжди вказує на номер рядка, а другий - на номер стовпчика в цьому рядку!
Розмірність масивів у Pascal необмежена, вона визначається лише об'ємом пам'яті вашого комп'ютера.
Резонним буде запитання: а як же розташовуються масиви в пам'яті комп'ютера? Пояснення для одновимірних масивів дуже просте – всі вони розташовані в пам'яті підряд. Двовимірні масиви розташовуються дещо інакше - спочатку елементи першого рядка, потім другого і т. д. Розташування масивів більшої розмірності пояснюється аналогічно.
Залишилося з'ясувати, як пояснити програмі, що ви працюватимете з елементами, які утворюють масив значень.Загальний вигляд опису масивів:
<ім'я змінної>: array [<межі зміни індексів>] of <тип>.
28. Оператор опису масивів DIM, його синтаксис і призначчення
Синтаксис
Array(список_аргументів)
Обов’язковий аргумент список_аргументів — список із розділеними комами значеннями, які призначено елементам масиву, що міститься в значенні типу варіант (Variant). Якщо жодного аргумента не вказано, створюється масив із нульовою довжиною.
Зауваження
Запис, який використовується для посилання на елемент масиву, складається з імені змінної, за яким у дужках слідує номер індексу, який вказує на потрібний елемент. У наведеному нижче прикладі перший оператор створює змінну з іменем A і типом даних варіант (Variant). Другий оператор призначає масив змінній A. Останній оператор призначає значення, яке міститься у другому елементі масиву, іншій змінній.
ПРИМІТКА Подальші приклади демонструють використання цієї функції в модулі Visual Basic for Applications (VBA). Щоб отримати докладніші відомості про роботу з VBA, виберіть пункт Посібник розробника Access у розкривному списку поруч із полем Search і введіть у це поле один або кілька шуканих термінів.
Dim A As Variant
A = Array(10,20,30)
B = A(2)
Нижня межа масиву, створеного за допомогою функції Array, визначається нижньою межею, вказаною оператором Option Base, якщо до функції Array не було додано ім’я бібліотеки типів (наприклад, VBA.Array). Якщо до функції було додано ім’я бібліотеки типів, оператор Option Base до функції Array не застосовується.
ПРИМІТКА Змінна типу варіант (Variant), яку не оголошено як масив, може містити масив. Змінна типу варіант (Variant) може містити масив будь-якого типу, окрім рядків із фіксованою довжиною та користувацьких типів даних. Хоча змінна типу варіант (Variant), яка містить масив, концептуально відрізняється від масиву, елементи якого мають тип даних варіант (Variant), отримання доступу до елементів масиву здійснюється так само.
29. Оператори option base I erase їх синтаксис і призначення
Option Base {0 | 1}
Замечания
Поскольку по умолчанию используется значение 0, инструкция Option Base никогда не является обязательной. Однако если она используется, эта инструкция должна появляться в модуле перед любой процедурой. Инструкция Option Base может задаваться в модуле только один раз и должна предшествовать описаниям массивов, включающих размерности.
Предложение To в инструкциях Dim, Private, Public, ReDim и Static предоставляет более гибкий способ управления диапазоном индексов массива. Однако если нижняя граница индексов не задается явно в предложении To, можно воспользоваться инструкцией Option Base, чтобы установить используемую по умолчанию нижнюю границу индексов, равную 1. Нижняя граница значений индексов массивов, создаваемых с помощью функции Array, всегда равняется нулю; вне зависимости от инструкции Option Base.
Инструкция Option Base действует на нижнюю границу индексов массивов только того модуля, в котором расположена сама эта инструкция.
Пример
В данном примере инструкция Option Base используется для изменения нижней границы индексов массива, по умолчанию равной 0. Функция LBound возвращает минимальный доступный индекс указанной размерности массива. Инструкция Option Base используется только на уровне модуля.
Option base 1 ' Устанавливает нижнюю границу индексов массива равной 1.
Dim Lower
Dim MyArray(20), TwoDArray(3, 4) ' Объявляет переменные-массивы.
Dim ZeroArray(0 To 5) ' Явно задает границы индексов массива.
' Функция LBound определяет нижние границы индексов массивов.
Lower = LBound(MyArray) ' Возвращает 1.
Lower = LBound(TwoDArray, 2) ' Возвращает 1.
Lower = LBound(ZeroArray) ' Возвращает 0.
Введення виведення даних у масив
Введення та виведення масиву
Мова Pascal не має засобів введення та виведення масиву як цілісного об'єкта, ця операція виконується поелементно за допомогою оператора циклу. Під час введення елементів масиву необхідно врахувати те, що їх кількість, тип та тип індексів задаються в оголошенні масиву до початку виконання програми і не можуть бути змінені. Якщо межі індексів масиву точно не відомі, їх добирають так, щоб введена кількість елементів масиву під час виконання програми не перевищувала верхньої межі індексу. Наприклад, після оголошення масиву а:аrrау[1..100] of real кількість елементів, що до нього вводяться, не повинна перевищувати 100.
Приклад 7.2
Розглянемо реалізацію операцій введення та виведення одновимірного масиву. Для зберігання значень елементів масиву на етапі компіляції виділяється оперативна пам'ять, обсяг якої дорівнює означеній кількості елементів, помноженій на обсяг пам'яті, що її потребує збереження одного елемента. Під час виконання програми користувач вводить реальну кількість елементів, яка не повинна перевищувати оголошеної кількості. Наведений нижче код ілюструє принцип використання операції введення та виведення масиву. Зазначимо, що елементи масиву слід вводити через пробіл, оскільки при цьому застосовується оператор read.
Program ex7_2;
var
mas:array[1..10] of integer;
n:integer;
i:integer;
begin
writeln('Enter number of elements <=10');
read(n);
writeln('Enter elements values ');
for i:=1 to n do
read(mas[i]);
writeln('Entered array');
for i:=1 to n do
write(mas[i],' ');
writeln;
end.
Ініціалізація масиву
Введення значень елементів із клавіатури фактично є одним із способів ініціалізації масиву. Іншій спосіб ініціалізації масиву полягає у присвоєнні кожному його елементу деякого значення. Найбільш ефективно ця операція виконується за допомогою оператора for. Наприклад, у наведеному нижче коді десяти елементам масиву аrr присвоюються квадрати цілих чисел від 1 до 10.
for i:=1 to n do
arr[i]:=sqr(i);
Одновимірні масиви-константпи записуються за наведеним нижче зразком як перелік значень їх елементів:
const a:array[1..5] of integer = (1,3,2,-5,6);
Така ініціалізація еквівалентна серії присвоювань
а[1]:=1; а[2]:=3; а[3]:=2; а[4]:= - 5; а[5]:= - 6:
Для однотипних масивів А та В як для цілісних об'єктів визначена операція присвоєння А:= В. Однотипність масивів означає, що вони мають однакові типи індексів та однакові типи елементів. У результаті виконання операції присвоєння А:= В значення елементів масиву В присвоюються відповідним елементам масиву А, тобто здійснюється копіювання масиву В до масиву А.