Читаем Программирование полностью

90 IF Y

100 YMAX=Y

110 XMAX=X

120 NEXT X

130 RETURN

Результатом решения будет два числа: значение аргумента, при котором функция имеет максимальное значение и значение функции.

Задача 9: (вычислить площадь области, заключенной между левым и правым пределами, верхней заданной функцией и снизу осью координат Х, как сумму площадей элементарных кусочков этой области).

Предел (A – B) разбивается на заданное число интервалов, выбираемое в зависимости от требуемой точности вычислений.

Например, функция Y=X2+2 в пределах от 0.1 до 2. Число интервалов задаем, например, равным 100.

10 DEF FNY(K)=K^2+2

20 INPUT “Входные пеpеменные A,B,N=”;A,B,N

30 H=(B-A)/N

40 S=0

50 X=A

60 FOR I=1 TO N-1

70 X=X+H

80 S=S+FNY(X)

90 NEXT I

100 S=0.5*H*(FNY(A)+FNY(B)+2*S)

110 PRINT S

120 END

При запросе входных переменных заносим значения: А, В и N соответственно: 0.1; 2; 100.


Программирование в среде Visual Basic

Среда систем визуального программирования

Построение приложений WINDOWS (в том числе разработка программ) в среде систем визуального программирования (Visual BASIC, Delphi, C…) существенно облегчается вследствие использования интегрированной среды разработчика.

Среда систем визуального программирования состоит: из строки меню с обязательным пунктом ФАЙЛ, через который выполняются действия с файлами: загрузка, сохранение, вывод на печать; панели инструментов, дублирующей пункты меню и ускоряющей действия пользователя; панели элементов, включающей компоненты приложений, помещаемые в окна.

Библиотека компонентов, включает в себя объекты построения пользовательского интерфейса. Из этой библиотеки можно выбрать компоненты, из которых строится приложение.

На экране также обычно отображается окно свойств (Properties) объектов проекта и форма-окно приложения.


Стандартные компоненты

Некоторые стандартные элементы перечислены ниже с комментариями по их применению.

Курсор – это не компонент, просто пиктограмма для выбора или отмены выбора какого -либо объекта.

Label метка служит для отображения текста на экране. Можно изменить шрифт и цвет метки.

TextBox может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст или данные во время выполнения программы.

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

CheckBox отображает строку текста с маленьким окошком для отметки выбора элемента рядом.

OptionButton позволяет выбрать одну опцию из нескольких.

ListBox нужен для показа прокручиваемого списка. Например, названий файлов или каталогов из ListBox.

Scrollbar полоса прокрутки, появляется автоматически в объектах редактирования, например, ListBox.

Image отображает графическое изображение.

Timer таймер, событие OnTimer периодически вызывается через промежуток времени, указанный в свойстве Interval.

Дополнительные компоненты

Для использования прочих компонент приложений можно добавить их на панель через меню: Project/Components/Insertable Objects.

MainMenu позволяет поместить главное меню в программу. При помещении MainMenu на форму это выглядит, как просто значок. Значки данного типа называют "невидимым компонентом", поскольку они невидимы во время выполнения программы. Создание меню включает три шага: помещение MainMenu на форму, вызов Дизайнера Меню, определение пунктов меню в Дизайнере Меню.

PopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется по щелчку правой кнопки мыши на объекте.

Построение приложений в среде VisualBASIC

После загрузки среды программирования, выбора в окне NEW PROJECT, Standard EXE, ОТКРЫТЬ вы автоматически попадаете в среду построения приложения, где имеется пустая пока форма Form1, на этой форме вы и должны графически построить содержимое проектируемого приложения, используя компоненты панели ToolBox.

Выбор элемента выполняется щелчком левой кнопки мыши. Установка элемента на форме выполняется щелчком или протаскиванием мышью с нажатой левой кнопкой. Для установленного элемента, и для самой формы в окне свойств (Properties) можно выбрать необходимые свойства, например: шрифт, цвет, надпись (Caption), имя (Name), размеры (Left, Top, Height, Width) и т.д. Размеры и расположение компонента можно менять, используя перетаскивание мышью с нажатой левой кнопкой сам элемент или метки по его периметру. Для изменения общих свойств нескольких компонентов выделение их выполняется рамкой или по одному с удержанием клавиши Shift.

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

Private Sub Command1_Click

программный код …

End Sub

Запуск программы для отладки выполняется щелчком по кнопке Start панели инструментов или через меню RUN (Start) или клавишей F5. Для выхода из программы можно использовать кнопку панели инструментов: End или закрыть окно программы. Имеются мощные графические отладчики, позволяющие находить и устранять ошибки в коде программ. Можно установить точки останова, щелчком справа от оператора текста программы, проверить ход программы, при помощи пошагового Debug выполнения. Для компиляции созданного приложения необходимо зайти в меню File, сохранить предварительно проект Save Project As, выбрав маршрут и указав имена файлов формы и проекта и затем в меню File выбрать Make ….EXE. Синтаксис языка Visual BASIC имеет некоторые отличия, но во многом совпадает с синтаксисом GWBasic.

