Онлайн
библиотека книг
Книги онлайн » Разная литература » Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Шрифт:

-
+

Закладка:

Сделать
1 ... 140 141 142 143 144 145 146 147 148 ... 192
Перейти на страницу:
за компьютером, то вот вам три моих совета, по своей силе приближающихся к непререкаемым приказам:

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

2. В каждой из этих программ экспериментируйте, то есть разными способами изменяйте в них то, что я как раз в этот момент объясняю. Например, если я объясняю оператор For i=1 То 5, пробуйте For i=1 То 10.

3. Выполняйте и сверяйте с ответом все задания. Это, конечно, главный совет из трех. Учтите, что сверенная с ответом правильно работающая программа — ваша победа, сверенная с ответом неправильно работающая программа — временное поражение, отказ от сверки — разгром.

Если вы пожалеете времени и пренебрежете этими советами, то через несколько страниц можете обнаружить трудности в понимании материала и вскоре не сможете правильно составить большинство программ.

Порядок создания простого вычислительного проекта

Все, что здесь сказано, полезно не только для вычислительных, но и для всех других проектов.

Задача: Даны размеры спичечной коробки. Вычислить площадь основания коробки, ее объем и полную площадь поверхности.

Порядок создания проекта:

1. Программист сам должен знать решение задачи. Ведь программа — это инструкция по ее решению. Нельзя давать инструкцию, не зная, как решать.

В нашем случае программист должен знать формулы для вычисления всего, что нужно:

площадь основания = ширина х толщину

объем = площадь основания х высоту

периметр основания = две ширины + две толщины

площадь боковой поверхности = периметр основания х высоту

полная площадь поверхности = две площади основания + площадь боковой поверхности

Как видите, я для стройности вычислений ввел периметр основания и площадь боковой поверхности.

2. Нужно придумать имена переменным. Имя переменной должно говорить о ее смысле. Если смыслом является ширина коробки, то не ленитесь и не называйте ее а, потому что через полгода, разбираясь в своей полузабытой программе, вы будете долго тереть лоб и думать — Что, черт возьми, я обозначил через а? Называйте ее Ширина (если вы не знаете английского) или, к примеру, Width (если знаете). Так делают все профессиональные программисты (а они, как известно, терпеть не могут трудиться зря, значит, зачем-то это им нужно).

Удовлетворимся такими именами:

Ширина — ширина

Толщина — толщина

Высота — высота

S_основ — площадь основания

V — объем

Периметр — периметр основания

S_бок — площадь боковой поверхности

3_полн — полная площадь поверхности

3. Нужно определить, какого типа будут переменные. Поскольку нам заранее неизвестно, будут ли исходные данные целыми, объявляем все переменные Double. Первые строки программы будут такими:

'Задача вычисления площади основания, объема и полной площади поверхности

'спичечной коробки по известным ее размерам

'Объявляем переменные величины

Dim Ширина As Double 'ширина

Dim Толщина As Double 'толщина

Dim Высота As Double 'высота

Dim S_основ As Double 'площадь основания

Dim V As Double 'объем

Dim Периметр As Double 'периметр основания

Dim S_бок As Double 'площадь боковой поверхности

Dim S_полн As Double 'полная площадь поверхности

4. Перед вычислениями нужно задать исходные данные решения задачи. Для это го нужно решить, каким способом пользователь будет задавать размеры коробки — при помощи текстовых полей, функции InputBox (0) или как-то по-другому. Выберем InputBox.

Вот следующие строки программы:

Private Sub Command1_Click()

'Ввод исходных данных

Ширина = InputBox("Введите ширину коробки")

Толщина = InputBox("Введите толщину коробки")

Высота = InputBox("Введите высоту коробки")

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

'Вычисление результатов

S_ocнов = Ширина * Толщина

V = S_основ * Высота

Периметр = 2 * Ширина + 2 * Толщина

S_бок = Периметр * Высота

S полн = 2 * S основ + S бок

6. После получения результатов их нужно показать человеку. Действительно, все операторы присваивания компьютер выполняет "в уме". После их выполнения в ячейках памяти будут находиться числовые результаты решения задачи. Чтобы их увидеть, человек может использовать текстовые поля, как это мы только что сделали, улучшая калькулятор. В 0 описывается, как выводить информацию в текстовое поле. Однако, я использую новый для нас оператор Print, который в нашем случае будет печатать результат прямо на поверхности формы (в отличие от Debug.Print, который печатает в окне Immediate):

'Отображение результатов

Print "Площадь основания ="; S_ocнов

Print "Объем ="; V

Print "Полная площадь поверхности ="; S_полн

End Sub

Обратите внимание, что здесь в первом операторе Print — два элемента печати, разделенные точкой с запятой: текстовое пояснение "Площадь основания =" и собственно переменная, значение которой мы хотим увидеть — S_основ. То же самое и в других операторах Print. То же самое можно делать и в Debug.Print.

Запустите проект и убедитесь в его работоспособности. Вы спросите — зачем было так долго трудиться для решения такой простой задачи? Действительно, для простых исходных данных эту задачу быстрее решить в уме. Однако, соблюдение приведенного мной порядка составления программы облегчит вам в дальнейшем программирование реальных задач для компьютера. Этот порядок — начинаем со ввода исходных данных, затем преобразовываем их в переменные величины, затем, обрабатывая переменные величины, получаем результат, затем преобразовываем результат из переменных величин в нечто видимое — общепринят.

Замечание. Попробуйте в режиме работы потаскать форму по экрану, нечаянно затащив часть ее напечатанных результатов за пределы экрана. Вы видите, что эта часть результатов стерлась. Чтобы такого не происходило, в режиме проектирования установите свойству AutoRedraw формы значение True.

Задания 11–13: Написать с использованием переменных программы для решения следующих задач:

Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug.Print с пояснениями.

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

1 ... 140 141 142 143 144 145 146 147 148 ... 192
Перейти на страницу: