Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Задания для самостоятельного выполнения

Поиск

Операторы

Оператор присваивания (=) позволяет задать (присвоить) переменной значение другой переменной, выражения или объекта.

Синтаксис: < переменная > = < выражение >

Порядок выполнения: вычисляется значение < выражения > и присваивается полученное значение < переменной > (вычисляется значение выражения, стоящего справа от знака присваивания, и присваивается переменной, стоящей слева от знака присваивания).

Изображение оператора присваивания на блок-схеме показано на рисунке 9.

 


Рисунок 9 – Изображение на блок-схеме оператора присваивания

 

Условный оператор позволяет выбирать и выполнять действия в зависимости от истинности некоторого условия.

Условный оператор имеет два варианта синтаксиса:

a) однострочная форма записи условного оператора:

If <условие>Then[<операторы 1>][Else [<операторы 2>]];

б)блочная форма записи условного оператора:

If <условие 1>Then

    [<операторы 1>]

  . . .

[ElseIf<условие n>Then

       [<операторы n> ]…

[Else]

       [<ИначеОператоры>]]

End If.

Порядок выполнения: вычисляется значение <условие>. Оно может принимать значения TRUE (Истина) или FALSE (Ложь). Если <условие> принимает значение TRUE, то выполняются [<операторы 1>] (операторы ветки Then), в противном случае - [<операторы 2>] (операторы ветки Else).

Изображение условного оператора на блок-схеме показано на рисунке 10.

 

Рисунок 10 – Изображение на блок-схеме условного оператора

 

Оператор цикла For позволяет повторять группу операторов заданное число раз.

Синтаксис: For <счётчик_цикла> =<начало> To <конец> [Step <шаг>]

<тело цикла>

[Exit For]

 . . .

Next [<счётчик_цикла>],

где <счётчик_цикла>— числовая переменная;

<начало> - начальное значение (выражение) переменной <счётчик_цикла>;

<конец> - заключительное значение (выражение) переменной <счётчик_цикла>;

<тело цикла> - это последовательность операторов, которая будет выполнена заданное число раз.

Порядок выполнения: переменной <счётчик_цикла>присваивается значение <начало>и проверяется условие: <начало>£ <конец>; если условие неверно, то <тело цикла>не выполняется и управление передается на оператор, следующий за Next. Если же условие выполняется, то выполняется <тело цикла>, затем значение <счётчик_цикла>изменяется на значение <шаг> (увеличится в случае положительного значения <шаг>, и уменьшается при отрицательном значении <шаг>). Данный процесс будет выполняться, пока значение <счётчик_цикла>не достигнет значения <конец> .Досрочно завершить цикл For…Next можно и с помощью оператора Exit For. Такие операторы могут быть расположены в тех местах тела цикла, где требуется из него выйти, не дожидаясь выполнения условия завершения.


Изображение оператора цикла на блок-схемах показано на рисунке 11.

 

Рисунок 11 –Изображение на блок схеме оператора цикла

 

Массив – совокупность однотипных элементов данных (чисел, логических данных, символов), которой при обработке присвоено определенное имя. Массивы бывают статические и динамические. Статическими называются массивы, количество элементов в которых заранее известно и не изменяется в ходе выполнения программы. Динамические массивы – массивы, в которых либо не известно начальное количество элементов, либо размерность массива (количество элементов) изменяется при выполнении программы.

Описание массивов:

1) одномерный статический массив

Dim <имя массива> (<начальное значение индекса> To <конечное значение индекса>) [As <тип элементов массива>]

или

Dim <имя массива> ( <количество элементов массива>) [As <тип элементов массива>];

2) двумерный статический массив

Dim <имя массива> ( <начальное значение индекса по строкам> To <конечное значение индекса по строкам >, < начальное значение индекса по столбцам> To < конечное значение индекса по столбцам>) [As <тип элементов массива>]

или

Dim <имя массива> ( <количество строк>, <количество столбцов>) [As <тип элементов массива>].

Первый способ отличается от второго тем, что в первом случае указывается индекс первого и последнего элементов, во втором же – только количество элементов, нумерация которых может начинаться как с 0, так и с 1. Это зависит от опции Base (задает базовый индекс). Если опция не указана, то нумерация элементов массива начинается с нуля. Для изменения базового индекса в начале листа модуля необходимо написать Option Base 1.

Пример

а) Dim А(1 To 10) As Integer – массив А состоит из 10 элементов целого типа, индексы которых 1, 2, …, 10;

б) Dim А(10) As Integer – массив состоит из 10 значений целого типа. Индексация зависит от опции Base. Если опция не указана, то номера элементов - от 0 до 9, если же указана (т.е. вначале модуля записано Option Base 1), то номера элементов изменяются от 1 до 10;

3) динамический массив:

 Dim <имя массива> ( )[As <тип элементов массива>].

После определения количества элементов массива выполняется его переопределение:

ReDim <имя массива> (<задается размерность массива (одномерного/двумерного >).

Пример

Dim А( ) As Single–динамический массив А вещественных элементов

n=7

ReDim A(1 To n) – переопределение одномерного массива из n значений

ReDim A(5,n) – переопределение двумерного динамического массива, состоящего из 5 сток и n столбцов (начало индексации элементов определяется по опции Base)

Обращение к элементу массива осуществляется следующим образом: указывается имя массива, а затем в круглых скобках указывается номер элемента в массиве. Если массив двумерный – указывается вначале номер строки, затем через запятую номер столбца.

 

2.2 Пример выполнения задания

 

В одномерном динамическом массиве определить максимальный элемент и поменять его местами с первым.

Блок-схема программы изображена на рисунке 12.


Рисунок 12 –Блок схема программы

 

Текст программы с описанием используемых операторов представлен в таблице 9.

 

Таблица 9 –Текст программы с описанием

 

Public Sub prog5()

 

Dim b() As Double

 

Dim max As Double, m As Double

 

n=CInt(InputBox("Введите размерность массива"))

 

ReDim b(1 To n)

 

For i = 1 To n

 b(i) = CDbl(InputBox("Введите " & i & "-ый элемент массива"))

Next i

 

max = b(1): m = 1

 

For i = 2 To n

 If b(i) > max Then

max = b(i)

m = i

End If

Next i

 

 

t = b(1)

b(1) = b(m)

b(m) = t

 

For i = 1 To n

Worksheets(1).Range("D"& i)=b(i)

Next i

End Sub

Заголовок программы

 

Описание динамического массива вещественных значений

Описание переменных

 

Ввод размерности массива (вводимое значение преобразуется к целому типу)

 

Переопределение массива

 

Цикл с параметром используется для ввода элементов массива через окно ввода

 

Переменной max присваивается значение первого элемента массива (считается первый элемент максимальным) и присваивается переменной m его номер

 

Начиная со второго элемента, просматриваются все элементы массива

Каждый элемент сравнивается с максимальным на данный момент элементом: если текущий (i-ый) элемент оказался больше максимального, то значение переменной max изменяется на это значение и запоминается его номер в переменной m

 

С помощью промежуточной переменной t меняются значения двух переменных

 

С помощью цикла с параметром выводится массив (элементы массива) на лист1 в столбец D, начиная с первой строки

 

 

 

Вариант 1

Создать одномерный массив из N целочисленных значений. Найти наибольший среди положительных элементов массива и вывести его на экран.

Вариант 2

Создать одномерный целочисленный массив из N значений. Подсчитать среднее арифметическое значение всех элементов и вывести его на экран.

Вариант 3

Создать одномерный целочисленный массив из N значений. Расставить в нем элементы в обратном порядке.

Вариант 4

Создать одномерный целочисленный массив из N значений. Поменять местами каждую пару чисел, например, А1 с А2, А3 с А4 и т.д.

Вариант 5

Создать одномерный массив из N целочисленных значений. Вывести все отрицательные элементы массива и подсчитать их количество.

Вариант 6

Создать одномерный массив из N целочисленных значений. Вывести все положительные элементы массива и подсчитать их количество.

Вариант 7

Создать два одномерных массива по 10 целочисленных значений каждый. Сформировать третий массив из 20 элементов следующим образом: на нечетные места ставить элементы из первого массива, на четные места – из второго.

Вариант 8

Создать два одномерных массива по 10 целочисленных значений каждый. Сформировать третий массив из 20 элементов следующим образом: сначала ставить элементы из первого массива, затем – из второго.

Вариант 9

Создавать одномерный массив из 20 целочисленных значений. Вывести элементы, стоящие на нечетных местах.

Вариант 10

Создать два одномерных массива по 20 целочисленных значений. Совершить обмен данными: в одном массиве с 1-ого по 10- ый элемент, в другом с 11 – го по 20 – ый элемент, т.е. Х1 на Y11, Y11 на X1 и т.д.

Вариант 11

Создать одномерный массив из N целочисленных значений. Расставить в нем в том же порядке сначала положительные элементы, затем отрицательные, затем нулевые.

Вариант 12

Создать одномерный массив из N целочисленных значений. Найти минимальное среди них, вывести его и индекс данного элемента на экран.

Вариант 13

Создать одномерный массив из N целочисленных значений. Найти минимальное и максимальное значения, вывести их разность на экран.

Вариант 14

Создать одномерный массив из N целочисленных значений. Найти наибольшее среди отрицательных и вывести его на экран.

Вариант 15

Дано целое число N (> 2). Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи FК:

F1 = 1, F2 = 1, FК =FК-2 +FК-1 , K = 3, 4, … .

Вариант 16

Даны целые числа N (> 2),A и B. Сформировать и вывести целочисленный массив размера N, первый элемент которого равен A, второй равен B, а каждый последующий элемент равен сумме всех предыдущих.

Вариант 17

Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество.

Вариант 18

Дан массив размера N и целые числа K и L (1 ≤ K L N). Найти сумму элементов массива с номерами от K до L включительно и вывести ее на экран.

Вариант 19

Дан массив размера N и целые числа K и L (1 ≤ K L N). Найти среднее арифметическое элементов массива с номерами от K до L включительно и вывести его на экран.

Вариант 20

Дано число R и массив A размера N. Найти элемент массива, который наиболее близок к числу R (то есть такой элемент Ai , для которого величина |Ai  –R| является минимальной).

Вариант 21

Даны два массива A и B одинакового размера N. Сформировать новый массив C того же размера, каждый элемент которого равен максимальному из элементов массивов A и B с тем же индексом.

Вариант 22

Дан целочисленный массив размера N. Увеличить все нечетные числа, содержащиеся в массиве, на исходное значение последнего нечетного числа. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.

Вариант 23

Дан целочисленный массив размера N. У всех нечетные чисел, содержащиеся в массиве, поменять знак. Если нечетные числа в массиве отсутствуют, то оставить массив без изменений.

Вариант 24

Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами (не включая минимальный и максимальный элементы).

Вариант 25

Дан целочисленный массив размера N. Удалить из массива все нечетные числа и вывести размер полученного массива и его содержимое.

 

 



Поделиться:


Последнее изменение этой страницы: 2024-06-17; просмотров: 5; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.156.26 (0.01 с.)