1. Составьте макрос, который запрашивает по отдельности день, месяц и год, затем из введенных значений формирует текстовую строку (например, "Сегодня 1 Мая 2015 года") и выводит ее на экран. Для этого:
а) в среде Excel VBA добавьте к проекту форму;
б) разместите на форме 4 элемента "Надпись" (один из них, предназначенный для вывода результата, должен иметь имя Result), 2 элемента "Поле" (TextBoxl - для ввода дня, TextBox2 - для ввода года), 1 элемент "Список" (для выбора месяца из списка; его имя по умолчанию ListBoxl измените на Listl) и 2 элемента "Кнопка";
в) свойство BorderStyle элемента "Надпись" с именем Result установите в значение 1; измените значения других свойств объектов так, чтобы форма имела вид, представленный на рис. 1;
Рис. 1. Вид пользовательской формы для работы с датой
г) в окне редактирования модуля напишите код процедуры для обработки события Activate формы (событие Activate происходит, когда форма становится активной). Данная процедура заполняет список Listl (метод Addltem добавляет строку в список):
Private Sub UserForm_Activate()
Listl.Addltem "Январь"
Listl.Addltem "Февраль"
Listl.Addltem "Март"
Listl.Addltem "Апрель"
Listl.Addltem "Май"
Listl.Addltem "Июнь"
Listl.Addltem "Июль"
Listl.Addltem "Август"
Listl.Addltem "Сентябрь"
Listl.Addltem "Октябрь"
Listl.Addltem "Ноябрь"
Listl.Addltem "Декабрь" End Sub
д) напишите код процедуры для обработки события Click элемента "Кнопка" с именем
CommandButtonl:
Private Sub CommandButtonl_Click()
' В макросе используются следующие переменные:
' index - порядковый номер выбранной в списке строки
' mes - наименование месяца
Dim index As Integer, mes As String
If TextBoxl = "" Then _
MsgBox "Вы забыли указать день": Exit Sub
If Val (TextBoxl) < 1 Or Val (TextBoxl) > 31 Then _
MsgBox "Неверен день месяца": Exit Sub
' Свойство Listlndex элемента "Список" содержит
' порядковый номер выбранной в списке строки.
' Строки в списке нумеруются, начиная с 0. Если не выбрана ни
' одна строка, свойство Listlndex имеет значение -1
index = Listl.Listlndex
If index = -1 Then _
MsgBox "Вы забыли выбрать месяц": Exit Sub
If TextBox2 = "" Then _
MsgBox "Вы забыли указать год": Exit Sub
Result.Caption = ""
Select Case index
Case 0: mes = "января"
Case 1: mes = "февраля"
Case 2: mes = "марта"
Case 3: mes = "апреля"
Case 4: mes = "мая"
Case 5: mes = "июня"
Case 6: mes = "июля"
Case 7: mes = "августа"
Case 8: mes = "сентября"
Case 9: mes = "октября"
Case 10: mes = "ноября"
Case 11: mes = "декабря"
End Select
Result = "Сегодня " & TextBoxl & " " & mes & " " & _
TextBox2 & " года"
End Sub
e) напишите код процедуры для обработки события Click элемента "Кнопка" с именем CommandButton2:
Private Sub CommandButton2_Click()
End
End Sub
2. Выполните запуск приложения (при этом форма UserForml должна быть активной).
3. Введите в первом окне "Поле" (с именем TextBoxl) день, во втором окне "Поле" (с именем TextBox2) год, выберите в списке месяц. В макросе предусмотрена обработка следующих ситуаций: не введен день или год; введен несуществующий номер дня; не выбран ни один месяц в списке.
4. Нажмите левую кнопку мыши на элементе "Кнопка" (с именем CommandButtonl). Проверьте полученный результат.
5. Повторите пп. 3 и 4 для нескольких различных исходных данных.
6. Завершите работу приложения с кнопки CommandButton2.
7. Самостоятельно разработайте приложение для регистрации участников межвузовской конференции.
Приложение запрашивает фамилию участника, город (выбирается из списка; если нет в списке, то можно ввести в текстовом окне), должность (выбирается из списка: профессор, доцент, старший преподаватель, преподаватель, ассистент, студент), затем из введенных данных формирует текстовую строку (например, "Иванов В.А., доцент, Хабаровск") и заносит ее в список. В приложении должна быть предусмотрена возможность удаления строки из списка.
Для этого:
а) добавьте к проекту форму UserForm2;
б) разместите на форме 3 элемента "Надпись", 1 элемент "Поле" (для ввода фамилии)
Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом, представляя язык, автор указывал в качестве цели его создания — построение небольшого и эффективного языка хорошему стилю программирования, использующемуструктурное программирование и структурированные данные.
Const n=10; Var a:array[1..n] of integer; i,k,j:integer; Begin Randomize; For i:=1 to n do Begin A[i]:=Random(10); Write(a[i],' '); end;
Writeln;
For i:=1 to n do Begin If a[i] mod 3=0 then Write(a[i],' '); end;
for i:=1 to n-1 do for j:=1 to n-i do begin if (a[j] > a[j+1]) then begin k:= a[j]; a[j] := a[j+1]; a[j+1] := k; end; end; writeln; for i:=1 to n do write(a[i],' '); readln; end.
Var a:array[1..n] of integer;
i,k,j:integer;
Begin
Randomize;
For i:=1 to n do
Begin
A[i]:=Random(10);
Write(a[i],' ');
end;
Writeln;
For i:=1 to n do
Begin
If a[i] mod 3=0 then
Write(a[i],' ');
end;
for i:=1 to n-1 do
for j:=1 to n-i do
begin
if (a[j] > a[j+1]) then
begin
k:= a[j];
a[j] := a[j+1];
a[j+1] := k;
end;
end;
writeln;
for i:=1 to n do
write(a[i],' ');
readln;
end.