![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Порядок создания простого вычислительного проектаСодержание книги
Поиск на нашем сайте
Все, что здесь сказано, полезно не только для вычислительных, но и для всех других проектов. Задача: Даны размеры спичечной коробки. Вычислить площадь основания коробки, ее объем и полную площадь поверхности.
Порядок создания проекта: 1. Программист сам должен знать решение задачи. Ведь программа - это инструкция по ее решению. Нельзя давать инструкцию, не зная, как решать. В нашем случае программист должен знать формулы для вычисления всего, что нужно:
1. площадь основания = ширина х толщину 2. объем = площадь основания х высоту 3. периметр основания = две ширины + две толщины 4. площадь боковой поверхности = периметр основания х высоту 5. полная площадь поверхности = две площади основания + площадь боковой поверхности
Как видите, я для стройности вычислений ввел периметр основания и площадь боковой поверхности.
2. Нужно придумать имена переменным. Имя переменной должно говорить о ее смысле. Если смыслом является ширина коробки, то не ленитесь и не называйте ее а, потому что через полгода, разбираясь в своей полузабытой программе, вы будете долго тереть лоб и думать – Что, черт возьми, я обозначил через а? Называйте ее Ширина (если вы не знаете английского) или, к примеру, Width (если знаете). Так делают все профессиональные программисты (а они, как известно, терпеть не могут трудиться зря, значит, зачем-то это им нужно). Удовлетворимся такими именами: Ширина - ширина Периметр - периметр основания 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 (4.2) или как-то по-другому. Выберем InputBox.
Вот следующие строки программы: Private Sub Command1_Click() 'Ввод исходных данных Ширина = InputBox("Введите ширину коробки") Толщина = InputBox("Введите толщину коробки") Высота = InputBox("Введите высоту коробки") Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат. 'Вычисление результатов S_основ = Ширина * Толщина V = S_основ * Высота Периметр = 2 * Ширина + 2 * Толщина S_бок = Периметр * Высота S_полн = 2 * S_основ + S_бок 6. После получения результатов их нужно показать человеку. Действительно, все операторы присваивания компьютер выполняет "в уме". После их выполнения в ячейках памяти будут находиться числовые результаты решения задачи. Чтобы их увидеть, человек может использовать текстовые поля, как это мы только что сделали, улучшая калькулятор. В 4.10 описывается, как выводить информацию в текстовое поле. Однако, я использую новый для нас оператор Print, который в нашем случае будет печатать результат прямо на поверхности формы (в отличие от Debug.Print, который печатает в окне Immediate): 'Отображение результатов Print "Площадь основания ="; S_основ Print "Объем ="; V Print "Полная площадь поверхности ="; S_полн End Sub Обратите внимание, что здесь в первом операторе Print - два элемента печати, разделенные точкой с запятой: текстовое пояснение "Площадь основания =" и собственно переменная, значение которой мы хотим увидеть - S_основ. То же самое и в других операторах Print. То же самое можно делать и в Debug.Print. Полностью правила записи и возможности этих операторов вы найдете в 4.8.
Запустите проект и убедитесь в его работоспособности. Вы спросите - зачем было так долго трудиться для решения такой простой задачи? Действительно, для простых исходных данных эту задачу быстрее решить в уме. Однако, соблюдение приведенного мной порядка составления программы облегчит вам в дальнейшем программирование реальных задач для компьютера. Этот порядок - начинаем со ввода исходных данных, затем преобразовываем их в переменные величины, затем, обрабатывая переменные величины, получаем результат, затем преобразовываем результат из переменных величин в нечто видимое - общепринят.
Замечание. Попробуйте в режиме работы потаскать форму по экрану, нечаянно затащив часть ее напечатанных результатов за пределы экрана. Вы видите, что эта часть результатов стерлась. Чтобы такого не происходило, в режиме проектирования установите свойству AutoRedraw формы значение True.
Задания 11-13: Написать с использованием переменных программы для решения следующих задач:
11) Автомобиль 3 часа ехал со скоростью 80 км/час и 2 часа со скоростью 90 км/час. Вычислить среднюю скорость автомобиля (она равна суммарному пути, деленному на суммарное время). Значения переменным задать операторами присваивания, результат напечатать оператором Debug.Print с пояснениями. 12) В самом углу прямоугольного двора стоит прямоугольный дом. Подсчитать площадь дома, свободную площадь двора и длину забора. Примечание: в углу, где дом, забора, естественно, нет. Размеры дома и двора вводим при помощи InputBox, результаты отображаем в текстовых полях. Все числа целые. 13) Ввести из текстового поля радиус окружности. Вычислить длину окружности и площадь круга. Результаты с пояснениями печатать с 5 знаками после десятичной точки с помощью оператора Print. Строковые переменные Строковые переменные очень важны. Без них, например, невозможен разговор с компьютером. Да и вообще, значительная часть информации, с которой работает компьютер, текстовая (то есть строковая). Создайте двухкнопочный проект с такой программой: Dim a As Integer Dim b As String _____________________________ Private Sub Command1_Click() a = 98 Debug.Print a End Sub _____________________________ Private Sub Command2_Click() b = "Привет всем!" Debug.Print b End Sub
Сравним две процедуры. Объявление Dim a As Integer говорит о том, что переменная a обязана иметь числовое значение, и поэтому в первой процедуре оператор a=98 записывает в ячейку a число 98. Объявление Dim b As String говорит о том, что переменная b обязана иметь строковое (текстовое) значение, то есть ее значением будет не число, а произвольная цепочка символов, например, Привет всем! или рпН2Н(*fD6:u. Поэтому во второй процедуре оператор b ="Привет всем!" записывает в ячейку b строкуПривет всем!. Оператор Debug.Print b, поскольку он обязан всегда выводить на экран содержимое ячейки b, выведет на экран текст Привет всем! Обратите внимание, что в программе текст должен браться в двойные кавычки, а в памяти он хранится без кавычек и на экран выводится без кавычек. Информация в ячейке памяти под строковую переменную может в процессе выполнения программы меняться точно так же, как и в ячейке для числовой переменной. Например, при выполнении фрагмента a="Минуточку!": Debug.Print a: a="Здравствуйте!": a="До свидания!": Debug.Print a в ячейке a будут по очереди появляться строки Минуточку! Здравствуйте! До свидания! а на экран будут выведены строки: Минуточку! До свидания! Еще пример: a="Цикл": Debug.Print a: a=a+a: Debug.Print a+a+a +"Конец цикла" Поскольку знак + по отношению к строкам есть знак соединения, то a+a будет равняться "ЦиклЦикл" и это же - новое значение a. Поэтому здесь на экран будут выведены строки: Цикл ЦиклЦиклЦиклЦиклЦиклЦиклКонец цикла Выражения a+a и a+a+a +"Конец цикла" в последнем примере являются ни чем иным, как строковыми выражениями, по той простой причине, что в них производятся действия, результатом которых является строка.
Строковую переменную можно задавать не только оператором присваивания, но и функцией InputBox. При вводе ставить кавычки тоже не надо. Пример: Dim a As String Private Sub Command1_Click() a = InputBox("Введите какое-нибудь слово") Debug.Print "Вы ввели слово "; a End Sub Обратите внимание на пробел перед второй кавычкой в операторе Debug.Print. Он нужен для того, чтобы слова при выводе не сливались. Прежде, чем идти дальше, нужно, конечно, разобраться с хитросплетениями запятых, точек с запятыми, кавычек и пробелов в операторе Print:
|
|||||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 251; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.222.170 (0.011 с.) |