Инфоурок / Информатика / Другие методич. материалы / Практикум по программированию в объектно-ориентированной среде Visual Basic 6.0
Обращаем Ваше внимание: Министерство образования и науки рекомендует в 2017/2018 учебном году включать в программы воспитания и социализации образовательные события, приуроченные к году экологии (2017 год объявлен годом экологии и особо охраняемых природных территорий в Российской Федерации).

Учителям 1-11 классов и воспитателям дошкольных ОУ вместе с ребятами рекомендуем принять участие в международном конкурсе «Законы экологии», приуроченном к году экологии. Участники конкурса проверят свои знания правил поведения на природе, узнают интересные факты о животных и растениях, занесённых в Красную книгу России. Все ученики будут награждены красочными наградными материалами, а учителя получат бесплатные свидетельства о подготовке участников и призёров международного конкурса.

ПРИЁМ ЗАЯВОК ТОЛЬКО ДО 21 ОКТЯБРЯ!

Конкурс "Законы экологии"

Практикум по программированию в объектно-ориентированной среде Visual Basic 6.0

библиотека
материалов

hello_html_2c4a763d.gifЛабораторный практикум по программированию на VB 6.0 , Титова Е.В.


Практикум по программированию в среде Visual Basic” разработан учителем информатики Казахстанско-Российскойгимназии Титовой Е.В.


Практикум рассмотрен и утвержден на заседании предметно-цикловой комиссии «Математика и информатика».




















Практикум по программированию в среде Visual Basic” является дополнением к лекционному курсу «Основы алгоритмизации и программирования». Каждая работа представлена в виде проекта, включающего в себя несколько задач, объединенных одной идеей.

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


С наилучшими пожеланиями. Автор.




Содержание



Лабораторная работа № 1

Проект «Электронный альбом»


Описание проекта: После запуска программы на экране появляется название проекта и меню, состоящее из управляющих кнопок, на которых расположены названия картин. Пользователь может «листать» альбом, щелкая по управляющим кнопкам с соответствующим названием.


hello_html_m5a26823f.gifПоследовательность работы:

  1. Приготовить на Рабочем столе папку с графическими файлами.

  2. Открыть Новый проект Visual Basic.

  3. Переименовать форму Form1 в «Электронный альбом», изменив значение свойства Name в окне свойств объектов Properties.

  4. Разместить на форме не менее 4 кнопок Comandbutton.

  5. Создать на кнопке Commandbutton1 надпись с названием первой картины (например: Лето), изменив значение свойства Caption в окне свойств объектов Properties.

  6. Аналогично «подписать» остальные кнопки: Commandbutton2, Commandbutton3, Commandbutton4.

  7. Загрузить первый рисунок в объект Image1, изменив значение свойства Picture в окне свойств объектов Properties.

  8. Аналогично загрузить остальные рисунки (2, 3, 4) в объекты Image2, Image3, Image4.

  9. Написать программный код для объекта Commandbutton1.

Для этого необходимо:

  • Дважды щелкнуть левой кнопкой мыши по объекту Commandbutton1

  • Найти в редакторе кодов заготовку процедуры:

Private Sub Command1_Click()


End Sub

  • Записать в тело процедуры команды, которые должны произойти по событию «щелчок левой кнопкой мыши» по управляющей кнопке Command1: Все картинки, кроме картинки «Лето» должны стать невидимыми. Для этого внутри заготовки процедуры записывают команды:

Image1.visible=true

Image2.visible=false

Image3.visible=false

Image4.visible=false

  • Аналогично записывают программные коды для оставшихся кнопок, соблюдая при этом следующее соображение: свойство visible должно быть истинным (True) для объекта, который должен появиться на форме, а остальные объекты должны стать невидимыми (False).


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


Форма отчета:

  1. Наличие рабочего проекта на ЭВМ.

  2. Лабораторная работа с:

    1. описанием проекта

    2. эскизом формы

    3. таблицей свойств объектов, расположенных на форме:


Объект

Свойство

Значение

Form1

Name

Электронный альбом

Command1

Caption

Лето

    1. тексты программных кодов.


Дополнительное задание: Запрограммируйте изменение цвета формы так, чтобы он подходил к каждому рисунку?




Лабораторная работа № 2

Проект «Счетная машинка для дробей»


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


hello_html_m7fd359dc.gif

Command1

hello_html_m46acb10d.gif


Последовательность работы:

  1. Открыть Новый проект Visual Basic.

  2. Переименовать форму Form1 в «Счетная машинка для обыкновенных дробей», изменив значение свойства Name в окне свойств объектов Properties.

  3. Разместить на форме следующие объекты:

Объект

Свойство

Значение

Form1

Caption

Счетная маштнка

Textbox1

-

-

Textbox2

-

-

Textbox3

-

-

Textbox4

-

-

Textbox5

-

-

Textbox6

-

-

Command1

Caption

Сложение

Command2

Caption

Вычитание

Command3

Caption

Умножение


  1. Написать программный код для объектов Commandbutton*.

Для этого необходимо:

  • Дважды щелкнуть левой кнопкой мыши по объекту Commandbutton1

  • Записать в редакторе кодов процедуры:

Private Sub Command1_Click ()

Text5.text=str (val (Text1.text)* val(Text4.text)+ val (Text3.text)* val(Text2.text))

Text6.text=str(val(text2.text)*val(text4.text))

End Sub

Private Sub Command2_Click ()

Text5.text=str (val (Text1.text)* val(Text4.text) - val (Text3.text)* val(Text2.text))

Text6.text=str(val(text2.text)*val(text4.text))

End Sub

Private Sub Command3_Click ()

Text5.text=str (val (Text1.text)* val(Text3.text))

Text6.text=str(val(text2.text)*val(text4.text))

End Sub


Функция val превращает символ в число.

Функция str превращает число в символ.


Форма отчета:

  1. Наличие рабочих проектов на ЭВМ.

  2. Лабораторная работа с:

  • описанием проекта

  • эскизом формы

  • таблицей свойств объектов, расположенных на форме:


Объект

Свойство

Значение




  • тексты программных кодов.


Дополнительное задание:

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





Лабораторная работа № 3

Проект «Звездное небо и знаки Зодиака»


Взглянув на пояс Зодиака

мы в январе увидим Рака,

А в феврале заметим Льва.

Хранителем его была

В холодном марте злая Дева,

Весьма похожая на Еву.

Весы купив себе в апреле,

Они спокойно жить хотели,

Но в мае страшный Скорпион

У них отнял покой и сон.

Его убил Стрелец прекрасный,

Отца июня сын несчастный,

В июле ж братец Козерог

Сон Льва и Девы уберег,

А в августе, на много дней

Приехал к дяде Водолей.

Из рыб уху он в сентябре

Варил и кушал во дворе,

Зажарил Овна в октябре,

Тельца зарезал в ноябре.

А декабре, в конце концов

Родилась пара близнецов.


