Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Как вводить программу в компьютер или работа с текстом в текстовом редакторе↑ ⇐ ПредыдущаяСтр 40 из 40 Содержание книги
Поиск на нашем сайте
Ввод вашей программы в компьютер производится при помощи специальной программы, которая называется текстовым редактором и входит в состав Visual Basic. Программа на Visual Basic - это обычный текст, поэтому вам достаточно знать работу в текстовом редакторе с обычным текстом. Приемы работы в текстовом редакторе Visual Basic практически ничем не отличаются от приемов работы в других текстовых редакторах. Те предложения, которые мы сейчас для тренировки будем писать (типа "Маша ела кашу"), представляют с точки зрения Visual Basic невообразимую чушь и поэтому после ввода каждой строки он будет нещадно ругаться. Чтобы он от нас отстал, отключим опцию проверки грамматики при вводе текста в окно кода. Для этого в пункте Tools главного меню Visual Basic найдем пункт Options, а там в закладке Editor снимем флажок Auto Syntax Check. Только не забудьте при переходе к вводу реальных программ снова поставить этот флажок. Работа с одной строкой текста Когда мы начинаем работать в текстовом редакторе Visual Basic, перед нами обычно - пустое окно кода. Пустое пространство окна - наш лист, и на нем мы будем писать. На картинке вы видите окно кода, уже частично заполненное текстом.
Сейчас я проведу вас "за руку" от начала и до конца. Однако и в этом случае вы можете натолкнуться на неожиданности. Помощь вы найдете в дальнейших строках материала вплоть до «Работы с несколькими строками». Рекомендую сейчас быстренько пробежать глазами этот материал.
Ввод строки. Пусть мы хотим ввести строчку "юный пионер Коля любит Bubble Gum". Первая клавиша, по которой мы должны щелкнуть, - русская буква "ю". Но где она появится на экране? - В том месте, где сейчас мигает текстовый курсор - маленькая вертикальная черточка. А в начале работы редактора он должен мигать в левом верхнем углу пустого окна. Если не мигает, щелкните мышкой по окну кода. Не путайте текстовый курсор с мышиным. Мышиный свободно перемещается по экрану вслед за движениями мыши по коврику и не мигает, у текстового такой свободы нет и он мигает. Итак, щелкаем по клавише "ю" - и на экране на месте текстового курсора возникает буква "ю", а сам текстовый курсор перемещается чуть вправо, там потом возникнет следующая буква. Где бы текстовый курсор ни находился, следующая буква возникает на его месте. Если получилась не буква "ю", а точка, значит прочитайте чуть ниже про английские и русские буквы. Если буква получилась заглавной, почитайте про заглавные буквы. Вот какая получается картина - "ю | ". По клавише именно щелкаем, «клюем» ее, а не нажимаем, потому что компьютер настроен так, что если мы задерживаем палец на клавише дольше некоторой доли секунды, он считает, что нажатий было не одно, а два, еще подольше – три, и так далее, а это значит, что на экране мы увидим "ююююююююю | ". Поэтому в дальнейшем изложении, когда я говорю «Нажмите клавишу», я буду иметь в виду «Щелкните по клавише». Получив на экране "ю", щелкнем по "н". На экране видим "юн | ". И так далее, пока на экране мы не получим "юный | ". Если мы в процессе работы случайно нажали на клавишу не с той буквой, то щелкнем по клавише BackSpace. Она стирает последнюю введенную букву. Эта клавиша имеет еще маркировку BS или ï. После ввода слова "юный" нужно ввести пробел перед следующим словом. Для этого щелкните по самой длинной горизонтальной клавише. Затем аналогично вводите слово "пионер" и пробел.
Заглавные буквы. Чтобы буква "к" в слове "Коля" получилась заглавной, нужно нажать на клавишу Shiftи держать ее нажатой. Смело держите ее нажатой сколько угодно - ничего плохого от этого не произойдет. Затем, удерживая ее нажатой, щелкните по букве "к" - она получится заглавной. Теперь отпустите Shift. Можно работать дальше со строчными буквами. Иногда клавиша Shift имеет маркировку ñ. Ненароком в процессе работы вы можете нажать клавишу CapsLockи не заметить этого. После этого при нажатии на любую буквенную клавишу вы получите заглавную букву вместо строчной. При этом в правом верхнем углу клавиатуры горит индикатор CapsLock. Еще раз нажмите на CapsLock, индикатор потухнет и все вернется на свои места.
Английские и русские буквы. Вот вы дошли до английского слова "Bubble Gum". Как его набрать? Вы уже заметили, что на большинстве клавиш букв две - сверху английская (латинская), снизу русская. Предположим, до сих пор у вас при нажатии на клавишу всегда выходила русская буква. Говорят, что вы работали в русском регистре. Если вы нажмете на пару служебных клавиш, то теперь при нажатии на любую буквенную клавишу у вас будут получаться английские буквы, пока вы снова не нажмете на эти самые служебные клавиши, чтобы вернуться к русским буквам. Вот эти клавиши:
· Левая Alt - Shift На клавиатуре имеется две клавиши Alt. Имеется в виду, что удерживая нажатой левую клавишу Alt, вам нужно щелкнуть по одной из клавиш Shift. · Ctrl - Shift Удерживая нажатой клавишу Ctrl, вам нужно щелкнуть по клавише Shift.
Если вдруг эти клавиши не подействуют, то найдите в правой части панели задач индикатор с обозначением En или Ru и щелкните по нему, после чего в открывшемся меню выберите мышкой нужный язык.
Знаки препинания. Вы набрали все предложение. Теперь вам самое время поставить точку, а мне поговорить о знаках препинания и других полезных символах. Над буквами вы увидите горизонтальный ряд клавиш с цифрами от 0 до 9. На эти же клавиши нанесены и многие символы. Вы их сможете получить при нажатой клавише Shift. Если кроме цифры на клавишу нанесены два значка, то левый из них получается при работе в английском регистре, а правый - в русском. Кроме этого, работая в английском регистре, вы можете получить остальные нужные символы на русских буквах Х, Ъ, Ж, Э, Б, Ю и еще на паре клавиш. Работая в русском регистре, удобно точку и запятую получать на клавише со знаком вопроса рядом с правой клавишей Shift, причем запятая получится при нажатой клавише Shift. Можно также воспользоваться для этого клавишами Б и Ю при нажатой клавише Alt.
Удаление букв из текста. Вот вы напечатали всю строку "юный пионер Коля любит Bubble Gum.". Теперь попробуем удалить слово "пионер". Для этого нам нужно уметь перемещать курсор. Для перемещения курсора служат клавиши перемещения курсора - четыре клавиши внизу клавиатуры: ® ¯. Попробуйте, как они работают. Особой свободы вы не почувствуете. Текстовый курсор передвигается только в пределах введенного текста и еще на строку вниз. (Не обращайте внимания, если Visual Basic изменит вам цвет шрифта). Перемещать текстовый курсор можно и мышкой - просто щелкните мышкой в дозволенных пределах - текстовый курсор перепрыгнет в место щелчка. Щелкайте аккуратно, удерживая мышь совершенно неподвижной, иначе у вас вместо прыжка текстового курсора может получится выделение черным цветом того или иного фрагмента текста. Не пугайтесь, просто щелкните мышкой еще раз. Получается, что мышиный курсор работает "проводником" для текстового. Поставьте текстовый курсор на пробел между словом "пионер" и словом "Коля" вплотную к букве р. Мы уже начинаем привыкать, что если нажать какую-нибудь клавишу, то что-то произойдет именно в том месте, где текстовый курсор. Чтобы стереть по очереди все буквы слова "пионер", несколько раз нажмите на клавишу BackSpace. Обратите внимание, что буквы слова "пионер" слева от курсора исчезают по одной, текст справа от курсора смыкается налево, так что пустого пространства на месте слова "пионер" не остается. У вас должно получиться "юный Коля любит Bubble Gum.". Для стирания символов существует еще одна клавиша - Delete. Иногда она имеет маркировку Del. Давайте сотрем слово "любит". Поставим курсор на пробел между словом "Коля" и словом "любит". Нажмем несколько раз на Delete. Слово любит "стерлось", а текст справа от курсора снова сомкнулся налево. Таким образом, клавиша BackSpace стирает символ слева от курсора а клавиша Delete – справа. В обоих случаях текст справа от курсора смыкается налево к курсору.
Вставка букв в текст. Теперь у нас на экране строка "юный Коля Bubble Gum.". Давайте вставим перед словом "Коля" слово "бойскаут". Для этого поставим курсор на пробел перед словом "Коля" вплотную к букве "К". После этого напечатаем слово "бойскаут" и пробел. Мы увидим, что буквы слова "бойскаут" появляются на месте курсора, "Коля" вместе с "Bubble Gum" подвинулись направо и мы достигли поставленной цели. Теперь у нас на экране строка "юный бойскаут Коля Bubble Gum.". Этот способ работы текстового редактора, когда вставляемый текст отодвигает вправо остальной текст, называется режимом вставки. Если вы нажмете на клавишу Insert, иногда маркируемую Ins, то перейдете в режим замещения, когда текст не будет отодвигаться, а "бойскаут" сотрет "Колю". В этом режиме курсор увеличивает свою толщину и целиком покрывает букву, которой предстоит быть замещенной. Чтобы вернуться в режим вставки, еще раз нажмите на Insert. А теперь вставьте в подходящее место предложения слово «ненавидит». Работа с несколькими строками Ваша задача – ввести такой текст из нескольких строк:
В небе Облака из серой ваты Сыровато-сероваты, Не беда - ведь я привык. В луже Эта вата намокает И волнуясь пробегает Под водою мой двойник.
Нужную реакцию на могущие возникнуть неожиданности вы можете найти в дальнейшем материале вплоть до конца этого раздела. А пока начнем по порядку.
Ввод нескольких строк. Как сделать так, чтобы, введя слова «В небе», следующие слова начать с новой строки? Для этого можно нажать клавишу ¯. Во многих текстовых редакторах клавиша перемещения курсора ¯ в этой ситуации не помогает. Приходится в тот момент, когда курсор занимает самую правую позицию на строке, нажимать клавишу Enter, по-другому Return, по-другому «Клавиша ввода». Курсор перепрыгивает в начало следующей строки. Введя вторую строку, снова перейдите в начало следующей и так далее. А теперь введите все восемь строк задания.
Перемещение курсора по экрану. При помощи четырех клавиш перемещения курсора ® ¯ потренируйтесь перемещать курсор куда только можно. Вы скоро обнаружите, что курсор можно свободно перемещать только там, где имеется текст. Ни правее, ни больше чем на строчку ниже введенного текста курсор переместить не удается. Поначалу вам это может показаться непривычно и неприятно, и вы захотите расширить поле действия курсора. Удовлетворить вашу прихоть довольно легко. Подведя курсор в правый край самой нижней строки, нажмите на клавишу ввода несколько раз. У вас ниже текста образовалось несколько невидимых пустых строк, по которым вверх-вниз может свободно ходить курсор. Я назвал это прихотью, так как при вводе текста это никогда не бывает нужно. Но то, что вы сейчас проделали, вам полезно для свободной ориентации на листе.
Собственно работа с несколькими строками. А теперь вам полезно выполнить несколько заданий.
Чтобы вставить пустые строки между строчкой «Не беда - ведь я привык.» и строчкой «В луже», поставьте курсор в конец первой из этих строк или в начало второй и несколько раз нажмите клавишу ввода. А как теперь убрать эти пустые строки? Поставьте курсор в начало самой верхней из пустых строк и несколько раз нажмите Delete. Как разделить строку на две части? Например, вместо «Не беда - ведь я привык.» нужно получить Не беда – ведь я привык. Поставьте курсор перед буквой "в" и нажмите клавишу ввода. А как слить эти две строки? Поставьте курсор в правый конец верхней из этих строк и нажмите Delete один или несколько раз, пока строки не сольются.
Невидимые символы. Все эти правила могут показаться запутанными и не имеющими внутренней логики. А логика есть. И если вы ее поймете, то и правил запоминать не нужно. Вот она: Нажатие на клавишу ввода вызывает появление на экране в том месте, где был перед нажатием курсор, специального невидимого символа, точно так же, как нажатие на клавишу пробела вызывает появление невидимого символа - пустого места. Обозначим для удобства символ клавиши ввода - p. Рассмотрим с новой точки зрения действие различных клавиш: · Нажатие на любую буквенную клавишу или пробел вызывает вставку в текст на место курсора соответствующей буквы или пробела, а вся правая часть текста сдвигается вправо. · Нажатие на клавишу ввода вызывает перемещение вниз на одну строку всего текста, находящегося правее и ниже курсора, причем правая часть текста в строке, где был курсор, перемещается не только вниз, но и в начало следующей строки. Отсюда видно, что в текстовом редакторе Visual Basic строка кончается обязательно символом p. Это не относится к тем текстовым редакторам, которые переводят строку автоматически. Кроме как в конце строки, символ p нигде встречаться не может. · Клавиша Delete стирает любой символ справа от курсора, будь то буква, пробел или p. Стирание символа уничтожает не только сам символ, но и его действие. Поэтому, стерев p, мы выполняем действие, обратное действию клавиши ввода, то есть нижние строки поднимаются, а ближайшая нижняя сливается с текущей. · Аналогично действует клавиша BackSpace. Окно кода - маленькое окно на большой лист с текстом Когда вы вводите большой текст, то в конце концов доходите до нижнего края окна кода. Продолжайте работать как ни в чем не бывало. Перейдя в очередной раз на следующую строку, вы обнаруживаете, что весь текст в окне ушел немного вверх, так что верхняя его часть исчезла из вида. То же самое происходит, когда слишком далеко продолжаешь строку вправо - текст уходит влево. Впечатление такое, что имеется большой неподвижный лист с текстом, а окно кода является небольшим подвижным окном, через которое вы можете видеть этот лист. Движением окна можно управлять клавишами перемещения курсора или щелкая мышкой по кнопкам полос прокрутки, которые возникают у правого и нижнего края окна кода. Можно также таскать бегунки полос прокрутки. Копирование перемещение, удаление фрагментов текста Часто в программах попадаются одинаковые или почти одинаковые фрагменты. Чем вводить их каждый раз заново, лучше скопировать. Выделение фрагмента: Поставьте курсор мыши в тот момент, когда он имеет форму вертикальной палочки (I), чуть слева от копируемого фрагмента. Затем нажмите левую клавишу мыши и, не отпуская ее, ведите мышь на конец копируемого фрагмента. Фрагмент будет выделен темным цветом. Если в процессе ваша рука дрогнет, то на экране будут происходить страшные вещи. Сохраняйте хладнокровие и ни за что не отпускайте клавишу мыши. Когда вы доведете ее до последней буквы фрагмента, все уляжется. Можете отпускать мышь. Выделенный же фрагмент Visual Basic умеет удалять, перемещать и копировать в другое место. Следующим образом: Копирование: Поставьте курсор мыши в тот момент, когда он имеет свою обычную форму наклоненной налево стрелки (Ý), острием стрелки на темный копируемый фрагмент. Щелкните правой клавишей мыши. В появившемся контекстном меню выберите пункт Copy.. Visual Basic запомнил фрагмент в специальном месте памяти, которое называется буфер обмена. Теперь щелкните правой клавишей мыши в том месте окна, куда вы хотите скопировать фрагмент. Убедившись, что текстовый курсор мигает в нужном месте, в появившемся контекстном меню выберите пункт Paste. То, что было в буфере обмена, переносится в нужное место. Перемещение: Вместо Copy выбирайте Cut. Остальное - аналогично перемещению. Более быстрый способ: просто перетащите мышкой фрагмент в нужное место.
Если у вас на экране несколько окон, то вы точно так же можете копировать и переносить фрагменты из одного окна в другое. Особенно полезно «передирать» целые программы из окна помощи в свое окно кода и запускать получившийся проект. Удаление: Выделив фрагмент, выберите в контекстном меню Delete или щелкните клавишу Delete на компьютере.
Вместо щелчков по правой клавише мыши вы можете выбрать пункты меню Edit (Copy, Cut, Paste, Delete) или щелкайте по соответствующим кнопкам на панели инструментов. Волшебные кнопки отмены и возврата Иногда так бывает, что в результате неосторожного нажатия на какую-нибудь кнопку в окне редактора ВСЕ СТАНОВИТСЯ ОЧЕНЬ ПЛОХО! То есть, или текст программы безнадежно испорчен, или большой фрагмент этого текста вообще пропал неизвестно куда, или еще что-нибудь. И вы не знаете, как помочь этому горю. В этом случае просто щелкните один или несколько раз по кнопке отмены на панели инструментов. Все вернется на свои места. Для интереса щелкайте по этой клавише, пока щелкается. Вы увидите, что все ваши действия в редакторе отменяются одно за другим. Чтобы вернуть их, пощелкайте по кнопке возврата . Решение заданий 1. Private Sub Квадрат_Click() Результат.Text = Val(Число1.Text) * Val(Число1.Text) End Sub
2. Private Sub СБРОС_Click() Число1.Text = "" Число2.Text = "" Результат.Text = "" End Sub
5. Private Sub Кл_вычитания_Click() Результат.Text = Val(Число1.Text) - Val(Число2.Text) Кл_вычитания.Left = 2000 Кл_вычитания.Caption = "Ой!" End Sub
Private Sub СБРОС_Click() Число1.Text = "" Число2.Text = "" Результат.Text = "" Кл_вычитания.Left = 3400 Кл_вычитания.Caption = "-" End Sub
6.
7. Будет напечатано число 211.
8. · 1001 · -100 · 15 -10
9.
10. Dim a As Long Dim b As Long Private Sub Command1_Click() a = 9000000 b = 1000 b = b + a Debug.Print b End Sub
11. 'Задача вычисления средней скорости Dim Скорость1 As Double 'Скорость автомобиля на первом участке пути Dim Время1 As Double 'Время прохождения первого участка Dim Путь1 As Double 'Длина первого участка Dim Скорость2 As Double 'Скорость автомобиля на втором участке пути Dim Время2 As Double 'Время прохождения второго участка Dim Путь2 As Double 'Длина второго участка Dim Средняя_скорость As Double 'Средняя скорость автомобиля
Private Sub Command1_Click() 'Задание исходных данных Скорость1 = 80 Время1 = 3 Скорость2 = 90 Время2 = 2 'Вычисление результата Путь1 = Скорость1 * Время1 Путь2 = Скорость2 * Время2 Средняя_скорость = (Путь1 + Путь2) / (Время1 + Время2) 'Отображение результата Debug.Print Средняя_скорость End Sub
12. 'Задача: В самом углу прямоугольного двора стоит прямоугольный дом. 'Подсчитать площадь дома, свободную площадь двора и длину забора. 'Объявляем переменные величины Dim Длина_двора As Integer Dim Ширина_двора As Integer Dim Площадь_двора As Integer Dim Периметр_двора As Integer Dim Длина_дома As Integer Dim Ширина_дома As Integer Dim Площадь_дома As Integer Dim Полпериметра_дома As Integer Dim Свободная_площадь_двора As Integer Dim Длина_забора As Integer
Private Sub Command1_Click() 'Ввод исходных данных Длина_двора = InputBox("Введите длину двора") Ширина_двора = InputBox("Введите ширину двора") Длина_дома = InputBox("Введите длину дома") Ширина_дома = InputBox("Введите ширину дома") 'Вычисление результатов Площадь_двора = Длина_двора * Ширина_двора Площадь_дома = Длина_дома * Ширина_дома Периметр_двора = 2 * (Длина_двора + Ширина_двора) Полпериметра_дома = Длина_дома + Ширина_дома Свободная_площадь_двора = Площадь_двора - Площадь_дома Длина_забора = Периметр_двора - Полпериметра_дома 'Отображение результатов Text1.Text = Площадь_дома Text2.Text = Свободная_площадь_двора Text3.Text = Длина_забора End Sub
13. 'Задача вычисления длины окружности и площади круга Dim R As Double 'Радиус Dim L As Double 'Длина окружности Dim S As Double 'Площадь круга Dim Pi As Double 'Число "пи", равное 3,14
Private Sub Command1_Click() 'Задание исходных данных R = Text1.Text 'Величину радиуса берем из текстового поля Pi = 3.1416 'Вычисление результатов L = 2 * Pi * R S = Pi * R ^ 2 'Отображение результатов с 5 знаками после запятой Print "Длина окружности ="; Format(L, "0.00000") Print "Площадь круга ="; Format(S, "0.00000") End Sub
14. Dim nazvanie1 As String 'Название первой планеты Dim nazvanie2 As String 'Название второй планеты Dim r1 As Double 'Радиус орбиты первой планеты Dim r2 As Double 'Радиус орбиты второй планеты Dim v1 As Double 'Скорость первой планеты Dim v2 As Double 'Скорость второй планеты Dim t1 As Double 'Продолжительность года первой планеты Dim t2 As Double 'Продолжительность года второй планеты Dim Pi As Double 'Число "пи", равное 3,14
Private Sub Command1_Click() 'Задание исходных данных nazvanie1 = InputBox("Введите название первой планеты") r1 = InputBox("Введите радиус орбиты первой планеты (в миллионах километров)") v1 = InputBox("Введите скорость первой планеты (в миллионах километров в сутки)") nazvanie2 = InputBox("Введите название второй планеты") r2 = InputBox("Введите радиус орбиты второй планеты (в миллионах километров)") v2 = InputBox("Введите скорость второй планеты (в миллионах километров в сутки)") Pi = 3.1416 'Вычисление результатов t1 = 2 * Pi * r1 / v1 'год = время 1 оборота = длина орбиты / скорость, t2 = 2 * Pi * r2 / v2 'а длина орбиты равна два пи * радиус 'Отображение результатов в двух вариантах: Print "Продолжительность года на планете "; nazvanie1; " - "; Format(t1, "0"); _ " суток, а на планете "; nazvanie2; " - "; Format(t2, "0"); " суток" Text1.Text = "Продолжительность года на планете " + nazvanie1 + " - " + Format(t1, "0") _ + " суток, а на планете " + nazvanie2 + " - " + Format(t2, "0") + " суток" End Sub
15.
16.
17.
18. Dim a As Double Dim b As Double Private Sub Command1_Click() a = InputBox("Введите первое число") b = InputBox("Введите второе число") If a > b Then Debug.Print a + b Else Debug.Print a * b Debug.Print "ЗАДАЧА РЕШЕНА" End Sub
19. Dim a As Double, b As Double, c As Double Private Sub Command1_Click() a = InputBox("Введите первый отрезок") b = InputBox("Введите второй отрезок") c = InputBox("Введите третий отрезок") If a < b + c Then Debug.Print "Достаточно мал" Else Debug.Print "Слишком велик" End Sub
20. Dim N As Integer, Число_голов As Integer, Число_глаз As Integer Private Sub Command1_Click() N = InputBox("Введите возраст дракона") If N < 100 Then Число_голов = 3 * N Else Число_голов = 300 + 2 * (N - 100) Число_глаз = 2 * Число_голов Debug.Print Число_голов, Число_глаз End Sub 21. Private Sub Command1_Click() If Command1.Top < 300 Then Command1.Top = Command1.Top + 200 End Sub
22. Dim k As Integer Private Sub Command1_Click() Command1.Left = (Form1.Width - 100) * Rnd Command1.Top = (Form1.Height - 500) * Rnd k = k + 1 Debug.Print k End Sub
23. Dim Загаданное_число As Integer, Отгаданное_число As Integer Private Sub Command1_Click() Загаданное_число = Int(2 * Rnd) Отгаданное_число = InputBox("Загадано число - 0 или 1. Отгадайте!") If Загаданное_число = Отгаданное_число Then Debug.Print "Угадал" Else Debug.Print "Не угадал" End Sub
24. Private Sub Command1_Click() Имя = InputBox("Как вас зовут?") If Имя = "Коля" Then MsgBox ("Привет!") ElseIf Имя = "Вася" Then Form1.BackColor = vbGreen MsgBox ("Здорово!") ElseIf Имя = "John" Then MsgBox ("Hi!") Else MsgBox ("Здравствуйте!") End If End Sub
25. Dim imya As String Dim vozrast As Integer Private Sub Command1_Click() Print "Здравствуй, я компьютер, а тебя как зовут?" imya = InputBox("Жду ответа") Print "Очень приятно, "; imya; ". Сколько тебе лет?" vozrast = InputBox("Жду ответа") Print "Ого! Целых"; vozrast; "лет! Ты уже совсем взрослый!" If vozrast > 17 Then InputBox ("В каком институте ты учишься?") Print "Хороший институт" Else InputBox ("В какой школе ты учишься?") Print "Неплохая школа" End If Print "До следующей встречи!" End Sub
26. Dim a As Double, b As Double, c As Double Private Sub Command1_Click() a = InputBox("Введите первый отрезок") b = InputBox("Введите второй отрезок") c = InputBox("Введите третий отрезок") If a > b + c Then Debug.Print "Треугольника не получится" ElseIf b > a + c Then Debug.Print "Треугольника не получится" ElseIf c > a + b Then Debug.Print "Треугольника не получится" Else Debug.Print "Треугольник получится" End If End Sub
27. Замысловатой принцессе нравятся черноглазые, кроме тех, чей рост находится в пределах от 180 до 184.
28. Private Sub Command1_Click() a = InputBox("Введите дальность выстрела") If a > 28 And a < 30 Then MsgBox ("ПОПАЛ") ElseIf a >= 30 Then MsgBox ("ПЕРЕЛЕТ") ElseIf a >= 0 And a <= 28 Then MsgBox ("НЕДОЛЕТ") Else MsgBox ("НЕ БЕЙ ПО СВОИМ") End If End Sub
29. Dim a As String 'Приветствие человека Dim b As String 'Ответ компьютера Private Sub Command1_Click() a = InputBox("Компьютер Вас слушает") If a = "Привет" Or a = "Здравствуйте" Or a = "Салют" Then b = a ElseIf a = "Добрый день" Or a = "Приветик" Then b = "Салют" ElseIf a = "Здравия желаю" Then b = "Вольно" Else b = "Я вас не понимаю" End If MsgBox (b) End Sub
30. Dim Буква As String Private Sub Command1_Click() Буква = InputBox("Введите строчную букву русского алфавита") Select Case Буква Case "а", "и", "о", "у", "ы", "э" Print "гласный" Case "б", "з", "в", "г", "д", "ж", "й", "л", "м", "н", "р" Print "согласный звонкий" Case "п", "с", "ф", "к", "т", "ш", "х", "ц", "ч", "щ" Print "согласный глухой" Case "е", "ё", "ю", "я", "ъ", "ь" Print "какой-нибудь другой, не знаю" Case Else Print "Это не строчная буква русского алфавита" End Select End Sub
32. Считаем зайцев 10 зайцев 10 зайцев 11 зайцев 13 зайцев 16 зайцев 20 зайцев 25 зайцев
33. 5 Debug.Print "А"; GoTo 5
34. a = 10000 5 Debug.Print a a = a - 1 GoTo 5
35. a = 100 5 Debug.Print Format(a, "0.00000000") a = a / 2 GoTo 5
36. Процедура движения налево отличается от процедуры движения направо одной строкой: m1: x = x - 0.01 'Компьютер уменьшает горизонтальную координату
Процедура движения вниз: Private Sub Command3_Click() y = Image1.Top 'Компьютер узнает, откуда начинать движение m1: y = y + 0.01 'Компьютер увеличивает вертикальную координату Image1.Top = y 'Изображение встает на место, указанное верт. координатой GoTo m1 End Sub
Процедура движения вверх отличается от процедуры движения вниз одной строкой: m1: y = y - 0.01 'Компьютер уменьшает вертикальную координату
В. Private Sub Command1_Click() 'Печатаем 1 2 3 4... 100: a = 1 m1: Debug.Print a; a = a + 1 If a <= 100 Then GoTo m1
'Печатаем 99 98 97 96... 1: a = 99 m2: Debug.Print a; a = a - 1 If a >= 1 Then GoTo m2 End Sub
38. Dim a As Double Private Sub Command1_Click() a = 0 m: Debug.Print Format(a, "0.000"), Format(a ^ 2, "0.000000") a = a + 0.001 If a <= 1.00001 Then GoTo m End Sub Почему я вместо If a<=1 написал If a<=1.00001? Причина в незначительных погрешностях, которые допускает компьютер при действиях с десятичными дробями (о чем я писал в 4.5). На моем компьютере при многократном прибавлении 0.001 значение a на некотором этапе перестало быть точным. Конкретнее, у меня получилось вот что: 0,682 + 0,001 = 0,683000000000001 Вследствие этого, при дальнейшем нарастании а последнее сложение было таким: 0,999000000000001 + 0,001 = 1,000000000000001 Легко видеть, что в этом случае для a=1 задание не было бы выполнено, так как компьютер вышел бы из цикла раньше срока.
39. Private Sub Command1_Click() x = 2700 m1: y = x / 4 + 20 z = 2 * y + 0.23 If y * z < 1 / x Then GoTo m2 Debug.Print Format(x, "0.000000"), Format(y, "0.000000"), Format(z, "0.000000") x = x / 3 GoTo m1 m2: End Sub
40. x = 300 m1: x = x + 0.01 Image1.Left = x If x <= 2000 Then GoTo m1
41. Private Sub Command2_Click() 'Ставим объект в начальную точку: x = 300 Image1.Left = x y = 1000 Image1.Top = y 'Движемся направо: m1: x = x + 0.01 Image1.Left = x If x <= 2000 Then GoTo m1 'Движемся вниз: m2: y = y + 0.01 Image1.Top = y If y <= 1500 Then GoTo m2 End Sub
42. Dim Slovo As String Dim i As Integer Private Sub Command1_Click() i = 1 Do Slovo = InputBox("Введите слово") Debug.Print i; Slovo; "!" i = i + 1 Loop Until Slovo = "Хватит" Debug.Print "Хватит так хватит" End Sub
43. Dim a As Double Private Sub Command1_Click() a = 0 Do Debug.Print Format(a, "0.000"), Format(a ^ 2, "0.000000") a = a + 0.001 Loop While a <= 1.00001 End Sub
44. Private Sub Command2_Click() x = 300 Image1.Left = x y = 1000 Image1.Top = y 'Движемся направо: Do x = x + 0.01 Image1.Left = x Loop While x <= 2000 'Движемся вниз: Do y = y + 0.01 Image1.Top = y Loop Until y > 1500 End Sub
45. v = 20: t = 0: h = 100: s = 0 Do s = v * t h = 100 - 9.81 * t ^ 2 / 2 Debug.Print Format(t, "0.0"), s, Format(h, "0.000") t = t + 0.2 Loop Until h < 0
46. Private Sub Command1_Click() Debug.Print "Прямой счет:"; For i = -5 To 5 Debug.Print i; Next Debug.Print "Обратный счет:"; For i = 5 To -5 Step -1 Debug.Print i; Next Debug.Print "Конец счета" End Sub
47. N = InputBox("Сколько всего кубиков?") For i = 1 To N a = InputBox("Введите сторону кубика") V = a ^ 3 ' Объем кубика Debug.Print "Сторона кубика ="; a, "Объем кубика ="; V Next i
48. Компьютер спросит размеры только одного зала и три раза напечатает его площадь и объем: Площадь пола= 300 Объем зала= 1200 Площадь пола= 300 Объем зала= 1200 Площадь пола= 300 Объем зала= 1200
49. Компьютер напечатает результаты только для последнего зала: Площадь пола= 50 Объем зала= 150
50. 1) Компьютер напечатает результат, на 10 превышающий правильный 2) Компьютер напечатает результат, в 2 раза превышающий правильный 3) Компьютер напечатал бы 200 нарастающих значений счетчика 4) Компьютер напечатает 1, если последнее число положительное, и 0 - если неположительное 5) Компьютер запросит только одно число и напечатает 200, если оно положительное, и 0 - если неположительное 51. c_полож = 0 'Обнуляем счетчик положительных чисел c_отриц = 0 'Обнуляем счетчик отрицательных чисел c_больше_10 = 0 'Обнуляем счетчик чисел, превышающих 10 N = InputBox("Сколько всего чисел?") For i = 1 To N a = InputBox("Введите очередное число") If a > 0 Then c_полож = c_полож + 1 If a < 0 Then c_отриц = c_отриц + 1 If a > 10 Then c_больше_10 = c_больше_10 + 1 Next i Debug.Print "Из них положительных -"; c_полож; ", отрицательных -"; c_отриц; _ ", чисел, превышающих десятку -"; c_больше_10
52. Dim a As Double, b As Double Private Sub Command4_Click() c = 0 'Обнуляем счетчик пар Do a = InputBox("Введите первое число пары") b = InputBox("Введите второе число пары") If a = 0 And b = 0 Then Exit Do If a + b = 13 Then c = c + 1 Loop Debug.Print c End Sub
53. 1) 18 2) 10 3) 5 и 8 4) 3 5) 10 6) 3 7) 5
54. s = 0 'Обнуляем сумматор площади пола For i = 1 To 40 Dlina = InputBox("Введите длину") Shirina = InputBox("Введите ширину") s = s + Dlina * Shirina 'Наращиваем сумматор площади пола Next i Debug.Print "Общая площадь пола="; s
55. N = InputBox("Сколько учеников в классе?") s = 0 'Обнуляем сумматор баллов For i = 1 To N Балл = InputBox("Введите оценку по физике") s = s + Балл 'Наращиваем сумматор баллов Next i Debug.Print "Средний балл по физике ="; Format(s / N, "0.000")
56. N = InputBox("Сколько сомножителей?") proizv = 1 'Cумматор обнуляем, а накопитель произведения приравниваем 1. Почему? For i = 1 To N Число = InputBox("Введите очередной сомножитель") proizv = proizv * Число 'Наращиваем произведение Next i Debug.Print "Произведение равно"; proizv
57. 1) For k = 3 To 8 For l = 0 To 7 Debug.Print k; l Next l Next k 2) For k = 1 To 3 For l = 1 To 3 For m = 1 To 3 For n = 1 To 3 Debug.Print k; l; m; n Next n Next m Next l Next k 3) i = 0 'Обнуляем счетчик For k = 1 To 3 For l = 1 To 3 For m = 1 To 3 For n = 1 To 3 i = i + 1 Next n Next m Next l Next k Debug.Print i 4) i = 0 'Обнуляем счетчик For k = 1 To 3 For l = 1 To 3 For m = 1 To 3 For n = 1 To 3 If k <= l And l <= m And m <= n Then i = i + 1: Debug.Print k; l; m; n Next n Next m Next l Next k Debug.Print i
58. N = InputBox("Сколько чисел?") Min = InputBox("Введите число") Номер_мин_числа = 1 For i = 2 To N chislo = InputBox("Введите число") If chislo < Min Then Min = chislo: Номер_мин_числа = i Next i Debug.Print Min, Номер_мин_числа
59. Dim N As Integer, Min As Integer, Max As Integer, Рост As Integer Private Sub Command1_Click() N = InputBox("Сколько одноклассников?") Min = 500 'Заведомо невозможно огромный рост Max = 0 'Заведомо ничтожный рост For i = 1 To N Рост = InputBox("Введите рост") If Рост < Min Then Min = Рост If Рост > Max Then Max = Рост Next i If Max - Min > 40 Then Debug.Print "Правда" Else Debug.Print "Неправда" End Sub
60. 'На форме Form1 ближе к краю размещены два маленьких объекта-"кнопки" Image1 и Image2 'с уже загруженными в них картинками, а также большой объект Image3.
Private Sub Image1_Click() 'ЧТО ДОЛЖНО ПРОИЗОЙТИ ПРИ ЩЕЛЧКЕ МЫШКОЙ ПО "КНОПКЕ" Image1: Image3.Stretch = False 'Это чтобы большая "рамка" Image3 приняла форму и размеры картины Image3.Visible = False 'А это чтобы большая картина не мелькала при преобразованиях Image3 Image3.Picture = Image1.Picture 'Копируем картинку с "кнопки" в большую "рамку" Image1.BorderStyle = 1 'А это чтобы мы видели, какую картинку уже смотрели Form_Factor = Form1.Width / Form1.Height 'Это продолговатость формы Image_Factor = Image3.Width / Image3.Height 'Это продолговатость "рамки" Image3, принявшей картинку If Image_Factor > Form_Factor Then 'Если картинка продолговатей, чем форма, ТО... Image3.Width = 0.9 * Form1.Width 'картинка, конечно, должна быть чуть поуже формы (на 1/10) Image3.Left = 0.05 * Form1.Width 'а это для симметричности по горизонтали (на 1/20 от левого края) Image3.Height = Image3.Width / Image_Factor 'А это чтобы не исказились пропорции картинки Image3.Top = (Form1.Height - Image3.Height) / 2 'А это для симметричности по вертикали Else 'ИНАЧЕ... Image3.Height = 0.9 * Form1.Height 'Картинка, конечно, должна быть чуть покороче формы (на 1/10) Image3.Top = 0.05 * Form1.Height 'А это для симметричности по вертикали (на 1/20 от верхнего края) Image3.Width = Image3.Height * Image_Factor 'А это чтобы не исказились пропорции картинки Image3.Left = (Form1.Width - Image3.Width) / 2 'А это для симметричности по горизонтали End If Image3.Stretch = True 'А это для того, чтобы картина приняла размеры "рамки" после ее успешных преобразований Image3.Visible = T
|
||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 237; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.227.46.87 (0.013 с.) |