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

advertisement
Как выводить информацию оператором 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
12345
4
67824
240
Print 345, -94, 67, 240456
345
-94
67
240456
Print 45, 45678, 67, 0
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;
1 66
2 3
Print 3
4
Print 4;
Проверьте этот пример, запустив его один раз, затем еще раз. Объясните увиденное.
Все, что здесь было сказано, относится и к оператору Debug.Print.
То, что печатать, указывается в самом операторе Print, а вот как печатать и с какого места, зависит от
свойств объекта, на котором ведется печать (в нашем случае объект - форма):
Form1.CurrentX = 1000
Число 99 будет напечатано на 1000 твипов правее и на
Form1.CurrentY = 3000
3000 твипов ниже левого верхнего угла формы.
Print 99
Form1.CurrentX = 1000
Print 99
Числа 99 и 44 будут напечатаны в одном месте.
Form1.CurrentX = 1000
Получится мазня.
Print 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.
Download