Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Алгоритмика в теории и практике

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
475 Кб
Скачать

PRINT "значение А="; A значение переменной А выводиться в

 

той же строке, где С и D и с дополните-

 

льным текстовым пояснением

TAB(5):PRINT D

значения D выводятся с 5 позиции строки 13

2. Составьте программу для нахождения площади S круглого зеркала, используемого в телескопе, по формуле S= R2. Радиус зеркала r = 100 дюйм, =3.141595.

Cls:r=100

Pi=3.141595

S=Pi*r^2

Print "площадь зеркала=";S

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

Оператор ввода информации INPUT

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

21

2. Операторы ввода/вывода

продолжать работу и ваша программа. Таким оператором является INPUT.

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

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

INPUT A,B,C на экране появляется знак вопроса

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

INPUT ;A,B,C подавляет вывод знака вопроса

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

INPUT ;"Введите три числа";A,B,C появляется фраза «введите три числа»

Для ввода символьной переменной около имени переменной надо указывать знак $. Например А$, B$, тогда с этими переменными мы не можем производить арифметические действия.

На блок-схеме такой оператор изображается блоком в виде параллелограмма с указанием слова ВВОД

Примеры решения задач по теме

1.В данной задаче запрашиваются значения двух переменных А

èВ. Затем значения печатаются на экране.

CLS: LOCATE10,20 :INPUT "Введите два числа";A,B LOCATE 12 ,20 : PRINT "A=";A

LOCATE 12 ,35 : PRINT "B=";B

Блок-схема такой программы будет выглядеть:

22

2. Введите три числа и выведите их сумму и произведение.

CLS: LOCATE10,20 :INPUT "Введите три числа";A,B,С S= A+B+C

P= A*B*C

LOCATE 12 ,20 : PRINT "сумма чисел =";S LOCATE 12 ,35 : PRINT "произведение чисел =";P

Блок-схема такой программы будет выглядеть:

23

2.Операторы ввода/вывода

3.Вычислите и выведите на экран результат значения функции Y при заданном с клавиатуры значении аргумента Х.

Y x sin x

Решение

Cls

Input "введите значение аргумента", x

Y=-sqr(x-sin(x))

Print "значение функции=";y

2. Составьте блок-схему и программу вычисления для следующей задачи:

Вычислить подоходный налог P% от заработанной платы Zðóá

Решение

Cls

Input "введите сумму зарплаты",z

Input "введите значение подоходного налога в %";p

P=(z*p)/100

Print "подоходный налог=",P

4. Вычислите и выведите значение Y, заданное указанной формулой, введя необходимые исходные данные с клавиатуры.

y

sin2 x x 3

tg 2

a b 3

cos x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin3 (x 2 ) fd

24

Решение:

Cls

Input "введите значения x,a,b,f,d "; x,a,b,f,d

Y1=(sin(x^3))^(2*x):Y2=(tg(abs(a-b^3)))^2

Y3=sqr((sin(x^2))^3*f*d):Y=sqr((Y1+Y2)/Y3)*cos(x)

Print "значения функции=";y

5. Составьте программу для нахождения площади и периметра прямоугольника со сторонами a и b, которые необходимо ввести с клавиатуры.

Решение:

Cls: Input "введите стороны прямоугольника";a,b

P=(a+b)*2:S=a*b

Print "площадь=";S;"периметр=";р

6. Напишите программу вычисления площади треугольника по трем сторонам, пользуясь формулой

S p(p a)(p b)(p c)

ãäå a, b, c — длины сторон треугольника, задаваемые с клавиатуры, а p — полупериметр

p a b ñ

2

Решение:

Cls:Input "введите стороны треугольника", a,b,c p=(a+b+c)/2

S=sqr(p(p-a)(p-b)(p-c))

Print "площадь треугольника=";S

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

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

d (a 3

17,5:b) * (c 3,3b)3

e

bc

 

 

3 d 2 c

 

 

 

(c a d 2 )2

 

ad a 2 c 3

25

2. Операторы ввода/вывода

 

(5d 28,3)3

e (b a 2 )2

w

 

 

 

25,75

eab b a 2

:7

 

 

x a b w 2 : 7 w

9

Решение:

Cls

Locate 10,10

Input "введите значения 3 чисел ";a,b,с d=(a^3-17.5/b)*(c+3.3*b)^3 e=(b*c)/(a*d)-(3-d^2*c)/(a^2*c^2+(c-a-d^2)^2) w=((5*d-28.3)^3-e+(b-a^2)^2)/(e*a*b+b+a^2/7)+25.75 x=a+b+w^2/(7/9)+w

locate 12,10:Print "d=";d locate 12,12:Print "e=";e locate 12,13:Print"w=";w locate 12,14:Print"x=";x end

8. По представленной блок-схеме составьте программу и полу- чить результаты при заданных с клавиатуры значениях исходных данных.

26

Решение:

Cls

Locate 10,10

Input ''введите значения 3 чисел '';a,b,с s=sqr(a+b^2)/(3*c) k=s-sqr(abs(a*b*c))

y=s+k-s/(b*c)

locate 12,10:Print ''y='';y

9. Напишите программу, вычисляющую значение выражения:

a ba 2ab 1 4a

ãäå à — номер компьютера, за которым Вы сидите, b — Ваш порядковый номер по списку в журнале.

Решение:

Cls

Input ''введите порядковый номер вашей машины'';a

Input ''введите ваш номер по списку'';b

S=((a+b*a)/(4*a))-2*a*b+1

Print ''значение выражения='';S

End

10. Напишите программу, которая рисует прямоугольник, при- чем координаты прямоугольника и цвет контура задаются с клавиатуры.

Решение:

Cls

Input ''введите координаты первого угла прямоугольника'';X1,Y1

Input ''введите координаты противоположного угла прямоугольника'';X2,Y2

Input ''введите цвет линии'';С Line (X1,Y1)- (X2,Y2),C,B End

11. Составьте программу, которая вводит с клавиатуры фамилию, размер заработанной платы, премию, подсчитывает размер налога и сумму денег к выдачи. Все исходные и полученные данные выведите в виде следующей таблицы. Для рисования таблицы используйте операторы графики.

27

2. Операторы ввода/вывода

фамилия

зарплата

премия

налог 13%

íà ðóêè

 

 

 

 

 

Pешение:

CLS : SCREEN 9

INPUT ''Введите фамилию''; F$

INPUT ''Введите размер заработанной платы''; Z INPUT ''Введите размер премии''; P

NAL = (Z + P) *0 .13

RUK = Z + P - NAL

LOCATE 10, 5: PRINT ''ФАМИЛИЯ'': LOCATE 10, 16: PRINT ''ЗАРПЛАТА''

LOCATE 10, 30: PRINT ''ПРЕМИЯ'': LOCATE 10, 45: PRINT ''НАЛОГ''

LOCATE 10, 55: PRINT ''ÍÀ ÐÓÊÈ'': LOCATE 14, 2: PRINT F$ LOCATE 14, 17: PRINT Z: LOCATE 14, 30: PRINT P

LOCATE 14, 45: PRINT NAL: LOCATE 14, 55: PRINT RUK LINE (5, 100)-(550, 220), , B

LINE (10, 170)-(550, 170): LINE (110, 100)-(110, 220) LINE (220, 100)-(220, 220): LINE (330, 100)-(330, 220) LINE (420, 100)-(420, 220)

28

3. Операторы условного перехода

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

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

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

IF условие THEN îïåð ELSE опер (или метка перехода)

Метка — это числовое значение, стоящее перед строкой, которой надо передать управление.

Работа условного перехода заключается в том, что если условие выполняется, то выполняются операторы стоящие после слова THEN. Если условие неверно, то выполняются операторы, стоящие после слова ELSE и, если они не содержат перехода на ка- кую-либо строку, то после выполнения данных операторов работа программы продолжается со следующей строки.

Условие всегда содержит знак сравнения. Эти знаки записываются следующим образом:

<= меньше или равно,

< меньше,

>= больше или равно,

>больше,

<> не равно,

= равно.

Неполная форма записи оператора

IF óñë THEN îïåð (или метка перехода)

В неполной форме может быть опущен оператор ELSE, тогда при невыполнении условия управление передается следующему оператору, стоящему за оператором условного перехода.

На блок-схеме этот оператор обозначается фигурой, которая называется ромб, и имеет два выхода. Один когда поставленное условие выполняется, другой, когда нет.

29

3. Операторы условного перехода

Условия могут быть простые и сложные, которые состоят из двух или более простых условий. Если надо чтобы выполнялись одновременно все условия они соединяются союзами AND, когда должно выполняться хотя бы одно из перечисленных условий — союзом OR.

Разберем следующие примеры:

1. Составьте программу, которая вводит два числа и выводит наибольшее из них.

CLS INPUT A,B

IF A> B THEN PRINT ''Наибольшее из чисел А''; A ELSE PRINT ''Наибольшее из чисел В''; B

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

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]