Данные языка Visual BASIC

Комментарий в тексте программы начинается знаком апостроф (‘).

КОНСТАНТЫ объявляются в программе с помощью оператора Const, за которым через запятую перечисляются имена величин с их значениями, например: Const M=4,N=3 и т.д.

Оператор Dim объявляет тип переменных, например:

Dim My_Name As String

Dim Tel As String*9 (девять символов содержит переменная Tel)

Dim I As Integer ,J As Integer

Dim K As Double, A As Single

Оператор DIM также объявляет массивы, например:

Dim My_Mass(40) As String

Dim Mass1!(1 To 40)

Dim Mass2(1 To 30) As Double

ИНДЕКСЫ массива – целые выражения, принимающие положительные значения. Минимальное значение равно 0.

Массив с двумя индексами: Dim Ocenka(1 To 5, 1 To 20) As Integer

Удалить из памяти массивы можно оператором Erase с указанием через запятую списка имен массивов.

Для включения возможности изменения размеров массива их объявляют оператором ReDim и в диапазоне индексов можно указать имена переменных, значения которых, например, при решении ввести через текстовые поля. Чтобы при переопределении массива старые значения не были потеряны можно использовать оператор описания в виде: ReDim Preserve .

В случае, если обозначение типа данного отсутствует, то идентификатору присваивается тип Variant – произвольный. Основные обозначения: % -целые (Integer), например: Atip%, от -32768 до 32767, ! -вещественные (Single) от 1.41Е-45 до 3.4Е-38, # -двойной точности (Double) от 4.95Е-324 до 1.79Е-308, $ -символьные (String), обрамляются кавычками.

Для определения переменных используется оператор ПРИСВАИВАНИЯ:

V=A(4)

Itog_sceta=Itog_sceta+Ocenka(I,J)

C= А(6)+В

Ввод вывод данных

Для ввода данных может использоваться элемент текстовое поле (TextBox). Он может быть установлен на экранную форму. Оператор присваивания позволяет считать данные введенные с клавиатуры: A=Dlina.Text , где Dlina это имя поля (Name).

Считывание: В=InputBox("Комментарий","Заголовок окна","Начальное значение") позволяет вводить данные с помощью специального "окна ввода".

Данные можно выбрать из заранее подготовленного или заполняемого при решении задачи "окна списка". Например: Х=ИмяОкнаСписка.List(N).

Для ввода из файла используется оператор ОТКРЫТИЯ ФАЙЛА: OPEN.

Open "A1.TXT" For Input As #K

Открывается файл с именем A1 и расширением TXT, номер его К, затем из файла вводятся данные с помощью оператора Input #K,R переменная R. Оператор Line Input используется для ввода данных из файла построчно.

Оператор ЗАКРЫТИЯ файла: CLOSE #K закрывает открытый #К файл. Для вывода в файл используется оператор с записью ( For Output ) и затем (Print #K, … или Write #K, …).

Вывод на форму осуществляется оператором ВЫВОДА: PRINT со списком выводимых переменных.

Для слитного вывода в ряд числовых значений с комментарием используется разделение точкой с запятой между переменными.

Print “РЕЗУЛЬТАТ А и В =”,A;B

для раздельного вывода по столбцам, запятая:

Print C,D

Оператор PRINT без списка данных выполняет перевод строки.

Функция TAB производит форматирование вывода.

Print Tab(5),X

Перед выводом числа Х будет пропущено 5 пробелов. Функция TAB часто используется для построения графиков или таблиц.

Результат может быть показан в установленном "текстовом поле", например: ИмяПоля.Text=Y.

Нестандартные функции и процедуры

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

Повторяющиеся в программе арифметические выражения, можно представить в виде оператора функции и соответствующей процедуры.

Для описания функции используется например описание:

Public Function AA(A As Single,B As Single,C As Single) As Double

P=(A+B+C)/2