(Ю. Валишин, 1961)

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

Описание проекта: После запуска программы на экране появляется название проекта и меню, состоящее из управляющих кнопок, на которых расположены названия созвездий «Персей», «Лев», «Большая медведица».


hello_html_m1ffdfee0.gif


Методы и инструкции, которые вам потребуются для работы над проектом:

Метод масштабирования:

[Имя объекта.] Scale (x1, y1)-(x2,y2)

Рисование точки:

[Имя объекта.] Pset (x,y), vbwhite

Диаметр точки и толщина линии:

[Имя объекта.] DrawWidth=1

Рисование линии:

[Имя объекта.] Line (x1, y1)-(x2,y2)[.цвет]

Очистка экрана

[Имя объекта.] CLS


Последовательность работы:

  1. Открыть Новый проект Visual Basic.

  2. Переименовать форму Form1 в «Звездное небо и знаки Зодиака»

  3. Разместить на форме следующие объекты:

Объект

Свойство

Значение

Form1

Caption

Звездное небо и знаки Зодиака

Picture1

-

-

Command1

Caption

Персей

Command2

Caption

Звездное небо

Command3

Caption

Поэзия

Command4

Caption

Очистка картинки


  1. Написать программные коды для объектов Commandbutton*:


Private Sub Command1_Click ()

Picture1.Scale(0,10)-(10,0)

Picture1.DrawWith=4

Picture1.PSet ( , ),vbblue

……………………………..

Picture1.DrawWith=1

Line( , ) - ( , ), vbwhite

……………………………..

End Sub


Private Sub Command4_Click ()

Picture1.Cls

End Sub

Private Sub Command2_Click ()

Picture1.Scale(0,10)-(10,0)

Picture1.DrawWith=1

For i=1 to 100

X=int(100*rnd())

Y=int(100*rnd())

Picture1.Pset(X,Y),vbblue

Next i

End Sub


Private Sub Command3_Click ()

Picture1.visible=false

Form1.text=”Взглянув на пояс Зодиака…”

End Sub



Форма отчета:

  • Наличие рабочих проектов на ЭВМ.

  • Лабораторная работа с:

    • описанием проекта

    • эскизом формы

    • таблицей свойств объектов, расположенных на форме:


Объект

Свойство

Значение




  • тексты программных кодов.




Лабораторная работа № 4

Проект «Круговая диаграмма»


Описание проекта: После запуска программы на экране появляется название проекта, окна для ввода количества «отличников», «хорошистов», «троечников» и «двоечников», а также управляющая кнопка, после нажатия на которую, появляется круговая диаграмма, показывающая процентное соотношение картины успеваемости класса..


hello_html_6f34e5d1.gif


Методы и инструкции, которые вам потребуются для работы над проектом:

Метод масштабирования:

[Имя объекта.] Scale (x1, y1)-(x2,y2)

Рисование окружности:

[Имя объекта.] circle(x,y), r, c

Рисование сектора:

[Имя объекта.].circle(x,y),r,c,-n,-k, a

Рисование линии:

[Имя объекта.] Line (x1, y1)-(x2,y2)[.цвет]

Очистка экрана

[Имя объекта.] CLS


Последовательность работы:

  1. Открыть Новый проект Visual Basic.

  2. Переименовать форму Form1 в «Круговая диаграмма».

  3. Разместить на форме следующие объекты:

Объект

Свойство

Значение

Form1

Caption

Круговая диаграмма

Picture1

-

-

Text1



Text2



Text3



Text4




  1. Написать программный код для объектов Command1:

А) Масштабировать объект Picture.

Б) Считать значение окон Text1, Text2, Text3, Text4 и присвоить их значения переменным OTL, HOR, TR, DV, не забыв при этом преобразовать их тип из символьного в числовой.

В) Посчитать сколько всего учеников в классе:

VSEGO:= OTL+HOR+TR+ DV

В) Посчитать значение начала дуги и конца дуги для каждого вида учеников:

Для отличников:

NO:=2*3.14

KO:=OTL*6.28/VSEGO


Для хорошистов:

NH:= OTL*6.28/VSEGO

KH:= KO+HOR*6.28/VSEGO

Для троечников

NT:=HOR*6.28/VSEGO

KT:=KH+TR*6.28/VSEGO

Для двоечников:

ND:=HOR*6.28/VSEGO

KD:=KT+TR*6.28/VSEGO


Г) Задать стиль и цвет заливки для сектора «отличники», используя функции SetFillStyl и SetColor

Д) Начертить сектор окружности данного цвета, радиуса, соразмерного с масштабом объекта Picture1 для отличников.

E) Повторить пункты Г) и Д) для «хорошистов», «троечников», «двоечников».


Форма отчета:

  • Наличие рабочих проектов на ЭВМ.

  • Лабораторная работа с:

    • описанием проекта

    • эскизом формы

    • таблицей свойств объектов, расположенных на форме:


Объект

Свойство

Значение




  • тексты программных кодов.




Лабораторная работа № 5

Проект «Электронный букет»


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


Я предлагаю спеть о том,

Что на столе стоят цветы,

И много места за столом,

Вот только не приходишь ты

И очень грустно мне смотреть

На этот праздничный букет.

Он засыхает на глазах,

Он осыпается в слезах,

Когда тебя со мною рядом нет.

Евгений Бачурин


hello_html_m80de71e.gif


Методы и инструкции, которые вам потребуются для работы над проектом:

Метод масштабирования:

[Имя объекта.] Scale (x1, y1)-(x2,y2)

Рисование окружности:

[Имя объекта.] CIrcle (x,y), r, c

Рисование эллипса:

[Имя объекта.] CIrcle (x,y), r, c,n,k,a

Диаметр точки и толщина линии:

[Имя объекта.] DrawWidth=1

Рисование линии:

[Имя объекта.] Line (x1, y1)-(x2,y2)[.цвет]

Очистка экрана

[Имя объекта.] CLS

Команда повторения с параметром:

For I=1 to N step 1

{Тело цикла}

Next I


Последовательность работы:

  1. Открыть Новый проект Visual Basic.

  2. Переименовать форму Form1 в «Электронный букет»

  3. Разместить на форме следующие объекты:

Объект

Свойство

Значение

Label1

Caption

Я предлагаю спеть о том…

Picture1

-

-

Command1

Caption

Букет

Command2

Caption

Очистка картинки

Command3

Caption

Поэзия

Command4

Caption

Об авторе


  1. Написать программные коды для объектов Commandbutton*:


Private Sub Command1_Click()

Dim y, i, x As Integer

Picture1.Scale (-100, 100)-(100, -100)

For y = -80 To 0 Step 0.1

c1 = 255 * Rnd(): c2 = 255 * Rnd(): c3 = 255 * Rnd()

Picture1.Circle (0, y), 25, RGB(c1, c2, c3), , , 0.5

Next y

For i = 1 To 15

x = -80 + 160 * Rnd(): y = -80 + 160 * Rnd()

Picture1.Line (0, 0)-(x, y), vbGreen

c1 = 255 * Rnd(): c2 = 255 * Rnd(): c3 = 255 * Rnd()

Picture1.Circle (x + 5, y + 5), 5, RGB(c1, c2, c3)

Picture1.Circle (x + 5, y - 5), 5, RGB(c1, c2, c3)

Picture1.Circle (x - 5, y + 5), 5, RGB(c1, c2, c3)

Picture1.Circle (x - 5, y - 5), 5, RGB(c1, c2, c3)

Picture1.FillStyle = 1

FillColor = vbYellow: Picture1.Circle (x, y), 5, RGB(c1, c2, c3)

Next i

End Sub


Private Sub Command2_Click()

Picture1.Cls

End Sub


Private Sub Command3_Click()

Label1.Caption = "Я предлагаю спеть о том,… рядом нет."

End Sub


Private Sub Command4_Click()

Label1.Caption = "Программа <Электронный букет> выполнена Незнайкой для Кнопочки"

End Sub


Форма отчета:

  • Наличие рабочих проектов на ЭВМ.

  • Лабораторная работа с:

    • описанием проекта

    • эскизом формы

    • таблицей свойств объектов, расположенных на форме:


  • тексты программных кодов.


Лабораторная работа № 6

Рисование графиков функций


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


Ход работы:

  1. Создать новую форму.

  2. Расположить на форме объект, на котором будут размещены графики функций.

  3. Расположить кнопки будущего меню.

  4. Подписать кнопки меню названиями графиков функций.

  5. Написать коды, обрабатывающие события для каждой кнопки.


hello_html_mb76f337.gif

Методы и инструкции, которые вам потребуются для работы над проектом:

Метод масштабирования:

[Имя объекта.] Scale (x1, y1)-(x2,y2)


Диаметр точки и толщина линии:

[Имя объекта.] DrawWidth=1


Рисование линии:

[Имя объекта.] Line (x1, y1)-(x2,y2)[.цвет]

Очистка экрана

[Имя объекта.] CLS


Команда повторения с параметром:

For I=1 to N step 1

{Тело цикла}

Next I


Особенности масштабирования объекта для построения графика синусоиды:


А) Функция синуса имеет вид: у = sin ( x )

B) Результат функции синуса (Y) должен лежать в диапазоне от (-1) до (1).

С) Аргумент функции должен быть выражен в радианах, то есть, вместо интересующего нас угла (X градусов) надо написать ( X * 3.14 / 180 ).

Д) Так как график синусоиды периодически повторяется, хочется посмотреть его на большом диапазоне, например от -100 до 100 для Х.


Масштабирование объекта делается из вышеизложенных соображений:

Picture1.Scale (-100, 2)-(100,-2)


В данном диапазоне и будут изменяться наши переменные:

For x = - 100 to 100 step 0.1

Y = sin ( 3.14 * x / 180 )

Picture1. Pset ( x , y ), vbblue

Next x


Задача 1: Построить графики функций, область допустимых значений аргументов которых не имеет ограничений на диапазоне от -100 до 100:

    1. Построить график функции Y=X*X

    2. Построить график функции Y=X*X*X

    3. Построить график функции Y = a * x * x + b * x + c.


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

    1. Построить график функции Y = 1 / X .

    2. Построить график функции Y = (2 +X)/ (X-2)

    3. Построить график функции Y = (3 / X-5) .


Задача 3: Построить графики тригонометрических функций:

    1. y = sin ( x )

    2. y = 2*cos ( x )

    3. y=sin(x)/cos(x)


Задача 4: Построить график функции, изменяющей свою форму, в зависимости от значений аргумента.

    1. Кардиоида

    2. Эпициклоида

    3. Циссоида

    4. Улитка Паскаля

Форма отчета:

  • Наличие рабочих проектов на ЭВМ.

  • Лабораторная работа с:

    • описанием проекта

    • эскизом формы

    • таблицей свойств объектов, расположенных на форме:


  • тексты программных кодов.



Лабораторная работа № 7

Анимация


Описание проекта «Перемещение треугольника»: На форме расположен объект, поддерживающий файлы с расширением *.bmp и *.img.: Picture* или Image*. На объекте изображен треугольник. На форме имеется также командная кнопка, после нажатия на которую, объект перемещается из левого в правый угол.


Последовательность работы:

  1. Выполним чертеж, в котором одна клеточка будет равна 5 твипам.










































сhello_html_m45a6847b.gif


















































а



В







  1. Пусть точка А имеет координаты (X,Y). Выразим координаты точек В и С через координаты базовой точки А: В(x+10,y), а координаты точки С (x,y+20).


  1. Запишем строки программного кода, в котором данный треугольник изображается методом «базовой точки»:


x=5: y=5

picture1.line (x,y)-( x+10,y)

picture1.line (x+10,y)-( x,y+20)

picture1.line (x,y+20)-( x,y)


  1. Перемещение фигурки по экрану возможно при помощи цикла ForNext. Для этого надо:

    1. Организовать в заголовке цикла изменение базовых координат с нужным шагом.

    2. В теле цикла вычерчивать фигуру цветом, отличным от цвета фона, а затем рисовать ее же цветом фона (это даст эффект рисования-затирания). В нашем случае это будет выглядеть так:

x=5: y=5

For x=5 to 60 step 1

picture1.line(x,y)-( x+10,y), vbwhite

picture1.line(x+10,y)-( x,y+20), vbwhite

picture1.line(x,y+20)-( x,y), vbwhite

picture1.line(x,y)-( x+10,y), vbblack

picture1.line(x+10,y)-( x,y+20), vbblack

picture1.line(x,y+20)-( x,y), vbblack

Next i


Задача 1: На форме расположен объект Picture и четыре командных кнопки с надписями «Вверх», «Вниз», «Влево», «Вправо». В центре объекта изображена окружность. По нажатию на данные кнопки, окружность перемещается в указанном направлении.

А) уходит за пределы объекта

В) доходит только до края «экрана».


Задача 2: Изобразить шарик, двигающийся в горизонтальном направлении, отражающийся от стенок «экрана».

А) Затухающие колебания

В) Незатухающие колебания.


Задача 3: Изобразить шарик, отражающийся от стенок экрана.


Задача 4: Изобразить отражающуюся от стенок экрана «гантелю» (две окружности центры которых соединены отрезком).


Задача 5: Изобразить качающийся маятник.

А) С затухающими колебаниями.

В) С незатухающими колебаниями.


Задача 6: Изобразить циферблат

А) с секундной

В) минутной

С) часовой стрелками.


hello_html_2193e132.gifhello_html_6430ea95.gif



Лабораторная работа № 8

Проект «Писатель»


Описание проекта: На форме расположены «окошки» с фрагментами предложений. При нажатии на клавишу «Пуск» электронный писатель предоставляет новый рассказ. Так как фрагменты каждой строки подбираются случайным образом, смысл рассказа может быть лишен логики.

hello_html_31d6d693.gif

Порядок выполнения работы:


  1. Запустите систему Visual Basic и создайте новый проект.

  2. Разместите на форме 3 объекта ComboBox* (поля со списком).

  3. Настройте созданные списки следующим образом:

    1. Найдите свойство Style (стиль) первого Combobox1 и выберите для него вариант 2 - Dropdown List (раскрывающийся список).

    2. Найдите свойство List (Список), щелкните в окошке напротив, появится пустой список. Заполните список (Буратино, Карабас, Дуремар, Пьеро), нажимайте <Ctr> + <Enter> после каждого элемента, чтобы не выйти из режима заполнения списка.

    3. Список закрывается нажатием на клавишу <Enter>

    4. Заполните аналогично список Combobox2 элементами (сразу же нашел, грустно разглядывал, крутил в руках, искал в болоте)

    5. Заполните аналогично список Combobox3 элементами (золотой ключик, плетку-семихвостку, новые стихи для Мальвины, сердитую пиявку)


  1. Добавьте кнопку для перемешивания списков СommandButton.

    1. Измените свойство Caption кнопки: Случайный выбор.


  1. Можете сделать первую проверку программы:

    1. Запустите программу

    2. Вручную открывайте списки и устанавливайте нужное вам словосочетание.

    3. Остановите программу.


  1. Сделаем так, чтобы уже при загрузке формы в списках автоматически появлялся текст:

    1. Щелкните по пустому месту формы дважды.

    2. Создайте процедуру


Private Sub Form_Load ()

End Sub


    1. Запишите в нее команды:


Combo1.listIndex=0

Combo2.listIndex=0

Combo3.listIndex=0


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


  1. В этой же процедуре надо вставить оператор: Randomize Timer.


  1. Чтобы ЭВМ генерировала рассказ, надо записать код для кнопки Command1.


Private Sub Command1_Click ( )

Combo1.ListIndex = int ( rnd * combo1.ListCount)

Combo2.ListIndex = int ( rnd * combo2.ListCount)

Combo3.ListIndex = int ( rnd * combo3.ListCount)

End Sub


Запомни:

  1. Randomize Timer запускает генерацию случайных чисел, снимая «стартовое» число с показателей таймера.

  2. Свойство ListIndex означает номер элемента данного списка.

  3. Свойство ListCount означает размер массива (счет начинается с нуля)

  4. Combobox – объект «список». В VB 5 разновидностей списков:


    1. Раскрывающийся список (занимает в окне одну строчку, по щелчку на раскрывающей кнопке список разворачивается. В нем можно выбрать любой пункт. Когда список свернут, мы видим только выбранный пункт)


    1. Раскрывающееся поле со списком (позволяет вводить во время работы программы новые элементы списка)


    1. Простое поле со списком (Раскрывающей кнопки нет, список показан весь)


    1. Простой список (Видно несколько строк списка, можно выбрать одновременно несколько пунктов)


    1. Список флажков (Возле каждого элемента списка есть набор флажков, которые можно установить или сбросить).




Лабораторная работа № 9

Проект «Бюро погоды»


Описание проекта: На форме расположены объекты Textbox*, в которых выведена средняя температура каждого месяца данного года. Температура генерируется случайным образом в заданном диапазоне (летом не зашкаливает за 0 градусов, а зимой не становится плюсовой). Необходимо найти и вывести на форму информацию о среднегодовой температуре, самом жарком месяце, самом холодном месяце.


hello_html_7a0b1e29.gif


  1. Дополнить форму таким образом, чтобы значения выдавались не только по Цельсию, но и по Фаренгейту:


Тфаренгейт = 1,8 * Тцельсия + 32


2.

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


  1. Дополнить программу таким образом, чтобы после генерации температуры, выдавались даты дней, когда температура была максимальной или минимальной.



Пример 1:

Вычислим среднюю температуру июня.


Ход работы: На форме расположим два окна: Text1 и Text2 и кнопку Command1. Для управляющей кнопки напишем процедуру:


hello_html_42b55912.gif



Private Sub Command1_Click()

Dim sum As Single

Dim T(1 To 30) As Single

Dim den As Integer

For i = 1 To 30

T(i) = Rnd() * 10

Next i

For den = 1 To 30

sum = sum + T(den)

Next den

Text1.Text = "Средняя температура июня ="

Text2.Text = Str(sum / 30)

End Sub


Запомни:


  • Массив – это набор однотипных переменных, объединенных одним именем, и доступных через это имя и порядковый номер переменной в наборе.

  • Порядковый номер элемента в массиве называется индексом.

  • По умолчанию нумерация элементов в массиве начинается с нуля, но возможно объявлять верхнюю и нижнюю границу массива.

  • Массив может быть объявлен без указания размера. Такой массив называют динамическим. Размерность динамического массива указвается непостредствекнно перед его использованием.

  • Dim MD() As Integer

  • В мoмент задания размерности массива вводится следующая строка:

  • Re Dim MD (k)

  • Массивы Public доступны всему приложению, Private доступен в текущем модуле, dim доступен внутри процедуры.


Примеры:


  • Dim A(5) As Integer ‘Объявлен массив из 6 элементов целых чисел с именем А.


  • Dim b(100 to 120) As Integer ‘Объявлен массив с именем В для 20 элементов, нумерация начинатся со 100.


  • For I = 0 to 5

  • Mm ( I ) = 1

  • Next I

  • ‘ Всем элементам массива присваивается значение переменной I




Лабораторная работа № 10

Проект «Чемпионат мира по футболу»


Описание проекта: На форме изображена турнирная таблица чемпионата мира по футболу команд. Кнопка «Турнирная таблица» генерирует и суммирует количество набранных баллов. Кнопка «Результаты чемпионата» присуждает 1, 2 и 3 места, а на табло высвечивает поздравление и эмблему команды, занявшей 1 место.


hello_html_m7f7c2558.png


Ход работы:


  1. Создать новый проект.

  2. Расположить на форме объекты: Label* и разместить на них соответствующие надписи, изменив свойство Caption.

  3. Расположить на форме три объекта Picture, загрузив на них эмблемы футбольных команд.

  4. Расположить на форме объекты Command1 и Command2, и разместить на них соответствующие надписи, изменив свойство Caption.

  5. Расположить на форме массивы Text1 (2), Text2 (2), Text3 (2). Делается это следующим образом:

    1. Поместить на форму объект Text1. Скопировать его. Вставить. На вопрос ЭВМ «надо ли организовать элемент массива?» ответить утвердительно. В результате ваш объект будет переименован в Text1 (0), а последующие вставленные объекты будут иметь индексы 1, 2 и 3.

    2. Аналогично организовать массивы Text2 и Text3.

  6. Объекты Text 5, Text6 и Text7 предназначены для вывода результатов чемпионата и не являются элементами массива.


  1. Составить код для кнопки «Турнирная таблица»:

    1. Зарезервировать двумерные массивы для А, В, С

Dim a(2, 2) As Integer : Dim b(2, 2) As Integer : Dim c(2, 2) As Integer


    1. Генерировать значения текстовых окон турнирной таблицы в пределах от 0 до 2 (0 – проигрыш, 1 – ничья, 2 – выигрыш)

For i = 0 To 2

For j = 0 To 2

If i <> j Then

a(i, j) = Int(Rnd() * 3)

Text1(i) = a(i, j)

b(i, j) = Int(Rnd() * 3)

Text2(i) = a(i, j)

c(i, j) = Int(Rnd() * 3)

Text3(i) = a(i, j)

Else

End If

Next j

Next i


    1. Команда не играет сама с собой, поэтому главная диагональ таблицы должна быть занята нулями.

Text1(0).text = Str(0): Text2(1).text = Str(0): Text3(2).text = Str(0)


  1. Посчитать итоговую сумму, вывести результат в соответствующие текстовые окна.

Text1(3).text = Str(Val(Text1(0).text) + Val(Text1(1).text) + Val(Text1(2).text))

Text2(3).text = Str(Val(Text2(0).text) + Val(Text1(2).text) + Val(Text2(2).text))

Text3(3).text = Str(Val(Text3(0).text) + Val(Text1(3).text) + Val(Text3(2).text))


  1. Составить код для обработки «Результатов чемпионата».

    1. Необходимо считать итоговые значения и присвоить их переменным a,b,c.

a = Val(Text1(3).text): b = Val(Text2(3).text): c = Val(Text3(3).text)


    1. Расставить их в порядке возрастания. Для этого надо рассмотреть всевозможные варианты взаимного расположения трех переменных (a>b>c, a>c>b, …). Для каждого соотношения записать фрагмент программы:

If a >= b And b >= c Then

Text5.text = "Dinamo"

Text6.text = "Spartak"

Text7.text = "Celsi"

Else

End If


    1. Вывести результаты в соответствующие окна Text 5, Text6 и Text7.

    2. Вывести имя команды-победительницы на «поздравительное табло».

    3. Вывести на «рекламный щит» эмблему команды.


Лабораторная работа № 11

Проект «Геометрические фигуры»


Описание проекта: На форме расположены управляющие кнопки: «Треугольник в окружности», «Квадрат в окружности», «Пятиугольник в окружности», «Концентрические окружности», «Очистка экрана», а также объекты Picture*, на которых изображаются правильный треугольник, вписанный в окружность, правильный квадрат, вписанный в окружность, правильный пятиугольник, вписанный в окружность и набор концентрических окружностей, радиусы и цвет которых генерируются случайным образом.


hello_html_m338bb476.png


Справочные материалы:

  • Концентрическими окружностями называют окружности, имеющий общий центр.

  • Сумма углов любого треугольника равна 180 градусам.

  • Сумма углов любой правильной фигуры, количество углов которой превышает число 3, равна 360 градусов.

  • Аргументы функций синусов и косинусов выражают в радианах. 360 градусов = 3,14 радиан.

  • Так как синус угла равен отношению противолежащего катета прямоугольного треугольника к гипотенузе, отсюда для точки лежащей на окружности c радиусом R, верно соотношение: координата Y=sin(a)*R

  • Так как косинус угла равен отношению приволежащего катета прямоугольного треугольника к гипотенузе, отсюда для точки лежащей на окружности c радиусом R, верно соотношение: координата X=cos(a)*R


Ход работы:

  1. Открыть новый проект.

  2. Расположить на форме четыре объекта Picturebox и 5 объектов Command*.

  3. Подписать объекты Command*, изменив свойство Caption.

  4. Написать для Command* инструкции:


Private Sub Command1_Click()

'очистка экрана

Picture1.Cls: Picture2.Cls: Picture3.Cls: Picture4.Cls:

End Sub


Private Sub Command2_Click()

' концентрические разноцветные окружности разных диаметров, величина которых генерируется случайным образом.

Dim r(10) As Integer

Picture4.Scale (-20, 20)-(20, -20)

For i = 0 To 10 Step 1

r(i) = Int(Rnd() * 15)

Picture4.Circle (0, 0), r(i), RGB(Int(Rnd() * 255), Int(Rnd() * 255), Int(Rnd() * 255))

Next i

End Sub


Private Sub Command4_Click()

'треугольник, вписанный в окружность

Dim x(5) As Single

Dim y(5) As Single

Picture1.Scale (-10, 10)-(10, -10)

r = 8: pi = 3.14: a = 120

Picture1.Circle (0, 0), r

For i = 1 To 4 Step 1

x(i) = r * Cos(a * pi / 180 * i)

y(i) = r * Sin(a * pi / 180 * i)

Next i

For i = 1 To 3 Step 1

Picture1.Line (x(i), y(i))-(x(i+1), y(i+1))

Next i

End Sub


Private Sub Command3_Click()

'пятиугольник, вписанный в окружность

Dim x(6) As Single

Dim y(6) As Single

Picture3.Scale (-10, 10)-(10, -10)

r = 8: pi = 3.14: a = 72

Picture3.Circle (0, 0), r

For i = 1 To 6 Step 1

x(i) = r * Cos(a * pi / 180 * i)

y(i) = r * Sin(a * pi / 180 * i)

Next i

For i = 1 To 5 Step 1

Picture3.Line (x(i), y(i))-(x(i + 1), y(i + 1))

Next i

End Sub



Private Sub Command5_Click()

'квадрат, вписанный в окружность

Dim x(5) As Single

Dim y(5) As Single

Picture2.Scale (-10, 10)-(10, -10)

r = 8: pi = 3.14: a = 90

Picture2.Circle (0, 0), r

For i = 1 To 5 Step 1

x(i) = r * Cos(a * pi / 180 * i)

y(i) = r * Sin(a * pi / 180 * i)

Next i

For i = 1 To 4 Step 1

Picture2.Line (x(i), y(i))-(x(i + 1), y(i + 1))

Next i

End Sub


Задание для самостоятельной работы: Начертить правильную пятиугольную звезду, вписанную в окружность.


Лабораторная работа № 12

Проект «Контролирующая программа»


Описание проекта: Вам предлагается самый примитивный способ составления контролирующих программ. Контролирующая программа работает по принципу теста. Ученик отвечает на вопросы, выбирая номер одного из вариантов ответа. Очередной вопрос и варианты ответов можно получить, нажимая на соответствующую управляющую кнопку с номером вопроса: «Вопрос 1», «Вопрос 2», …. Количество кнопок соответствует количеству вопросов. По окончании работы можно узнать свою оценку, нажав на кнопку «Оценка». На момент загрузки формы окно, в котором высвечивается оценка, отсутствует.


hello_html_m1621129e.png



hello_html_m77fd9af2.png


