Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 2 семестр / Информатика шпоры часть2.doc
Скачиваний:
23
Добавлен:
01.05.2014
Размер:
397.82 Кб
Скачать

1. Алгоритмическая структура цикл. Команды по¬вторения. Привести пример

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

Циклические алгоритмические структуры бывают двух типов:

— циклы со счетчиком, в которых тело цикла вы¬полняется определенное количество раз;

— циклы, с условием, в которых тело цикла выпол¬няется до тех пор, пока выполняется условие.

Алгоритмическая структура цикл может быть за¬фиксирована различными способами:

— графически, с помощью блок-схемы;

— на языке программирования, например на язы¬ках Visual Basic и VBA, с использованием специальных инструкций, реализующих циклы различного типа.

Цикл со счетчиком. Когда заранее известно, какое число повторений тела цикла необходимо выполнить, можно воспользоваться циклической инструкцией (опе¬ратором цикла со счетчиком) For. . . Next (рис. 19).

Синтаксис оператора For... Next следующий:

строка, начинающаяся с ключевого слова For, являет¬ся заголовком цикла, а строка с ключевым словом Next — концом цикла; между ними располагаются операторы, представляющие собой тело цикла.

В начале выполнения цикла значение переменной Счетчик устанавливается равным НачЗнач. При каж¬дом «проходе» цикла переменная Счетчик увеличива¬ется на величину шага. Если она достигает величины КонЗнач, то цикл завершается и выполняются следую¬щие за ним операторы.

Циклы с условием. Часто бывает так, что необходи¬мо повторить тело цикла, но заранее неизвестно, какое количество раз это надо сделать. В таких случаях ко¬личество повторений зависит от некоторого условия. Этот цикл реализуется с помощью инструкции Do. . . Loop.

Условие выхода из цикла можно поставить в нача¬ле, перед телом цикла или в конце, после тела цикла

Проверка условия выхода из цикла проводится с по¬мощью ключевых слов While или Until. придают одному и тому же условию противоположный смысл. Ключевое слово While обеспечивает выполне¬ние цикла до тех пор, пока выполняется условие, т. е. пока условие имеет значение истина. В этом случае условие является условием продолжения цикла. Как только условие примет значение ложь, выполнение цикла закончится.

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

2. Выполнение арифметических операций в двоич¬ной системе счисления

Сложение. В основе сложения чисел в двоичной сис¬теме счисления лежит таблица сложения одноразряд¬ных двоичных чисел (табл. 6).

Важно обратить внимание на то, что при сложении двух единиц произво¬дится перенос в старший разряд. Это происходит тогда, когда величина чис¬ла становится равной или большей основания системыисчисления.

Сложение многоразрядных двоич¬ных чисел выполняется в соответствии с вышеприведенной таблицей сложения с учетом воз¬можных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа ПОгИПз:

0+0=0 110

0+1=1 + 11

1+0=1 1001

1+1=10

Вычитание. В основе вычитания двоичных чисел лежит таблица вычита¬ния одноразрядных двоичных чисел (табл. 7). При вычитании из меньшего числа (0) большего (I) производится за¬ем из старшего разряда. В таблице заем обозначен 1 с чертой.

Вычитание многоразрядных двоичных чисел реали¬зуется в соответствии с этой таблицей с учетом воз¬можных заемов в старших разрядах.

Умножение. В основе умножения ле¬жит таблица умножения одноразрядных двоичных чисел (табл. 8).

Умножение многоразрядных двоичных чисел осуществляется в соответствии с этой таблицей умножения по обычной схеме, применяемой в десятичной системе счисления, с последовательным умно¬жением множимого на очередную цифру множите¬ля. Рассмотрим пример умножения двоичных чисел 110, и Па:

110

* 11___

110

110____

10010

Билет № 17

1. Сложный алгоритм при разработке можно разби¬вать па отдельные алгоритмы, которые называются вспомогательными. Каждый вспомогательный алго¬ритм описывает решение какой-либо подзадачи. Как основной алгоритм, так и вспомогательные могут включать основные алгоритмические структуры: ли¬нейную, разветвляющуюся и циклическую.

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

Событийная процедура представляет собой под¬программу, которая начинает выполняться после реализации определенного события. Программный модуль может содержать несколько событийных про¬цедур. Каждая из таких процедур начинается с ключе¬вого слова Sub (subroutine — подпрограмма) и закан¬чивается ключевыми словами End Sub.

Программный модуль с событийными процедура¬ми. Разработаем приложение (проект), в котором име¬ется графический интерфейс на форме (Formi) и свя¬занный с пей программный модуль, выводящий на форму рисунок простейшего домика.

Пусть домик будет состоять из стены (прямоуголь¬ника) и крыши (треугольника). Тогда в программном модуле, реализующем рисование домика на форме Forml, будет две событийные процедуры —

CTeHa_Click_и_КРЫША_Ciick.

Private Sub Стена_click()

Forml.Line (20, l00)-(220, 200), В

End Sub

private Sub Kpbiuia_Click()

Forml.Line (20, 100)-(220, 100): Forml.Line (20, 100)-(120, 50): Forml.Line (120, 50)-(220, 100) End Sub

Для создания графического интерфейса программы разместим на форме Form1 две кнопки Стена и Кры¬ша. Тогда после запуска программы на выполнение и щелчков по кнопкам Стена и Крыша будут реализова¬ны соответствующие событийные процедуры и на фор¬ме появится рисунок домика.

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

Выполнение общих процедур не связывается с ка¬кими-либо событиями, они вызываются на выполнение с помощью оператора Call. Каждой общей проце¬дуре дается уникальное название — имя процедуры и устанавливается список входных и выходных пара¬метров процедуры.

Общая процедура представляет собой подпрограм¬му, которая начинает выполняться после ее вызова из другой процедуры.

Список входных параметров — это набор перемен¬ных, значение которых должно быть установлено до начала выполнения процедуры.

Список выходных параметров — это набор перемен¬ных, значение которых устанавливается после оконча¬ния выполнения процедура.

Тогда синтаксис вызова процедуры приобретает вид

Call ИмяПроцедурь1(СписокПараметров) SZ

Чтобы реализовать графический интерфейс, вклю¬чим в проект еще одну форму (Form2). Для рисова¬ния домика целесообразно создать общую процедуру Домик(Х1, Х2, Yl, Y2 As Single), которая .имеет только список входных параметров (координат углов стены). Выходных параметров эта процедура не имеет.

Пусть событийная процедура Рисование Click () обеспечивает рисование трех домиков с различными значениями входных параметров, т. е. три раза вызы¬вает общую процедуру Домик с различными значения¬ми входных параметров.

Тогда связанный с формой (Form2) программный модуль будет включать в себя общую процедуру Домик (XI, Х2, Yl, Y2 As Single) и событийную процедуру Рисование Click ():

Private Sub Домик(Х1, Х2, Yl, Y2 As Single)

Form2.Line (XI, Y1)-(X2, Y2), В

Form2.Line (XI, Y1)-(X2, Yl)'

Form2.Line (X.I, Y1)-((X1 + Х2) / 2, Y1:V 2)

Form2.Line ((XI + Х2) / 2, Yl / 2)-<X2, YD

End Sub

Private Sub Рисование_С11с1^()

Call Домик.<10, .50, 50,. J.00) , . ., /

Call Домик(60, 150, 150, 200)

Call Домик(160, 300, 80, 200)

End Sub

Для построения графического интерфейса програм¬мы разместим на форме Form2 кнопку. Рисование. В этом случае после запуска программы на выполне¬ние и щелчка по кнопке Рисование запустится собы¬тийная процедура Рисование_Click(), в процессе выполнения которой три раза будет вызвана общая процедура Домик с различными значениями параметров и на форме появятся рисунки трех разных домиков.