AA=Int(Sqr(P*A*B*C)

End Function

где AA– имя или идентификатор функции, в скобках список ФОРМАЛЬНЫХ ПАРАМЕТРОВ ( имена фиктивных переменных фактических значений, которые должны быть вычислены к моменту выполнения функции, если их несколько, то все они перечисляются через запятую). внутри блока вид описываемой функции. В результате работы блока возвращается вычисленное значение АА. Функции как и процедуры могут быть локальными: Private и глобальными: Public.

Процедура отличается от функции тем, что она возвращает значения переменных описанных в списке параметров, например:

Вызов процедуры: Call ИмяПроцедуры(СписокПараметров)

можно записать без скобок и ключевого слова Call , список параметров это переменные через запятую. ИмяПроцедуры СписокПараметров . Сама процедура имеет описание:

Public Sub ИмяПроцедуры(СписокПараметров)

и операторы для обработки данных или вычислений

End Sub

Cписок параметров это входные или выходные параметры процедуры. Процедура может обращаться к самой себе (рекурсивная).

Некоторые особые стандартные функции

Rnd = случайное число из диапазона 0 – 1 (r!=Rnd) (Для генерации псевдослучайных чисел используется оператор Randomize N, где N любое число, или Randomize Timer старт от счетчика времени).

Fix(X) – отбрасывает числа после запятой;

Сint(X) – определяет наибольшее целое, не превосходящее аргумент;

Int(X) – округляет значение до ближайшего целого;

Sgn(X) – определяет знак аргумента и присваивает результату значение -1, если знак аргумента отрицательный, 0, если аргумент равен нулю, и 1 , если положительный.

Val(X$) – преобразование цифровой строки в цифровое значение;

Str(X) – преобразование цифрового значения в текстовую строку, содержащую цифры;

Len(Х$) – возвращает длину строки;

Mid(Cтрока$,Позиция&,Длина&) – в строке выделяется подстрока с позиции заданной длиной;

Asc(Cтрока$) – преобразовывает строку в код ASCII первого символа строки;

Chr(Код&) – преобразует код в строку из одного символа.

InputBox(Приглашение,Заголовок,Начальное значение) – ввод данных с помощью окна ввода;

MsgBox(Текст,Вид значка,Заголовок окна) – вывод окна предупреждения (Вид значка: критическое сообщение=16, вопрос=32, предупреждение=48, информация=64; добавление к этому числу 0 означает кнопка ОК, 1 – это две кнопки: ОК и Отмена, 2 – Стоп, Повтор, Пропустить, 3 – Да, Нет, Отмена, 4 – Да, Нет, 5 – Повтор, Отмена); Функция возвращает значения: 1=ОК, 2=Отмена, 3=Стоп, 4=Повтор, 5=Пропустить, 6=Да, 7=Нет.

Перейти на страницу:

Похожие книги

Кровососы. Как самые маленькие хищники планеты стали серыми кардиналами нашей истории
Кровососы. Как самые маленькие хищники планеты стали серыми кардиналами нашей истории

В этой книге предлагается совершенно новый взгляд на историю человечества, в которой единственной, главной и самой мощной силой в определении судьбы многих поколений были… комары. Москиты на протяжении тысячелетий влияли на будущее целых империй и наций, разрушительно действовали на экономику и определяли исход основных войн, в результате которых погибла почти половина человечества. Комары в течение нашего относительно короткого существования отправили на тот свет около 52 миллиардов человек при общем населении 108 миллиардов. Эта книга о величайшем поставщике смерти, которого мы когда-либо знали, это история о правлении комаров в эволюции человечества и его неизгладимом влиянии на наш современный мировой порядок.

Тимоти С. Вайнгард

Медицина / Учебная и научная литература / Образование и наука
Люди и динозавры
Люди и динозавры

Сосуществовал ли человек с динозаврами? На конкретном археологическом, этнографическом и историческом материале авторы книги демонстрируют, что в культурах различных народов, зачастую разделенных огромными расстояниями и многими тысячелетиями, содержатся сходные представления и изобразительные мотивы, связанные с образами реликтовых чудовищ. Авторы обращают внимание читателя на многочисленные совпадения внешнего облика «мифологических» монстров с современными палеонтологическими реконструкциями некоторых разновидностей динозавров, якобы полностью вымерших еще до появления на Земле homo sapiens. Представленные в книге свидетельства говорят о том, что реликтовые чудовища не только существовали на протяжении всей известной истории человечества, но и определенным образом взаимодействовали с человеческим обществом. Следы таких взаимоотношений, варьирующихся от поддержания регулярных симбиотических связей до прямого физического противостояния, прослеживаются авторами в самых разных исторических культурах.

Алексей Юрьевич Комогорцев , Андрей Вячеславович Жуков , Николай Николаевич Непомнящий

Альтернативные науки и научные теории / Учебная и научная литература / Образование и наука
Средневековье
Средневековье

История, как известно, статична и не приемлет сослагательного наклонения. Все было как было, и другого не дано. Но если для нас зачастую остаются загадками события десятилетней давности, то что уж тогда говорить о тех событиях, со времени которых прошло десять и более веков. Взять хотя бы Средневековье, в некоторых загадках которого и попытался разобраться автор этой книги. Мы, например, знаем, что монголы, опустошившие Киевскую Русь, не тронули Новгород. Однако же почему это произошло, почему ханы не стали брать древний город? Нам известно, что народная героиня Франции Жанна Д'Арк появилась на свет в семье зажиточного крестьянина, а покинула этот мир на костре на площади в Руане. Так, по крайней мере, гласит официальная биография Жанны. Однако существует масса других версий относительно жизни и смерти Орлеанской девы, например, о том, что происходила она из королевской, а не крестьянской семьи, и что вместо нее на костер поднялась другая женщина. Загадки, версии, альтернативные исследования, неизвестные ранее факты – наверное, тем и интересна история, что в ней отнюдь не все разложено по полочкам и что всегда найдутся люди, которые захотят узнать больше и разгадать ее загадки…

Борис Сергеевич Каракаев , Владислав Леонидович Карнацевич , Сергей Сергеевич Аверинцев

История / Учебная и научная литература / Образование и наука