Ход работы:


  1. Разместить на форме объекты класса Label, TextBox,Command. .


  1. Приготовьте 10 вопросов по любому учебному предмету и разработайте по 3 варианта вопросов на них.


  1. Для события «Загрузка формы» сделайте невидимым окошко, в котором будет появляться оценка за всю контрольную работу.


  1. Объявите глобальные переменные:

Public sum1, sum2, sum3, sum4, sum5, sum As Integer


  1. Запишите программные коды для событий:


--------------------------------------------------

Private Sub Command1_Click()

Label1.Caption = "Вопрос 1"

Text1.Text = "Текст первого вопроса"

Text2.Text = "1- вариант ответа"

Text3.Text = "2- вариант ответа"

Text4.Text = "3- вариант ответа"

If Val (Text5.Text) = 1 Then

sum1 = 1

Else

End If

End Sub

----------------------------------------------------

Private Sub Command2_Click()


Label1.Caption = "Вопрос 2"

Text1.Text = "Текст 2 вопроса"

Text2.Text = "1- вариант ответа"

Text3.Text = "2- вариант ответа"

Text4.Text = "3- вариант ответа"

If Val(Text5.Text) = 2 Then

sum2 = 1

Else

End If

End Sub

--------------------------------------------------

Private Sub Command3_Click()


End Sub


---------------------------------------------------

Private Sub Command4_Click()


End Sub


---------------------------------------------------

Private Sub Command5_Click()


End Sub


---------------------------------------------------

Private Sub Command6_Click()

Text6.Visible = True

sum = sum1+sum2+sum3+sum4+sum5

Text6.Text = Str(sum)

End Sub


---------------------------------------------------

Private Sub Form_Load()

Text6.Visible = False

End Sub


Так как идея обработки программных кодов для кнопок «Вопрос 1» - «Вопрос 5» повторяется, напишите эти коды сами, пользуясь заданным образцом.


Не забывайте, что ваша задача – составление контролирующей программы, состоящей из 10 вопросов, а потому количество переменных и некоторые формулы будут слегка изменены.



Лабораторная работа № 13

Проект «Контролирующая программа

с переключателями Option


Описание проекта:

Вам предлагается способ составления контролирующих программ c использованием переключателей Option*.

  • Контролирующая программа работает по принципу теста. Ученик отвечает на вопросы, выбирая переключатель одного из вариантов ответа.

  • Очередной вопрос и варианты ответов можно получить, нажимая на соответствующую управляющую кнопку «далее».

  • Вместе с последним вопросом на экране появляется кнпка «Оценка». На момент загрузки формы окно, в котором высвечивается оценка, отсутствует.

hello_html_172ccd5e.png

hello_html_7cfcf2c3.png













Ход работы:


  1. Расположить на Form1 объекты: Label1, command* (по количеству вопросов плюс один для вывода оценки), Text1, Text2, перeключатели Option1, Option2, Option3.


  1. Организовать копированием 3 массива по три элемента для переключателей Option1, Option2, Option3.


  1. Подписать кнопки Command текстом «Далее», изменив свойства Caption.


  1. Совместить кнопки так, чтобы они закрывали одна другую и казались одной кнопкой.


  1. Организовать описание целочисленных глобальных переменных: sum, sum1, sum2, sum3, sum4, sum5.


  1. Описать событие загрузки формы:


Private Sub Form_Load()

Command6.Visible = False

Text2.Visible = False

Command1.Visible = True

Command2.Visible = False

Command3.Visible = False

Command4.Visible = False

Command5.Visible = False

For i = 0 To 2 Step 1

Option1(i).Visible = True

Option2(i).Visible = False : Option3(i).Visible = False

Option4(i).Visible = False : Option5(i).Visible = False

Next i

End Sub


  1. Описать кнопки «Далее» по образцу:

Private Sub Command1_Click()

Label1.Caption = "Вопрос 1"

Text1.Text = "Текст 1 вопроса"

Option1(0).Caption = "1 вариант"

Option1(1).Caption = "2 вариант"

Option1(2).Caption = "3 вариант"

Command2.Visible = True

Command1.Visible = False : Command3.Visible = False

Command4.Visible = False : Command5.Visible = False

For i = 0 To 2 Step 1

Option1(i).Visible = True

Option2(i).Visible = False

Option3(i).Visible = False

Option4(i).Visible = False

Option5(i).Visible = False

Next i

End Sub


Private Sub Command6_Click()

Text2.Text = Str(sum1 + sum2 + sum3 + sum4 + sum5)

End Sub


Для каждой группы переключателей описать события:

Private Sub Option1_Click(Index As Integer)

If Index = 1 Then

sum1 = 1

End If

End Sub





Лабораторная работа № 14

Проект «Двумерные массивы»


Описание проекта: Заполнить массив, размером 9*9 ячеек, заполненную нулями, а главная диагональ заполнена единицами. Вывести массив на экран.


hello_html_1124df56.png


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


Свойства элемента MSFlexGrid, доступные в режиме проектирования.


Свойство

Описание свойства

Rows

Количество строк

Cols

Количество столбцов

ScrollBars

Наличие полос прокрутки

Fixed Rows

Количество фиксированных строк (не прокручиваемых)

Fixed Cols

Количество фиксированных столбцов (не прокручиваемых)

AllowUserResizing

Разрешить изменять размеры строк и столбцов



  1. Разместить на форме объект MSFlexGrid

  2. Задать нужное количество строк и столбцов, изменяя значения Rows и Cols в свойствах объекта.

  3. Разместим на форме командную кнопку и напишем для нее код:


Private Sub Command1_Click()

Rem Заполним нулями и единицами массив mas(9, 9)

Dim mas(9, 9) As Integer

For m = 0 To 9

For n = 0 To 9

If m = n Then

mas(m, n) = 1

Else

mas(m, n) = 0

End If

Next n

Next m


Rem Установим количество строк и столбцов

MSFlexGrid1.Rows=10

MSFlexGrid1.Cols=10


Rem Пронумеруем столбцы и изменим их ширину

MSFlexGrid1.Row = 0

For n = 0 To 9

MSFlexGrid1.Col = n

MSFlexGrid1.ColWidth(n) = 300

MSFlexGrid1.Text = n

Next n

Rem Заполним таблицу элементами массива

For m = 1 To 9

MSFlexGrid1.Row = m

For n = 1 To 9

MSFlexGrid1.Col = n

MSFlexGrid1.Text = mas(m - 1, n - 1)

Next n

Next m

End Sub


Задание 1: Посчитать количество нулевых элементов массива

Задание 2: Заменить нулевые элементы единицами

Задание 3: Найти минимальный, максимальный элемент массива

Задание 4: Найти среднее арифметическое минимального и максимального элемента

Задание 5: Заполнить электронный журнал для 5 человек, 10 дней оценками от 1 до 5, вывести оценку по принципу среднего балла.



Лабораторная работа № 15

