НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

Конспект главы 7

Для того чтобы ЭВМ "поняла" алгоритм решения задачи и выполнила его, нужно записать этот алгоритм на специальном языке. Такие языки называют языками программирования, или алгоритмическими языками. Они являются одним из основных средств общения человека и компьютера.

В настоящее время существуют сотни различных языков программирования. Один из наиболее распространенных - язык программирования Бейсик.

Любой алгоритм состоит из допустимых действий, организованных с помощью алгоритмических конструкций - ветвлений, циклов, вспомогательных алгоритмов. Поэтому для того чтобы изучить язык программирования, надо узнать, как в нем называются те или иные допустимые действия и как оформляются алгоритмические конструкции.

Вот основные правила записи программ на Бейсике: в начале каждой строки программы ставится номер; при записи программы можно несколько команд записывать в одной строке, разделяя их двоеточием.

Действию "Присвоить X значение F" соответствует команда

LET X=F.

В большинстве "диалектов" Бейсика слово LET можно опускать.

Переменную в Бейсике можно обозначать не только буквой, но и буквой с цифрой или двумя буквами.

Вот пример программы, содержащей команды присваивания:


11 Al = 2 : B1 = A1/7 - 2 
36 С = (А1 + В1)∗А1^2

Список основных функций и их обозначений в Бейсике см. в § 20. Действию "Запросить A, В" на языке Бейсик соответствует команда

INPUT A, B

Если же ввести в ЭВМ строку

INPUT "ВВЕДИТЕ ТРИ ЧИСЛА"; А, В, С

то на экране сначала появится надпись ВВЕДИТЕ ТРИ ЧИСЛА?, после чего ЭВМ будет ждать ввода трех чисел.

Действию "Сообщить" на Бейсике соответствует команда

PRINT...

Вместо многоточия после слова PRINT может стоять текст, заключенный в кавычки, а также переменные или выражения. Например, по команде

PRINT "КОРНИ УРАВНЕНИЯ" X1, Х2

сначала на экране дисплея появится сообщение КОРНИ УРАВНЕНИЯ, а затем - значения переменных X1 и Х2.

 Команды STOP и END - для остановки выполнения программы. 
 По команде 
 GOTO...

где вместо многоточия ставится номер строки программы, ЭВМ перейдет к выполнению указанной строки.

Ветвление в неполной форме записывается на языке Бейсик так (здесь Q - условие, а номера команд взяты произвольно):

10 IF Q THEN ВЕТВЬ ВЕТВЛЕНИЯ

или так

 120 IF NOT (Q) THEN GOTO 150 
 121 ветвь ветвления 
 150 ...

Например, алгоритм нахождения максимума из двух чисел:

 Запросить A, В. 
 Присвоить М значение A. 
 Если М<В, то: 
 Присвоить М значение В. 
 Конец ветвления. 
 Сообщить М.

на языке Бейсик можно записать любым из двух способов:

10 INPUT А,В                        
20 М = А                               
30 IF M<B THEN M=B            
40 PRINT И                           
50 END
10 INPUT А,В
20 М = А
30 IF N0T(M<B)  THEN 50
40 M = B
50 PRINT M
60 END

Ветвление в полной форме записывается так:

 IF Q THEN первая ветвь ELSE вторая ветвь

или так:

 530 IF Q THEN 601 
 531 первая ветвь 
 600 GOTO 700 
 601 вторая ветвь 
 700 ...

В языке Бейсик цикл "Пока" в зависимости от реализации на ЭВМ оформляется одним из двух способов:

 100 WHILE <условие> 
 110 тело цикла 
 200 WEND 
 210 ... 
 100 IF NOT <условие> THEN 210 
 110 тело цикла 
 200 GOTO 10 
 210 ...

Цикл "Для каждого" "со счетчиком" I оформляется так:

100 FOR I = L TO R 
 110 тело цикла 
 120 NEXT I

где L - нижняя, a R - верхняя граница изменения I.

Вот, например, три возможные записи программы нахождения

квадратов целых чисел от 10 до 100:

 10 1=1 
 20 WHILE I<=100 
 30 PRINT I^2 
 40 I = I + 1 
 50 WEND 
 60 END
 10 I = 1 
 20 IF NO0T(I< = 100) THEN 60 
 30 PRINT I^2 
 40 I = I + 1 
 50 GOTO 20 
 60 END
 10 FOR I = 1 ТО 100 
 20 PRINT I^2 
 30 NEXT I 
 40 END

При оформлении подпрограмм в Бейсике заголовки и комментарии записываются в начале подпрограммы в строке комментариев, начинающейся со слова REM. Например:

1000 REM "НАЗВАНИЕ". АРГУМЕНТЫ X, Y; РЕЗУЛЬТАТЫ С, D

В конце подпрограммы надо ставить команду RETURN. Нумеруя строки программы, надо располагать подпрограммы после текста основной программы.

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

Вот, например, программа нахождения минимума из трех чисел:

10 INPUT А, В, С
20 X = A : Y = B : GOSUB 100
30 X = M : Y = C : GOSUB 100
40 PRINT M
50 STOP
100 REM Поиск минимума ив двух чисел. Аргументы х, у?
результат М 
110 IF X>Y THEN M = Y ELSE M = X
120 RETURN

В языке Бейсик можно использовать и другой вид подпрограмм - так называемые подпрограммы-функции, предназначенные для расширения списка основных функций Бейсика. Команда для задания новой функции выглядит так:

 DEF FNG (X)=U.

Здесь U - выражение, X - один или несколько аргументов функции.

Например, команда

DEF FNY (А, В, C)=COS (A + LOG (B)/(COS (C) + l))

задает новую функцию FNY от трех аргументов.

После задания функций их можно использовать в записи выражений наряду с основными функциями. Например:

PRINT SIN (FNY (2, 3, Х + ЕХР (Y)) - 2)

В программах на языке Бейсик можно пользоваться прямоугольными и линейными таблицами. По команде

 DIM ...

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

 10 DIM А (5,6)

или

 23 DIM В (23)

Одной командой DIM можно описывать несколько таблиц:

 10 DIM А (100), В (10, 30), С1 (25)

Вот, например, программа вычисления максимального элемента линейной таблицы, состоящей из 55 чисел:

10 DIM A(55)
20 REM ВВОДИМ ЭЛЕМЕНТЫ ТАБЛИЦЫ А
40 FOR I = 1 TO 55
50 INPUT A(I)
60 NEXT I
70 REM БУКВОЙ М БУДЕТ ОБОЗНАЧЕН МАКСИМУМ
80 M = А(1)
90 FOR I = 2 TO 55 
100 IF M<A(I)   THEN M = A(I) 
110 NEXT I
120 PRINT"MAKCИMAЛЬНЫЙ ЭЛЕМЕНТ - "M

С помощью языка Бейсик можно составлять программы для решения разнообразных жизненных задач. Многие такие задачи сводятся к решению уравнений. Один из основных методов решения уравнений на ЭВМ - метод деления пополам. Он состоит в том, что отрезок, на котором находится корень, делят пополам и выбирают половинку, содержащую корень. Эту половинку снова делят пополам и так далее. В результате корень можно найти с любой точностью.

Однако не всегда можно записать связи аргументов и результатов в виде одного или нескольких уравнений. Часто при изучении "поведения" сложного объекта нас интересует, как меняется его состояние с течением времени. В этом случае результатом служит последовательность чисел, отражающих состояние объекта в определенные моменты времени (см., например, "экологическую" задачу из § 11 и "биологическую" задачу из § 23). Обычно каждое последующее число в этой последовательности определяется одним или несколькими предыдущими членами этой последовательности. Чтобы проследить за развитием процесса, достаточно задать ЭВМ начало последовательности и поручить ей вычисление остальных чисел одного за другим. Изменяя начальные значения, можно изучить различные варианты протекания процесса.

Еще один большой и важный класс задач, решаемых с помощью ЭВМ, составляют задачи по обработке статистических данных (имеются в виду данные, полученные в результате наблюдений, подверженных влиянию различных случайных факторов). Во многих случаях такие задачи сводятся к выяснению того, похожи ли две совокупности результатов наблюдений. Для этого бывает достаточно вычислить и сравнить две пары чисел - средние значения и дисперсии этих совокупностей. Средним значением последовательности а1, ..., аn называется число


Дисперсия этой же последовательности находится так:


Эти два числа хорошо отражают индивидуальные особенности последовательности результатов наблюдений.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь