Как выводить информацию оператором Print

Будем пробовать, вы тоже пробуйте:

Фрагмент программы 

Результат на экране

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.