Проект «Процедуры и функции. Мышь».


Задание 1: Для вычисления площади треугольника по формуле Герона, организовать процедуру, в которой входные параметры – стороны треугольника, выходные параметры – площадь треугольника.

A#=3

CALL площадь(a, a+1, 5, S#)


x1#=3: x2#=x1+1

площадь x1,x2,x1,s1#

площадь x1,x2,x2,s2#

площадь x1-1,x2,x1,s1#



Задание 2: Процедура нахождения большего из трех чисел. Три числа – вхдной параметр, максимальное число – выходной параметр.


Задание 3: Процедура рисования треугольника по координатам его вершин. Координаты вершин – входные параметы, чертеж – результат работы процедуры.


Задание 4: Процедура нахождения максимального и минимального числа из 10 чисел.


Сортировка – упорядочение элементов массива по какому-либо признаку.


Наивная сортировка.

Даны 3 числа: А, В, С. Расположить их в порядке убывания или возрастания.

Наивная сортировка предполагает перебор всех возможных вариантов «вручную». Для трех чисел количество вариантов = 6.


Если А>B>C, то min=C midmax=A

Если А>C>B, то min=B mid=C max=A

Если B>A>C, то min=C mid=A max=B

Если B>C>A, то minmid=C max=B

Если C>A>B, то min=B mid=A max=С

Если C>B>A, то minmidmax


Для решения задачи используйте неполную форму команды ветвления

IfThen




Лабораторная работа № 16

Проект «Рекурсивные процедуры и фракталы»


Все процедуры делятся на два типа: SUB (подпрограммы) и FUNCTION (функции).

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

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

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

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

Выходной параметр – переменная, значение которой вычисляется в результате работы процедуры.


Оператор вызова процедуры:

CALL имя процедуры (список параметров вызова)


Рекурсия – функция или процедура, которая может обратиться к самой себе.

Объект называется рекурсивным объектом, если он целиком или частично определяется через самого себя.

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

Рекурсивный спуск или глубина рекурсии – количество «погружений» в функцию.


Пример рекурсивного объекта: факториал N=1*2*3*…*N.


Public Function Factorial1 (N as integer, I as Integer, Proisvedenie as Long) as Long

Proisvedenie=proisvedenie*index

If N=0 or I=N Then

Factorial1=proisvedenie

Else

Factorial1=factorial1(n, i+1,proisvedenie)

hello_html_18a8c0de.png End If

End Function

Public Function Factorial2 (N as integer) as Long

Dim Proisvedenie as Long

If N=0 or N=1 Then

N=1

Proisvedenie=1

Else

Proisvedenie=Factorial2 (n - 1)

End If

Factorial2=proisvedenie*N

End Function


Описание проекта: Создать проект рисования треугольника Серпиньского. Добавить в проект несколько кнопок с различной глубиной погружения в рекурсивную процедуру.


Ход работы:

  1. Разместить на форме объекты Picture1, Command1.

  2. Для кнопки Command1 написать программный код.

Private Sub Command1_Click()

Picture1.Scale (0, 0)-(256, 256)

d = 2

Call treugolnik(d, 0, 0, 256, 256)

End Sub


Private Sub treugolnik(d, x1, y1, x2, y2)

If x2 - x1 > d Then

'Risovanie belogo kvadrata

Picture1.Line (x1, y1 - (y2 - y1) / 10)-(x2, y2), vbWhite, BF

'Risovanie treugolnika

Picture1.Line ((x1 + x2) / 2, y1)-(x1, y2):Picture1.Line ((x1 + x2) / 2, y1)-(x2, y2)

Picture1.Line (x1, y2)-(x2, y2)

'Vycislenie koordinat treh novyh kvadratov

'koordinaty verhnego kvadrata

x11 = (3 * x1 + x2) / 4: y11 = y1: x21 = (3 * x2 + x1) / 4: y21 = (y1 + y2) / 2

'koordinaty levogo nignego kvadrata

x12 = x1: y12 = (y1 + y2) / 2 : x22 = (x1 + x2) / 2: y22 = y2

'koordinay pravogo nignego kvadrata

x13 = (x1 + x2) / 2: y13 = (y1 + y2) / 2: x23 = x2: y23 = y2

Call treugolnik(d, x11, y11, x21, y21)

Call treugolnik(d, x12, y12, x22, y22)

Call treugolnik(d, x13, y13, x23, y23)

End If

End Sub


  1. Добавить кнопки Command2, Command3, Command4 для различных погружений в функцию.




Лабораторная работа № 17

Проект «Управление файлами»



Описание проекта: В зависимости от того, что папа купил на рынке: грибы или яблоки, отправить телеграмму бабушке (записать в текстовый файл информацию) о том, с чем приготовит пирог мама.

  • Покупка генерируется случайным образом в диапазоне от 0 до 1.

  • Вероятность покупки грибов находится в диапазоне от 0,75 до 100.

  • Вероятность покупки яблок находится в диапазоне от 0 до 0,75.

hello_html_m25b9f4ca.pnghello_html_m5c6f3517.png


















Ход работы:


  1. Создать на каталоге с:\ text1.txt при помощи блокнота

  2. Приготовить два файла с изображением пирога с яблоками и пирога с грибами.

  3. Открыть новый проект в VB.

  4. Поместить на форме два объекта Picture, три объекта Text*, три объекта Command.

  5. Переименовать объекты Command* так, как показано на рисунке.

  6. Загрузить рисунки на объекты Picture*.

  7. Записать командные коды для управляющей кнопки «Что папа купил на рынке»

  8. Записать командные коды для управляющей кнопки «С чем испечет пирог мама?»

  9. Записать программные коды для клавиши «Телеграмма бабушке».




Private Sub Command1_Click()

Dim fn As Integer

fn = FreeFile

Open "c:\text1.txt" For Output As fn

text1.text=Print #fn, Text1

Close #fn

End Sub


Private Sub Command2_Click()

Randomize

v = Rnd()

If v > 0 And v < 0.75 Then

Text2.Text = "Яблоки"

Text3.Text = "Мама испечет пирог с яблоками"

Text1.Text = "Дорогая бабушка! Мама испекла нам пирог с яблоками!"

Picture1.Visible = True

Picture2.Visible = False

Else

Text2.Text = "Грибы"

Text3.Text = "Мама испечет пирог с грибами"

Text1.Text = "Дорогая бабушка! Мама испекла нам пирог с грибами!"

Picture2.Visible = True

Picture1.Visible = False

End If

End Sub


Private Sub Form_Load()

Picture1.Visible = False

Picture2.Visible = False

End Sub


На Command1 записана процедура, выполняющая перенос информации из текстового окна № 1 в текстовый файл. Вы можете проверить это прямо сейчас.


Изучите тему «Управление файлами», ответив на контрольные вопросы:

1.Перечислите типы доступа к файлам и их назначение.

2. Перечислите режимы последовательного доступа.

3. Что такое дескриптор?

4. Формат оператора Open.



Типы доступа к файлам:

Последовательный– для чтения и записи непрерывных блоков в текстовый файл.

Произвольный – для чтения и записи в текстовые и двоичные файлы структурированных данных.

Двоичный – для чтения и записи в файлы произвольной структуры.

Последовательный доступ.

Необходим для работы с простыми файлами. Данные хранятся как символы в коде ANSI.

Файл можно открыть в одном из трех режимов:

INPUT – для ввода текста из файла.

OUTPUT – для вывода текста в файл.

APPEND – для присоединения текста в конец файла.


Дескриптор файла – идентификационный номер, который программа присваивает каждому файлу, с которым работает.

Свободный номер файлу возвращает функция FreeFile.


Формат оператора:

Open <Имя файла> For Input/Output/Append As <Дескриптор>[Len=<Число>]


Если файл открывается для чтения (input), то он должен существовать, иначе возникнет ошибка.

Если открывается несуществующий файл для ввода или добавления, оператор Open создает файл и открывает его.

Если открыть существующий файл для вывода, содержимое его теряется.

Len – необязательный параметр, задает число символов в буфере копирования данных из файла в приложение.

После выполнения операций файл закрывается оператором Close.


Формат оператора:

Close #<Номер файла>


Чтобы сохранить данные, нужно открыть файл для вывода или добавления, а затем вывести текст с помощью оператора Print#.


Формат оператора:

Print #<Дескриптор>,<Данные>


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


Пример: Надо открыть файл “c:\Мои документы\text.txt” и записать в него строки, содержащиеся в текстовом поле Text1:


Dim Fn As Integer

Fn=FreeFile ‘Получить свободный номер для файла

Openc:\Мои документы\text.txtFor Output As Fn ‘ Открыть файл для записи

Print #Fn, Text1 ‘Записать текст из Text1

Close #Fn ‘Закрыть файл


Если оператор Print стоит в цикле, то каждый вызов приводит к записи одной строки.


Для чтения используют оператор Line Input и функцию Input.

Оператор Line Input читает построчно. Он распознает символы CR/LF, но не включает их в переменную, поэтому, помещая строку в текстовое поле, нужно добавить символы, обеспечивающие переход на новую строку.


Формат оператора:

LineInput #<Номер файла>,<Строка>


Пример: Открыть существующий файл и читать его текст последовательно, строка за строкой:


Dim st As String, fn As Integer

Fn=FreeFile

Open “d:\mm\text.txt” For Input As fn

Do While Not Eof(fn) ‘ пока не конец файла

LineInput #fn, st ‘ ввести символы до CR/Lf в переменную st

Text1.text=Text1+st+Chr(13)+Chr(10) ‘добавить в Text1 st и конец строки

Loop

Close #Fn


Функция CHR возвращает строку, содержащую символ, код которого был передан в функцию в качестве параметра.


Если требуется прочитать сразу весь файл, то можно воспользоваться функцией Input, где первый аргумент задает количество байт, которые нужно прочитать, а второй – номер файла.

---------------

Input(<Число>,[#]<Номер файла>)

Fn=FreeFile

Openc:\Мои документы\test.txtFor input As fn ‘функция LOF возвращает размер открытого файла в байтах.

Text1.text=input(LOF(fn),fn)

Close #fn


Для операций с последовательным файлом (запись и чтение) можно использовать операторы Write# и Input #, однако их лучше применять для файлов с двоичным доступом.














Лабораторная работа № 18

Проект «Оболочка для курсового проекта»


Описание проекта: Вам необходимо сформировать и связать между собой все формы, которые составят основу вашего курсового проекта.


Название формы

Назначение формы

Содержание формы

Form1

Заставка проекта

  • Название учебного заведения

  • Название курсового проекта

  • Год

  • Город

  • «Продолжить»

  • «Выход»

Form2


Главное меню проекта

  • Теория (с возможностью составления конспекта в отдельном файле)

  • Примеры, демонстрации.

  • Тренажер

  • Иллюстрации

  • Контролирующий тест

  • Глоссарий

  • О программе

  • «Продолжить»

  • «Вернуться в главное меню»

Form3


Теория

(с возможностью составления конспекта в отдельном файле)


  • Список основных тем

  • Окно для чтения

  • Окно для иллюстраций

  • Выход в глоссарий

  • «Продолжить»

  • «Вернуться в главное меню»

Form4


  • Примеры, демонстрации.


  • Список основных примеров

  • Окно для пояснительного текста

  • Набор иллюстраций


Form5


  • Тренажер


  • Небольшие задания с комментарием «верно» - «неверно»

Form6

  • Иллюстрации

  • Просмотр иллюстраций к данной теме.


Form7


  • Контролирующий тест


  • Состоит из 25 вопросов и 5 вариантов ответов на каждый вопрос. Оценка может быть спрятана.

Form8


  • Глоссарий


  • Словарь основных терминов, используемых в данном проекте.

Form9


  • О программе


  • О назначении программы.

  • Руководитель проекта:

  • Об авторе: Фамилия, имя, отчество, полное название учебного заведения, специальности, год создания проекта

  • Фотография автора проекта

  • Реквизиты автора:



Примерная схема взаимосвязи форм проекта


hello_html_52cf7d78.gif





Литература:


  1. С. Симонович, Г. Евсеев «Занимательное программирование Visual Basic», АСТпресс, 2002


  1. Фленов М.Е., Библия Delphi - СПб.: Санкт-Петербург, 2005. – 880 с.: ил. ISBN5-94157-456-8

  2. Гофман В.Э., Хомоненко А.Д. Delphi: экспресс-курс, - СПб: БХВ-Петербург, 2005. – 288 с., ил.ISBN-5-94157-165-8

  3. Никита Культин, Delphi в задачах и примерах, - СПб.: Санкт-Петербург, 2005.-288 с., ил. ISBN 5-94157-353-7

  4. Симонович С.В., Евсеев Г.А., Занимательное программирование: Visual Basic: книга для детей, родителей, учителей.

  5. Волченков Н.Г., Программирование на Visual Basic 6: в 3 ч, М: ИНФРА-М, 2002, ISBN 5-16-000114-X (общ)


8


Самые низкие цены на курсы переподготовки

Специально для учителей, воспитателей и других работников системы образования действуют 50% скидки при обучении на курсах профессиональной переподготовки.

После окончания обучения выдаётся диплом о профессиональной переподготовке установленного образца с присвоением квалификации (признаётся при прохождении аттестации по всей России).

Обучение проходит заочно прямо на сайте проекта "Инфоурок", но в дипломе форма обучения не указывается.

Начало обучения ближайшей группы: 25 октября. Оплата возможна в беспроцентную рассрочку (10% в начале обучения и 90% в конце обучения)!

Подайте заявку на интересующий Вас курс сейчас: https://infourok.ru

Общая информация

Номер материала: ДВ-048480

Похожие материалы