Как выводить информацию оператором Print
Будем пробовать, вы тоже пробуйте:
Фрагмент программы | Результат на экране |
Печатается пустая строка | |
Print 1 | 1 |
Print 1; 66 | 1 66 |
Print 1; -2; 3.14 | 1 -2 3.14 |
Print 1, -2, 3.14 | 1 -2 3.14 |
Оператор распечатывает список элементов, разделенных точками с запятой или запятыми. Причем, если перед элементом стоит точка с запятой, он печатается почти вплотную к предыдущему, а если запятая, то подальше, выравниваясь по столбцам. Проверим фрагмент из трех операторов:
Print 12345, 4, 67824, 240 Print 345, -94, 67, 240456 Print 45, 45678, 67, 0 | 12345 4 67824 240 345 -94 67 240456 45 45678 67 0 |
Еще:
Print 45; 45678, 67; 0 | 45 45678 67 0 |
Что такое элемент? Мы видели, что это может быть число. А еще что? Выражение. Проверим:
Print 1+2 | 3 |
a = 88 : Print a | 88 |
a = 88 : Print a+1 | 89 |
a = 88 : Print a+1, а -1 | 89 87 |
В последнем операторе - два элемента.
Так же элемент может быть и строкой:
Print "Кошка" | Кошка |
Print "Кошка"; "Собака" | Кошка Собака |
Print "Кошка", "Собака" | Кошка Собака |
Как видите, если между строками стоит точка с запятой, они печатается вплотную друг к другу. Числа же в этом случае все-таки разделяются пробелами.
Как все же отодвинуть собаку от кошки на пару пробелов? Очень просто - поставьте эти два пробела внутри "собачьих" кавычек перед буквой С:
Print "Кошка"; " Собака" | Кошка Собака |
А можно внутри "кошачьих" после буквы а.
Visual Basic не обращает внимания, что написано внутри кавычек, и ничего там не вычисляет. Он просто копирует это на экран, включая пробелы, цифры, знаки арифметических действий и любую ерунду:
Print "№??:?№()*):%*%;*_?::" | №??:?№()*):%*%;*_?:: |
Print "3+2" | 3+2 |
Print "3+2="; 3+2 | 3+2=5 |
Элемент может быть строковой переменной или выражением:
a = "Кошка" : Print a | Кошка |
a = "Кошка" : Print a+а | КошкаКошка |
Итак, элемент оператора Print может быть числом, числовой переменной и числовым выражением, а также строкой, строковой переменной и строковым выражением.
Обычно в операторе Print используют вперемешку строковые и числовые данные. Пусть вес поросенка хранится в памяти, в переменной Ves. Тогда распечатать его можно таким оператором:
Print "Вес поросенка =" ; Ves ; "килограммов" | Вес поросенка = 35 килограммов |
Здесь три элемента, разделенные точками с запятой.
Пусть название месяца года хранится в памяти, в переменной Mes. напечатайте, что именно этот месяц у вас каникулы. Распечатать это можно таким оператором:
Print "Месяц " ; Mes ; " для меня каникулы." | Месяц май для меня каникулы. |
.Если в конце оператора Print поставить запятую или точку с запятой, то следующий оператор Print будет продолжать печатать в той же строке, а если не поставить - то начнет со следующей. Проверим фрагмент из четырех операторов:
Print 1; 66, Print 2; Print 3 Print 4; | 1 66 2 3 4 |
Проверьте этот пример, запустив его один раз, затем еще раз. Объясните увиденное.
Все, что здесь было сказано, относится и к оператору Debug. Print.
То, что печатать, указывается в самом операторе Print, а вот как печатать и с какого места, зависит от свойств объекта, на котором ведется печать (в нашем случае объект - форма):
Form1.CurrentX = 1000 Form1.CurrentY = 3000 Print 99 | Число 99 будет напечатано на 1000 твипов правее и на 3000 твипов ниже левого верхнего угла формы. |
Form1.CurrentX = 1000 Print 99 Form1.CurrentX = 1000 Print 44 | Числа 99 и 44 будут напечатаны в одном месте. Получится мазня. |
Form1.FontSize = 20 | Размер шрифта |
Form1.FontName = "Arial" | Название (начертание) шрифта |
Form1.FontBold = True | Полужирный шрифт (True - назначить, False - отменить) |
Form1.FontItalic = True | Курсив (наклонный шрифт) |
Form1.ForeColor = vbBlue | Цвет шрифта |
Form1.FontUnderline = True | Подчеркнутый шрифт |
Form1.FontStrikethru = True | Перечеркнутый шрифт |
Если вы установите в окне свойств формы свойство FontTransparent равным False, то через пространство между буквами не будет просвечивать поверхность формы.
Диалог с компьютером
Напишем программу, которая осуществляла бы такой диалог человека с компьютером:
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Здравствуй, я компьютер, а тебя как зовут?
ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: Коля
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Очень приятно, Коля. Сколько тебе лет?
ЧЕЛОВЕК ВВОДИТ С КЛАВИАТУРЫ: 16
КОМПЬЮТЕР ВЫВОДИТ НА ЭКРАН: Ого! Целых 16 лет! Ты уже совсем взрослый!
Пусть человек вводит свои реплики при помощи InputBox, а компьютер печатает свои с помощью Print. Для хранения в памяти имени человека выдумаем переменную imya, а для возраста - vozrast.
Программа:
Dim imya As String
Dim vozrast As Integer
Private Sub Command1_Click()
Print "Здравствуй, я компьютер, а тебя как зовут?"
imya = InputBox("Жду ответа")
Print "Очень приятно, "; imya; ". Сколько тебе лет?"
vozrast = InputBox("Жду ответа")
Print "Ого! Целых"; vozrast; "лет! Ты уже совсем взрослый!"
End Sub
Вам понятно, зачем в операторе Print "Очень приятно, "; imya; ". Сколько тебе лет?" внутри кавычек нужны запятая и точка? Если нет, то попробуйте их убрать и посмотрите на результат.
Диалог будет отличаться только той информацией, которую вводит человек. Так, в другой раз по этой же программе будет осуществлен следующий диалог:
КОМПЬЮТЕР: Здравствуй, я компьютер, а тебя как зовут?
ЧЕЛОВЕК : Фантомас!
КОМПЬЮТЕР: Очень приятно, Фантомас! . Сколько тебе лет?
ЧЕЛОВЕК: 100
КОМПЬЮТЕР: Ого! Целых 100 лет! Ты уже совсем взрослый!
Задания
1.Напишите программу для следующей задачи: Компьютер запрашивает названия двух планет, радиусы их орбит (в миллионах километров) и скорости движения по орбите (в миллионах километров в сутки). После этого он вычисляет продолжительность года на планетах и выдает результат в таком виде: Продолжительность года на планете Земля – 365 суток, а на планете Эоэлла – 12 суток. Результат - в двух вариантах: печать на форме оператором Print и вывод в текстовое поле.
Указание для тех, кто не знает физики и геометрии: Год равен времени одного оборота по орбите, а оно равно длине орбиты, деленной на скорость движения по орбите. Длина орбиты равна 2рR, где R - радиус орбиты.
2.Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug. Print с пояснениями.
3.В самом углу прямоугольного двора стоит прямоугольный дом. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора, естественно, нет. Размеры дома и двора вводим при помощи InputBox, результаты отображаем в текстовых полях. Все числа целые.
Ввести из текстового поля радиус окружности. Вычислить длину окружности и площадь круга. Результаты с пояснениями печатать с 5 знаками после десятичной точки с помощью оператора Print.
Задания
1.Напишите программу для следующей задачи: Компьютер запрашивает названия двух планет, радиусы их орбит (в миллионах километров) и скорости движения по орбите (в миллионах километров в сутки). После этого он вычисляет продолжительность года на планетах и выдает результат в таком виде: Продолжительность года на планете Земля – 365 суток, а на планете Эоэлла – 12 суток. Результат - в двух вариантах: печать на форме оператором Print и вывод в текстовое поле.
Указание для тех, кто не знает физики и геометрии: Год равен времени одного оборота по орбите, а оно равно длине орбиты, деленной на скорость движения по орбите. Длина орбиты равна 2рR, где R - радиус орбиты.
2.Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug. Print с пояснениями.
3.В самом углу прямоугольного двора стоит прямоугольный дом. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора, естественно, нет. Размеры дома и двора вводим при помощи InputBox, результаты отображаем в текстовых полях. Все числа целые.
Ввести из текстового поля радиус окружности. Вычислить длину окружности и площадь круга. Результаты с пояснениями печатать с 5 знаками после десятичной точки с помощью оператора Print.
Задания
1.Напишите программу для следующей задачи: Компьютер запрашивает названия двух планет, радиусы их орбит (в миллионах километров) и скорости движения по орбите (в миллионах километров в сутки). После этого он вычисляет продолжительность года на планетах и выдает результат в таком виде: Продолжительность года на планете Земля – 365 суток, а на планете Эоэлла – 12 суток. Результат - в двух вариантах: печать на форме оператором Print и вывод в текстовое поле.
Указание для тех, кто не знает физики и геометрии: Год равен времени одного оборота по орбите, а оно равно длине орбиты, деленной на скорость движения по орбите. Длина орбиты равна 2рR, где R - радиус орбиты.
2.Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug. Print с пояснениями.
3.В самом углу прямоугольного двора стоит прямоугольный дом. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора, естественно, нет. Размеры дома и двора вводим при помощи InputBox, результаты отображаем в текстовых полях. Все числа целые.
Ввести из текстового поля радиус окружности. Вычислить длину окружности и площадь круга. Результаты с пояснениями печатать с 5 знаками после десятичной точки с помощью оператора Print.


