B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры...

45
Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования «Тихоокеанский государственный университет» ИНФОРМАТИКА Методические указания и задания к выполнению контрольной работы № 1 для студентов заочного факультета Хабаровск Издательство ТОГУ 2010

Transcript of B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры...

Page 1: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

Федеральное агентство по образованию

Государственное образовательное учреждение

высшего профессионального образования

«Тихоокеанский государственный университет»

ИНФОРМАТИКА

Методические указания и задания

к выполнению контрольной работы № 1

для студентов заочного факультета

Хабаровск

Издательство ТОГУ

2010

Page 2: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

4

УДК

Информатика : методические указания и задания к выполнению контроль-

ной работы № 1 для студентов заочного факультета / сост. Н. Д. Белова,

Н. И. Шадрина. – Хабаровск : Изд-во Тихоокеан. гос. ун-та, 2010.–

45 с.

Методические указания составлены на кафедре прикладной математики и

информатики.

В них представлены программа раздела, основные сведения, перечень ре-

комендуемой литературы и задания к контрольной работе для изучения студен-

тами основ алгоритмизации и программирования на языке программирования

Basic.

Печатается в соответствии с решениями кафедры прикладной математики

и информатики и методического совета факультета математического моделиро-

вания и процессов управления.

Главный редактор Л. А. Суевалова

Редактор Н. Г. Петряева

Компьютерная верстка Н. Д. Беловой

Подписано в печать 14.10.10. Формат 60 х 84 1/16.

Бумага писчая. Гарнитура «Таймс». Печать цифровая.

Усл. печ. л. 2,61 Тираж 490 экз. Заказ 1,98

Издательство Тихоокеанского государственного университета.

680035, Хабаровск, ул. Тихоокеанская, 136.

Отдел оперативной полиграфии издательства

Тихоокеанского государственного университета.

680035, Хабаровск, ул. Тихоокеанская, 136.

© Тихоокеанский

государственный

университет, 2010

Page 3: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

3

Общие положения

В соответствии с учебным планом для студентов технических специаль-

ностей заочного факультета изучение курса «Информатики» предполагает вы-

полнение контрольной работы по теме «Алгоритмизация и программирование».

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

работы по данной теме. Цель контрольной работы – получение практических

навыков алгоритмизации и программирования.

Контрольная работа содержит пять заданий. Номер варианта определяет-

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

контрольной работы для каждого задания необходимо подобрать контрольный

пример, начертить блок-схему, написать программу. При выполнении работы

допускается оформление от руки без использования компьютера.

Программа раздела информатики «Основы алгоритмизации

и программирования»

Тема 1. Основы алгоритмизации

Понятие алгоритма. Основные свойства алгоритмов. Способы описания

алгоритмов. Правила построения алгоритмов. Алгоритмизация линейных, раз-

ветвляющихся, циклических процессов.

Тема 2. Программирование на алгоритмическом языке Basic.

Алфавит языка. Простейшие конструкции языка. Понятие константы, пе-

ременной, функции. Правила записи выражений. Структура программы. Ос-

новные операторы языка Basic. Понятие массива. Операторы для работы с мас-

сивами.

Основные сведения

Понятие алгоритма

Алгоритмом называется точный порядок действий, определяющий про-

цесс перехода от исходных данных к искомому результату.

Порядок действий считается алгоритмом в том случае, если он обладает

следующими свойствами.

Page 4: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

4

Определенность. Алгоритм должен быть однозначным, исключающим

произвольное толкование правил и порядка их выполнения.

Результативность. Алгоритм должен приводить к решению задачи за

конечное число шагов.

Массовость. Алгоритм разрабатывается в общем виде так, чтобы его

можно было применять для класса задач, различающихся только исходными

данными.

Существуют разные способы описания алгоритмов – словесный, графиче-

ский, операторный (программа на алгоритмическом языке).

Графический способ описания алгоритма иначе называют блок-схемой. В

блок-схемах используются графические символы (блоки), предписывающие

выполнение определенных операций и связи между ними.

В табл. 1 приведены наиболее часто употребляемые блоки.

Таблица 1

Название блока Обозначение бло-

ка

Выполняемая функ-

ция

Начало/Конец Начало/Конец

алгоритма

Вычисление Вычисляемые

действия

Условие

Проверка

условия

Ввод/Вывод Ввод/Вывод

данных

Модификация

Циклический

процесс

Простейшие конструкции языка Basic

К простейшим конструкциям языка Basic относятся константы, перемен-

ные, функции, выражения.

Page 5: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

5

Для записи простейших конструкций и операторов используются:

буквы латинского алфавита от A до Z (строчные и прописные);

арабские цифры от 0 до 9;

специальные знаки: + - * / : . , ; : “ ? = % < > / # ! $ &

Буквы русского алфавита используются только для записи текстовых

констант и комментариев к программе.

Константы. В Basic используются константы целые, вещественные,

строковые.

Целые константы – это последовательность цифр, перед которой может

стоять знак + или - Например, -567, +29, 29.

Вещественные константы – это число, имеющее целую и дробную ча-

сти. Допускаются основная и экспоненциальная формы записи вещественных

констант.

В основной форме записи с фиксированной точкой целая часть числа от-

деляется от дробной десятичной точкой, например, -1.012, 3.14159.

В экспоненциальной форме записи с плавающей точкой число записыва-

ется в виде mEp, где m – мантисса (число в основной форме), Е – основание 10,

р – порядок числа (целая константа, содержащая не более двух цифр), напри-

мер, 2.4Е-05, -2,9Е+07.

Чтобы перейти от экспоненциальной формы к основной, нужно m (ман-

тиссу) умножить на 10 в степени р (порядок).

Например, 2.4Е-5 = 2.4·10-5

= 0.000024, -2.9Е+07 = -2.9·107 = -29000000

Строковые константы – это набор любых символов длиной, не превы-

шающей 255 символов. Строковая константа заключается в двойные кавычки.

Например, “Аргумент”, “Группа - 123”

Переменные. Переменные – это величины, значения которых изменяются

в процессе выполнения программы. Имя переменной представляется комбина-

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

SUM, a, B12, Max.

Page 6: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

6

Различают простые переменные и переменные с индексом. Простая пере-

менная определяется только именем. Переменная с индексом является элемен-

том массива, определяется именем и индексами, которые задают местоположе-

ние элемента в массиве. Индексы записываются в скобках через запятую после

имени переменной. Например, Х(10), А(5,6).

Тип переменной может быть задан явно. В этом случае к имени перемен-

ной добавляется символ типа:

% – целый тип;

! – вещественный тип;

$ – строковый тип.

Например:

Z%, D%, A% – переменные целого типа;

S!, P!, B! – переменные вещественного типа;

F$, S$, G$ – переменные строкового типа.

Если символ типа отсутствует, то переменная по умолчанию считается

вещественной.

Функции. При программировании часто бывает необходимо вычислить

значение функции (например, логарифм числа, корень квадратный и т.п.). Вы-

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

запрограммированы. Для обращения к подпрограмме (вычисления значения

функции) необходимо указать имя функции и в круглых скобках аргумент.

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

Таблица 2

Название функции

Математическое

обозначение

функции

Запись функции

на языке Basic Примечание

Синус sin(x) SIN(X) Х – в радианах

Косинус cos(x) COS(X) Х – в радианах

Тангенс tg(x) TAN(X) Х – в радианах

Арктангенс arctg(x) ATN(X) Вычисляется зна-

чение в интервале

(-/2; +/2)

Page 7: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

7

Окончание таблицы 2

Название функции

Математическое

обозначение

функции

Запись функ-

ции на языке

Basic

Примечание

Логарифм натураль-

ный ln(x) LOG(X)

X > 0

Показательная ex EXP(X)

Корень квадратный х SQR(X) Х 0

Абсолютное значе-

ние х ABS(X)

Целочисленная

функция х INT(X)

Наибольшее целое, не

превосходящее Х

Отбрасывание дроб-

ной части

FIX(X)

Отбрасывает дроб-

ную часть

Вычисление остатка

a MOD b

Возвращает целый

остаток от деления a

на b

Генерирование слу-

чайного числа в ин-

тервале от 0 до 1

RND[(X)]

Аргумент может быть

опущен

Примечание. Аргумент тригонометрической функции задается в радиа-

нах. Для перевода значения, заданного в градусах используется формула

знач. в рад. = знач. в град.·π/180

Выражения. Различают выражения арифметические, логические, строко-

вые.

Арифметическое выражение – это выражение, записанное с помощью

констант, переменных, функций, знаков арифметических операций и круглых

скобок. Результатом вычисления арифметического выражения является число-

вая константа. Перечислим арифметические операции:

+ – сложение;

- – вычитание

* – умножение;

/ – деление;

\ – целочисленное деление

^ – возведение в степень.

Page 8: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

8

Порядок выполнения операций задается установленным приоритетом:

вычисление функций; возведение в степень; умножение и деление; сложение и

вычитание. Операции одного приоритета (умножение и деление; сложение и

вычитание) выполняются слева направо в порядке следования. Для задания

нужной последовательности выполнения операций используются круглые

скобки.

Примеры записи арифметических выражений приведены в табл. 3.

Таблица 3

Математическая запись Запись на языке Basic

c2

ab a*b/(2*c)

3sin2x3 3*SIN(X^3)^2

53

3 2

31x

cxay3tg

5xlne2

(EXP(-X^2+1)+LOG(ABS(X^3-5)))/

(TAN(SQR(3*Y))+(A^2-X)^(1/3))+C^(3/5)

Логическое выражение служит для установления отношения между дву-

мя числовыми или строковыми значениями. Результатом вычисления логиче-

ского выражения является значение «истина» (И) или «ложь» (Л). Для записи

логического выражения могут использоваться операции отношения и логиче-

ские операции.

Операции отношения:

= – равно;

<> – не равно;

< – меньше;

> – больше;

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

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

Логические операции:

NOT – отрицание;

AND – логическое умножение

(логическое И);

OR – логическое сложение (ло-

гическое ИЛИ);

EQV – эквивалентность;

Порядок выполнения операций задается установленным приоритетом

операций: операции отношения (выполняются слева направо в порядке следо-

Page 9: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

9

вания), NOT, AND, OR, EQV. Для задания нужной последовательности выпол-

нения операций используются круглые скобки.

Значения истинности логических операций приведены в табл. 4.

Таблица 4

А В NOT А А AND В А OR В А EQV В

И И Л И И И

И Л Л Л И Л

Л И И Л И Л

Л Л И Л Л И

Примеры записи логических выражений приведены в табл. 5.

Таблица 5

Математическая запись Запись на языке Basic

a b a >= b

-5 < x 4 x > -5 AND x <= 4

x -3 или x > 7 x <= -3 OR x > 7

Строковое выражение состоит из строковых констант, строковых пере-

менных и строковых функций. Результатом вычисления строкового выражения

является строка символов.

Основные операторы языка Basic

Структура программы

Программа представляет собой последовательность операторных строк.

Операторная строка содержит один или несколько операторов. Между операто-

рами одной строки ставится разделительный знак «:» (двоеточие). Операторная

строка может иметь номер, который служит меткой операторной строки и ис-

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

жет заканчиваться любым оператором. При явном указании на конец вычисле-

ний последним оператором программы должен быть оператор END.

В программе различают выполняемые и невыполняемые операторы.

Page 10: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

10

Выполняемые операторы реализуют действия, предусмотренные алго-

ритмом решения задачи. Невыполняемые операторы описывают свойства дан-

ных, комментируют текст программы. Невыполняемые операторы могут распо-

лагаться в любом месте программы до оператора END.

При описании операторов в квадратных скобках [ ] будем записывать не-

обязательные параметры, а в фигурных { } – альтернативные параметры.

Оператор - комментарий

Оператор – комментарий предназначен для пояснений к программе.

Формат оператора:

REM текст

где REM – ключевое слово;

текст – текст комментария, который может включать набор любых сим-

волов.

Ключевое слово REM можно заменить символом «’» (апостроф). Опера-

тор – комментарий должен быть единственным в операторной строке, либо по-

следним.

Например:

REM Задание 1

’ Описание массивов в программе

Оператор присваивания

Оператор присваивания служит для вычисления значения выражения и

присваивания этого значения переменной.

Формат оператора:

f = a

где f – имя переменной; а – выражение.

При записи оператора необходимо, чтобы имя переменной и выражение

были одного типа, например, оба числовые или оба строковые.

Например:

Y = 2.236

Page 11: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

11

Z= COS(2*X^3) – EXP(–X+3)

F$ = ”Фамилия”

Операторы ввода

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

Ввод значений переменных можно осуществить двумя способами: из

блока данных и в диалоговом режиме.

Для ввода данных из блока данных используется операторы READ и DA-

TA.

Формат операторов:

READ список переменных

DATA список констант

где READ, DATA ключевые слова;

список переменных – имена переменных, перечисляемые через запятую;

список констант – числовые или строковые константы, перечисляемые

через запятую. Строковая константа заключается в кавычки, если она начинает-

ся со значащих пробелов или заканчивается ими, а так же если содержит запя-

тые или двоеточия.

Операторы READ и DATA не обязательно должны быть парными.

Например, двум операторам READ может соответствовать один оператор DA-

TA и наоборот.

Перед выполнением программы просматриваются все операторы DATA в

порядке следования в программе и формируется единый блок данных. Если в

программе встречается оператор READ, то считывается текущее значение кон-

стант из блока данных в переменную и запоминается положение последнего

считанного данного с помощью указателя позиции. Следующий оператор

READ начинает выбирать данные с той позиции, которая была отмечена указа-

телем позиции. Количество переменных в операторе READ должно быть не

больше количества констант в операторе DATA. Неиспользованные константы

Page 12: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

12

из блока данных игнорируются. Но если блок данных исчерпан, то при попытке

продолжить чтение выдается сообщение об ошибке.

Можно возвратить указатель позиции в начало блока данных с помощью

оператора RESTORE. Первый оператор READ, следующий за оператором

RESTORE будет считывать первое значение из блока данных.

Оператор DATA относится к невыполняемым операторам.

Например:

DATA –3.2, 12.3, 125

DATA Аргумент, 3.14

READ А, В, С, F$, P

После выполнения приведенных операторов переменные получат значе-

ния:

А = -3.2 В = 12.3 С = 125 F$= “Аргумент” P = 3.14

DATA 41, -12, 5, 32

READ А, В, С

RESTORE

READ X, Y, Z, F

После выполнения приведенных операторов переменные примут значе-

ния:

А = 41 В = -12 С = 5 X = 41 Y = -12 Z = 5 F = 32

При диалоговом режиме ввода данные вводятся с клавиатуры непосред-

ственно при выполнении программы.

Формат оператора:

INPUT [“Сообщение”] {,|;} список переменных

где INPUT ключевое слово;

Сообщение – строковая константа. Сообщение используется в качестве

подсказки о том, какие данные и в каком порядке следует ввести пользователю

с клавиатуры.

список переменных – имена переменных, перечисленных через запятую,

значения которых предполагается вводить с клавиатуры.

Page 13: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

13

При выполнении оператора INPUT на экран выводится сообщение или

знак “?” (при отсутствии сообщения в операторе) и выполнение программы

приостанавливается. Пользователь должен с клавиатуры ввести через запятую

значения переменных, указанных в списке переменных. При вводе значений

строковая константа заключается в кавычки, если она начинается со значащих

пробелов или заканчивается ими, а также, если содержит запятые или двоето-

чия.

Если сообщение отделяется от списка переменных точкой с запятой, то на

экран выводится знак “?”, если – запятой, то знак “?” не выводится на экран.

Например:

INPUT ”Введите значения X, Y, Z”, Х, Y, Z

После выполнения этого оператора на экране появится сообщение:

Введите значения X, Y, Z

и выполнение программы приостанавливается. Пользователь с клавиатуры

должен ввести значения X, Y, Z через запятую. После окончания ввода нажать

клавишу Enter.

Оператор вывода

Оператор вывода служит для вывода значений на экран монитора.

Формат оператора:

PRINT список вывода

где PRINT – ключевое слово;

список вывода – константы, переменные, выражения, функции.

Вывод данных можно организовать в двух форматах – зонном и компакт-

ном. При зонном формате каждое значение выводится в своей зоне. Каждая

строка содержит 5 зон по 14 позиций каждая. Для вывода данных в зонном

формате элементы списка отделяются друг от друга запятой. При выводе дан-

ных в компактном формате элементы списка отделяются друг от друга точкой с

запятой, при этом числовые значения выводятся через пробел, а текстовые раз-

Page 14: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

14

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

первая позиция отводится под знак числа.

Например:

Х = 10.3 : Y= - 2.6

PRINT ” При Х= ”; Х, “Y=”;Y

PRINT ” Х + Y = ”; Х +Y

PRINT ” Х - Y = ”, Х -Y

PRINT ” Х*Y = ”; Х * Y

После выполнения выше приведенных операторов на экране будет выве-

дено:

При Х= 10.3 Y=-2.6

Х + Y = 7.7

Х - Y = 12.9

Х*Y =-26.78

Если в конце списка вывода оператора PRINT стоит запятая или точка с

запятой, то следующий оператор PRINT выводит данные в той же строке, что и

предыдущий.

Например:

G=1858: D$=”Год рождения - ”

PRINT D$;

PRINT G

После выполнения выше приведенных операторов на экране будет выве-

дено:

Год рождения - 1858

Оператор безусловного перехода

Оператор безусловного перехода используется для перехода к указанной

операторной строке.

Формат оператора:

GOTO nc

где GOTO – ключевое слово;

Page 15: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

15

nc – метка операторной строки, на которую осуществляется переход.

Оператор GOTO должен быть единственным в операторной строке, либо

последним.

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

Оператор условного перехода изменяет последовательность выполнения

операторов в зависимости от значения проверяемого условия.

Формат оператора:

IF условие THEN оператор [ELSE оператор]

где IF, THEN, ELSE – ключевые слова;

условие – логическое выражение;

оператор – один или группа операторов, разделенных символом «:» (двое-

точие)

Данный оператор работает следующим образом. Если логическое выра-

жение принимает значение «истина», то выполняется оператор, следующий за

THEN, затем управление передается следующей операторной строке. Если ло-

гическое выражение принимает значение «ложь», то выполняется оператор,

следующий за оператором ELSE. Если в операторе IF опущена ветвь ELSE, то

при значении логического выражения «ложь» управление передается следую-

щей операторной строке.

Рассмотренный оператор условного перехода называется линейным. Сле-

дует заметить, что приведенный формат линейного оператора условного пере-

хода не является единственным.

Рассмотрим еще одну форму оператора условного перехода – блочный

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

Формат оператора:

IF условие_1 THEN

оператор_1

ELSEIF условие_2 THEN

оператор_2

ELSEIF условие_n-1 THEN

Page 16: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

16

оператор_n-1

ELSE

оператор_n

END IF

Данный оператор работает следующим образом. Проверяется условие_1,

если условие_1принимает значение «истина», то выполняется оператор_1 и

управление передается оператору, следующему за оператором END IF. Если

условие_1принимает значение «ложь», то проверяется условие _2 и если оно

принимает значение «истина», то выполняется оператор_2 и управление пере-

дается оператору, следующему за оператором END IF и т.д. Если в операторе

все условия принимают значение «ложь», то выполняется оператор_n и управ-

ление передается оператору, следующему за оператором END IF.

Пример:

Составить программу вычисления Y.

Y=

14.3,ln

14.30,cos

0,sin

хприx

xприx

xприx

Программа, использующая линейную форму условного оператора:

INPUT "Введите значение х ", x

IF x <= 0 THEN Y = SIN(x): GOTO 10

IF x >= 3.14 THEN Y = LOG(x) ELSE Y = COS(x)

10 PRINT "При х="; x; " Y="; Y

END

Программа, использующая блочную форму условного оператора:

INPUT "Введите значение х ", x

IF x <= 0 THEN

Y = SIN(x)

ELSEIF x >= 3.14 THEN

Y = LOG(x)

ELSE

Y = COS(x)

END IF

PRINT "При х="; x; " Y="; Y

END

Page 17: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

17

Операторы цикла

Для решения задач иногда бывает необходимо многократно выполнить

вычисления по одним и тем же зависимостям при различных значениях входя-

щих в них параметров. Такой вычислительный процесс называется цикличе-

ским, а многократно повторяющиеся участки этого процесса – циклами.

Для реализации циклического процесса можно использовать операторы

присваивания, безусловного перехода, условного перехода, но есть и специаль-

ные операторы.

Операторы цикла WHILE … WEND

Формат операторов:

WHILE условие

операторы рабочей части цикла

WEND

где WHILE,WEND - ключевые слова;

условие – логическое выражение;

операторы рабочей части цикла – многократно повторяющиеся зависимо-

сти.

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

если оно принимает значение «истина», то выполняются операторы рабочей ча-

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

части цикла выполняются до тех пор пока условие принимает значение «исти-

на». Если условие принимает значение «ложь», то управление передается опе-

ратору, следующему за оператором WEND.

Пример:

Составить программу для вычисления наибольшего целого положитель-

ного числа n, удовлетворяющего условию 3n3 – 690 n ≤ 7

REM Вычисление наибольшего целого числа

n = 1

WHILE 3 * n ^ 3 - 690 * n <= 7

n = n + 1

WEND

Page 18: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

18

PRINT "Наибольшее целое n ="; n - 1

END

Операторы цикла FOR…NEXT

Формат операторов:

FOR i=in TO ik [STEP h]

операторы рабочей части цикла

NEXT

где FOR, NEXT ключевые слова;

i – переменная (параметр)цикла;

in, ik – начальное и конечное значение переменной цикла i;

h – шаг изменения переменной цикла; если h = 1, то его в операторе мож-

но не указывать.

операторы рабочей части цикла – многократно повторяющиеся зависимо-

сти.

Данный оператор работает следующим образом.

1) вычисляются in, ik, h;

2) параметру цикла i присваивается начальное значение in;

3) если h > 0 и i ≤ ik или h < 0 и i ≥ ik, то выполняются операторы рабочей

части цикла;

4) параметр цикла i изменяется на величину шага и повторяется пункт 3;

5) если в пункте 3 указанные условия не выполняются, то осуществляется

выход из цикла и управление передается операторной строке, следую-

щей за оператором NEXT.

Пример:

Вычислить, не выполняя в среде Basic, какое значение примет переменная

F после выполнения программы:

10 F = 1

20 FOR i = 1 TO 7 STEP 2

30 F = F*i

40 NEXT i

50 PRINT F

60 END

Page 19: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

19

Для удобства пояснений к выполняемым действиям операторы в про-

грамме пронумерованы. Запишем последовательность вычислений, производи-

мых программой (в пояснениях номер соответствует выполняемой операторной

строке).

10 F = 1

20 i = 1, 1 ≤ 7

30 F = 1*1 = 1

40 переход к операторной строке 20

20 i = 1+2 = 3, 3 ≤ 7

30 F = 1*3 = 3

40 переход к операторной строке 20

20 i = 3+2 = 5, 5 ≤ 7

30 F = 3*5 = 15

40 переход к операторной строке 20

20 i = 5+2 = 7, 7 ≤ 7

30 F = 15*7 = 105

40 переход к операторной строке 20

20 i = 7+2 = 9, 9 > 7

50 F = 105

60 конец

Таким образом, после выполнения программы F = 105.

Пример:

Составить программу для вычисления и печати таблицы умножения на

12. REM Таблица умножения

FOR i = 1 TO 12

p = i * 12

PRINT i; "*12 ="; p

NEXT i

END

Операторы работы с массивами

Понятие массива

Массивом называется упорядоченная последовательность величин одного

типа. Массив характеризуется именем, размером и размерностью.

Имена массивов образуются по тем же правилам, что и имена простых

переменных. Размер массива определяет число элементов в массиве. Размер-

ность массива – это число индексов, определяющих местоположение элементов

Page 20: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

20

в массиве. Индексы записываются после имени массива в скобках через запя-

тую.

Если размерность массива равна единице, то такой массив называют од-

номерным, если двум – двумерным.

Примером одномерного массива является вектор а (а1, а2, …, аn). На языке

Basic данный вектор (одномерный массив) записывается в виде А(1),

А(2),…,A(n).

Примером двумерного массива может служить матрица

А

nm2n1n

m22221

m11211

a...aa

....

a...aa

a...аа

,

каждый элемент которой имеет два индекса – номер строки и номер столбца.

На языке Basic элементы данного двумерного массива (матрицы) записываются

в виде А(1,1), А(1,2), …, А(n,m).

Оператор описания массивов

Оператор описания массивов служит для резервирования места в памяти

компьютера для элементов массивов.

Формат оператора:

DIM список массивов

где DIM - ключевое слово;

список массивов – имена массивов с указанием верхних границ каждого

индекса (нижние границы равны нулю).

Например:

DIM A(20), X(3,4), F$(10)

В приведенном примере оператор резервирует место в памяти для одно-

мерного массива А, состоящего из 21 элемента А(0), А(1), А(2), …, А(20), для

двумерного массива Х, содержащего 4 строки и 5 столбцов (включая нулевые)

Page 21: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

21

Х(0,0), Х(0,1), …, Х(3,4) и для строкового массива F$, содержащего 11 элемен-

тов F$(0), F$(1), …, F$(10).

После описания массивов начальные значения для всех числовых масси-

вов равны нулю, а для строковых – пустой строке.

Ввод и вывод элементов массивов

Для ввода и вывода элементов массива используются обычные операторы

ввода и вывода INPUT, READ, DATA, PRINT.

Как правило, ввод и вывод массивов осуществляется с помощью операто-

ра цикла FOR … NEXT. Операторы ввода или вывода помещаются внутри цик-

лического участка, и при каждом выполнении цикла производится ввод или вы-

вод одного значения элемента массива.

Рассмотрим ввод и вывод массива на примерах.

Пример 1. Заданы элементы одномерного массива А(-3, 6, 7, -3, 4, -5,

0, -2, 1, 12 , -9, 9).

1. Записать операторы ввода элементов одномерного массива А, исполь-

зуя оператор INPUT.

DIM A(12)

PRINT ”Введите элементы массива А”

FOR i= 1 TO 12

INPUT A(i)

NEXT i

END

В данном примере при выполнении программы элементы массива вводят-

ся с клавиатуры.

2. Записать операторы ввода элементов одномерного массива А, исполь-

зуя операторы READ, DATA,

DIM A(12)

DATA -3, 6, 7, -3, 4, -5, 0, -2, 1, 12, -9, 9

FOR i= 1 TO 12

READ A(i)

Page 22: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

22

NEXT i

END

В данном примере при выполнении программы элементы массива вводят-

ся из блока данных.

3. Записать операторы вывода элементов одномерного массива А в строч-

ку.

FOR i= 1 TO 12

PRINT A(i);

NEXT i

END

В данном примере после выполнении операторов элементы массива будут

выведены на экран в строку, т.к. в конце списка вывода оператора PRINT стоит

точка с запятой (;)

4. Записать операторы вывода элементов одномерного массива А в стол-

бец.

FOR i= 1 TO 12

PRINT A(i)

NEXT i

END

В данном примере после выполнении операторов элементы массива будут

выведены на экран в столбец.

Пример 2. Заданы элементы одномерного массива B(n) (B(1), B(2), …,

B(n)). Записать операторы ввода и вывода данного массива.

INPUT ”Введите размер массива n”; n

DIM B(n)

PRINT ”Введите элементы массива B”

FOR i= 1 TO n

INPUT B(i)

NEXT i

Page 23: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

23

FOR i= 1 TO n

PRINT B(i);

NEXT i

END

В данном примере сначала с клавиатуры вводится размер массива n, затем

значения элементов массива. Элементы массива будут выведены на экран в

строку.

Пример 3. Заданы элементы двумерного массива С(n, m). Записать опера-

торы ввода и вывода данного массива.

REM Ввод массива

INPUT ”Введите число строк массива n”; n

INPUT ”Введите число столбцов массива m”; m

DIM С(n, m)

PRINT ”Введите элементы массива C”

FOR i= 1 TO n

FOR j= 1 TO m

INPUT C(i, j)

NEXT j

NEXT i

REM Вывод массива

FOR i= 1 TO n

FOR j= 1 TO m

PRINT C(i, j);

NEXT j

PRINT

NEXT i

END

В данном примере сначала с клавиатуры вводится размер массива С (чис-

ло строк и столбцов), затем сами элементы массива. Заметим, что для ввода

Page 24: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

24

массива С использовался вложенный цикл и элементы массива вводятся по

строкам, то есть сначала вводятся элементы первой строки, затем второй и т.д.

Элементы массива будут выведены на экран в общепринятом виде, то

есть в виде матрицы. Для вывода массива также используется вложенный цикл.

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

Пример 1

Заработная плата рабочего N руб. Налог составляет k% от зарплаты.

Определить сумму налога и сумму, полученную рабочим.

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

Обозначение переменных:

N – зарплата рабочего; k - процент отчисляемого налога; C - сумма нало-

га; S - сумма, полученная рабочим.

Контрольный пример:

Пусть N = 8500 руб., k = 13%.

Тогда С = 8500 · 13/100 = 1105, S = 8500 – 1105 = 7395

Блок – схема представлена на рис. 1.

Рис. 1. Блок-схема алгоритма определения суммы налога и полученной

рабочим суммы

Начало

Ввод N, k

С = N·k/100

S = N - C

Вывод C,S

Конец

Page 25: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

25

Текст программы

REM Вычисление налога и зарплаты

INPUT "Введите N, k"; N, k

C = N * k / 100

S = N - C

PRINT "Сумма налога ="; C

PRINT "Сумма, полученная рабочим ="; S

END

Результат выполнения программы для данных контрольного примера

Сумма налога = 1105

Сумма, полученная рабочим = 7395

Пример 2

Вычислить 3 2

2

ba23

abcln5,1

extgy

При х = 1.0016 а = -14.6349 b = 16.8214 с = 1.1007

Составить блок-схему и программу.

Блок-схема представлена на рис. 2.

Рис. 2. Блок-схема алгоритма вычисления у

Текст программы REM Вычисление Y

DATA 1.0016, -14.6349, 16.8214, 1.1007

READ x, a, b, c

Y = (TAN(x ^ 2) ^ 3 + EXP(a + b)) /

(1.5 * LOG(ABS(c ^ 2 - SQR(b)))) + a ^ 2 ^ (1 / 3)

PRINT "Y="; Y

END

Результат выполнения программы

Y= 14.0006

Начало

Ввод x, a, b, c,

3 2

2

ba23

abcln5,1

extgy

Вывод у

Конец

Page 26: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

26

Пример 3

Найти действительные корни квадратного уравнение ax2 + bx + с = 0.

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

Контрольный пример:

Пусть а = 6, b = 7, c = 1

Найдем корни уравнения.

D = b2 - 4ac = 49 - 4·6·1 = 25

x1 = 1667.012

57

a2

Db

x2 = 1

12

57

a2

Db

Блок – схема представлена на рис. 3.

Нет Да

Рис.3. Блок-схема алгоритма вычисления действительных корней квад-

ратного уравнения

Текст программы

REM Вычисление действительных корней квадратного уравнения

INPUT "Введите коэффициенты a, b, c"; a, b, c

Начало

Ввод a, b, c

D = b2

- 4ac

D < 0

Нет действи-

тельных корней

Вывод х1, х2

a2

Dbx1

a2

Dbx 2

Конец

Page 27: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

27

D = b ^ 2 - 4 * a * c

IF D < 0 THEN PRINT "Нет действительных корней": GOTO 10

x1 = (-b + SQR(D)) / 2 / a

x2 = (-b - SQR(D)) / 2 / a

PRINT "х1 = "; x1; " x2="; x2

10 END

Результат выполнения программы для данных контрольного примера

х1 = -.1666667 x2=-1

Пример 4

Вычислить:

S = nxn

nxxix

i

i nn

i

i sin1

)1(...3sin8

32sin

3

2sin

1)1(

22

2

при n = 10, x = 0.8

Блок-схема представлена на рис. 4.

Рис 4. Блок – схема алгоритма вычисления S

Текст программы

REM S

INPUT "Введите x, n"; x, n

Начало

Ввод n, x

S = 0

c = 1

i = 2, n, 1

S = S + c ·

ixsin1i

i2

c = - c

Вывод S

Конец

Page 28: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

28

S = 0

c = 1

FOR i = 2 TO n

S = S + c * i / (i ^ 2 - 1) * SIN(i * x)

c = -c

NEXT i

PRINT "S="; S

END

Результат выполнения программы

S = .5019206

Пример 5

Задан одномерный массив X(N). Найти среднее арифметическое отрица-

тельных элементов массива.

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

Обозначение переменных:

C – сумма отрицательных элементов массива; k – количество

отрицательных элементов массива; S – среднее арифметическое отрицательных

элементов массива; S = C/k.

Контрольный пример:

Пусть N = 10

Массив содержит элементы: X(-4, 7, 8, -1, 0, 6, -3, 4, -10, -24)

Тогда C = -4-1-3-10-24 = -42 k = 5 S = C/k = -42/5 = - 8.4

Блок – схема представлена на рис. 5.

Текст программы

REM Вычисление среднего арифм. отрицательных элементов массива

INPUT "Введите число элементов массива"; n

DIM X(n)

C = 0: k = 0

FOR i = 1 TO n

INPUT X(i)

IF X(i) < 0 THEN C = C + X(i): k = k + 1

NEXT i

S = C / k

PRINT "S="; S

END

Результат выполнения программы для данных контрольного примера

S=-8.4

Page 29: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

29

Нет Да

Рис 5. Блок-схема алгоритма вычисления среднего арифметического

отрицательных элементов массива

Пример 6

Задан одномерный массив Y(m). Расположить элементы массива по

возрастанию. Составить блок-схему и программу. Подобрать контроль-

ный пример.

Контрольный пример.

Пусть m = 10. Массив содержит элементы: Y(7, -3, 5, 3, -9, 0, 4, 6, -5, 11).

После сортировки элементов массива по возрастанию получим:

Y(-9, -5, -3, 0, 3, 4, 5, 6, 7, 11).

Начало

Ввод n

C = 0

k = 0

i = 1, n, 1

Ввод Xi

Xi < 0

C = C + Xi

k = k + 1

S = C/k

Вывод S

Конец

Page 30: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

30

Блок-схема представлена на рис. 6.

Да Нет

Рис 6. Блок-схема алгоритма сортировки элементов массива по возрастанию

Текст программы

REM Сортировка массива по возрастанию

INPUT "Введите число элементов массива"; m

Начало

Ввод m

i = 1, m, 1

Ввод Yi

i = 1, m-1, 1

j = i+1, m, 1

Yi < Yj

f = Yi

Yi = Yj

Yj = f

i = 1, m, 1

Ввод Yi

Конец

Page 31: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

31

DIM Y(m)

FOR i = 1 TO m

INPUT Y(i)

NEXT i

FOR i = 1 TO m - 1

FOR j = i + 1 TO m

IF Y(i) < Y(j) GOTO 10

f = Y(i)

Y(i) = Y(j)

Y(j) = f

10 NEXT j

NEXT i

PRINT "Отсортированный массив Y"

FOR i = 1 TO m

PRINT Y(i);

NEXT i

END

Результат выполнения программы для данных контрольного примера

Отсортированный массив Y

-9 -5 -3 0 3 4 5 6 7 11

Пример 7

Задана матрица (двумерный массив) A(n, n). Транспонировать элементы

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

Контрольный пример:

Пусть n=3. Матрица A(3,3) имеет вид:

А

333

222

111

Транспонированная матрица имеет вид:

А

321

321

321

Блок – схема представлена на рис. 7.

Page 32: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

32

Рис 7. Блок – схема алгоритма транспонирования матрицы

Текст программы

REM Транспонирование матрицы

INPUT "Введите число строк и столбцов матрицы"; n

DIM A(n, n)

FOR i = 1 TO n

FOR j = 1 TO n

INPUT A(i, j)

Ввод n

i = 1, n, 1

Ввод Aij

Начало

j = 1, n, 1

i = 1, n, 1

j = i+1, n, 1

f = Aij

Aij = Aji

Aji = f

i = 1, n, 1

Вывод Aij

j = 1, n, 1

Конец

Page 33: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

33

NEXT j

NEXT i

FOR i = 1 TO n

FOR j = i + 1 TO n

f = A(i, j): A(i, j) = A(j, i): A(j, i) = f

NEXT j

NEXT i

FOR i = 1 TO n

FOR j = 1 TO n

PRINT A(i, j);

NEXT j

PRINT

NEXT i

END

Результат выполнения программы для данных контрольного примера

1 2 3

1 2 3

1 2 3

Page 34: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

34

Задания к контрольной работе

Задание 1. Линейный вычислительный процесс

Построить блок-схему и написать программу для решения задачи. (Недо-

стающие данные задать самостоятельно в соответствии с условием задачи.

Ввод данных производить любым, наиболее удобным в каждом конкретным

случае, способом.) Подобрать контрольный пример.

Вари-

ант

Задание

1 Даны длины ребер a, b, c прямоугольного параллелепипеда.

Найти его объем V и площадь поверхности S.

2 Дана длина ребра куба. Найти площадь грани, площадь полной

поверхности и объем этого куба.

3

Даны два круга с общим центром и радиусами R1 и R2 (R1 > R2).

Найти площади этих кругов S1 и S2, а также площадь S3 кольца,

внешний радиус которого равен R1, а внутренний радиус ра-

вен R2. В качестве значения использовать 3.14.

4 Найти расстояние между двумя точками с заданными коорди-

натами (x1, y1) и (x2, y2) на плоскости.

5

Дана площадь S круга. Найти его диаметр D и длину L окруж-

ности, ограничивающей этот круг. В качестве значения ис-

пользовать 3.14.

6 Дано двузначное число. Найти сумму и произведение его цифр.

7 Даны три неотрицательных числа a, b и c. Найти их среднее

арифметическое и среднее геометрическое.

8

Дана длина L окружности. Найти ее радиус R и площадь S кру-

га, ограниченного этой окружностью. В качестве значения

использовать 3.14.

9 Даны два квадрата с разными длинами сторон. Вычислить на

сколько площадь одного из квадратов больше площади другого.

10

Известны длина, высота и ширина аквариума. Сколько в нем

можно содержать рыбок, если на каждую должно приходится

не менее N л.

Page 35: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

35

Задание 2. Вычисление арифметических выражений

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

жения.

Вариант Значения

переменных Формула

1

x = -6.251

a = 0.827

z = 25.001 2

2

2

3

3sin

1cos z

eaxtgx

x

zxb

x

2

x = 3.251

y = 3.325

z = 0.466

35

2

232

2cossinyx

tgxx

xzh

3

x = 1.421

b = 10.365

z = 0.828 4

22

2

3 lncos

2

sin1

x

bxx

z

xk

4

x = 0.335

y = 0.025

z = 32.005 x

xyx

e

zy

yzexyt

2

231 )(sin

5

x = 3.258

r = 4.005

z = -0.666 1)2(cos

1sin

3

22

352

r

rx

z

ep

x

6

x = 1.542

a = 3.261

z = 8.005 xz

e

xr

a2lnsin

3

1

3

22

7

a = 3.741

x = 0.825

z = 5.160 xe

xtgz

a

atgv

79.0

2sin

5 3

3

8

x = -6.251

y = 0.827

z = 25.001 2

2

2

3

2

ln

12cos

2

zxy

z

yzytgx

x

zxb

Z

9

x = -0.622

y = 3.325

z = 5.541

3 23

4

2

2cos1sin

xtgxzey

xS

x

10

x = 1.876

c = 3.231

b = 5.865

bcxxx

xxd

3lnsin

2

2cos

Задание 3. Разветвляющийся вычислительный процесс

Page 36: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

36

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

Подобрать контрольный пример.

Вариант Задание Вариант Задание

1

11

10ln

0

xеслиx

xеслиxx

xеслиe

y

x

6

3

311

13sin

xеслиtgx

xеслиx

xеслиx

y

2

25.10999.0

25.105cos2

5

xесли

xеслиx

xеслиex

y

x

7

5.31

5.30

0

xеслиx

xеслиxe

xеслиtgx

y x

3

01

05

51

xеслиx

xеслиe

xеслиx

y x

8

1033.0

100

02sin

xеслиx

xеслиtgx

xеслиx

y

4

032

013sin

1ln

xеслиx

xеслиx

xеслиxx

y

9

45.42

)1(

45.41lg

12

xеслиx

x

xеслиx

xеслиxarctg

y

5

123.1

10cos

032

xеслиx

xеслиxx

xеслиx

y

10

76

703

0

xеслиx

xеслиxtg

xеслиxe

y

x

Задание 4. Циклический вычислительный процесс

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

жения.

Вариант Задание

1

При x 2 и = 3.14159, вычислите значение выражения,

включающего 11 членов:

Yx x x

2

1 1

3

1

52 2 2

Окончание табл.

Page 37: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

37

Вариант Задание

2

Вычислите значение выражения, включающего 15 членов:

Y 11

2

1

4

1

8

1

16

3

При x 600 вычислите значение выражения, включающего 10

членов:

Y x sin( )2

4

3

5

4

6

4

Вычислите значение выражения, включающего 10 членов:

222

55

14

4

13

3

14P

5

Вычислите значение выражения:

Y

1 1 1

1 1 1

2 2 2

2 2 2

10 10 10

10 10 10

2 3

4 6

2 3

4 6

2 3

4 6

6

При x 300 вычислите значение выражения:

Y xx x x

cos( )cos( ) cos( ) cos( )2

2

3

3

10

102 2 2

7

При x 25. вычислить значение выражения, включающего 11

членов:

Yx

x

x

x

x

x

1

1

1

2

2ln( ) ln( ) ln( )

8

Вычислите значение выражения, включающего 18 членов:

Y

1

1 2 3

1

2 3 4

1

3 4 5

9

При x 1.5708 вычислить значение выражения:

Z xx x x

sin( )sin( ) sin( ) sin( )3

3

5

5

19

19

10

Вычислите значение выражения, включающего 20 членов:

Y

2 5

3 6

3 6

4 7

4 7

5 8

Задание 5. Одномерные массивы

Page 38: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

38

Написать программу формирования одномерного массива размера М.

Полученный массив напечатать.

Выполнить обработку и преобразование массива в соответствии со своим

вариантом.

Напечатать преобразованный массив.

Подобрать контрольный пример.

Вари-

ант

Задание

1

Вычислить сумму и количество четных чисел в массиве.

Заменить все элементы массива, совпадающие с числом A, на число B.

2

Вычислить максимальный элемент массива.

Заменить в массиве все нечетные числа на 1. Если нечетных чисел

нет, то вывести сообщение об этом.

3

Найти произведение наименьшего и наибольшего значений.

Заменить нулями все отрицательные элементы массива .

4

Найти сумму и количество чисел, попадающих в диапазон от А до В,

где А и В задаются пользователем. Если таких чисел нет , то вывести

сообщение об этом.

Получить новый массив путем деления всех элементов на наиболь-

ший элемент.

5

Вычислить произведение минимального и максимального элементов

массива.

Поменять местами первый и последний элементы массива.

6

Определить количество элементов массива, больше среднего арифме-

тического всех его элементов.

Получить новый массив путем вычитания из всех элементов

наименьшего элемента.

7

Найти сумму модулей отрицательных нечетных элементов.

Получить новый массив путем возведения в квадрат элементов, стоя-

щих на четных местах.

Окончание табл.

Page 39: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

39

Вари-

ант

Задание

8

Найти среднее арифметическое четных элементов.

Получить новый массив путем умножения всех элементов на

наименьший элемент.

9

Вычислить разность между максимальным элементом массива и ве-

личиной первого элемента массива.

Отсортировать массив по возрастанию.

10

Найти произведение и количество элементов массива кратных 5. Если

таких элементов нет, то вывести сообщение об этом.

Отсортировать массив по убыванию.

Page 40: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

40

Пример выполнения контрольной работы

Линейный вычислительный процесс

Задание 1. Построить блок-схему и написать программу для решения за-

дачи.

Подобрать контрольный пример.

В прямоугольном треугольнике по известным длинам катетов найти его

периметр и площадь.

Обозначение переменных: a, b – заданные длины катетов, c – гипотенуза,

P – периметр, S – площадь треугольника.

Контрольный пример.

Для заданных значений a = 3, b = 4, P = 12, S = 6

Блок-схема решения

Программа

REM Линейный вычислительный процесс

INPUT "Введите длины катетов a и b",a,b

c=SQR(a^2+b^2)

P=a+b+c

S=(a*b)/2

PRINT "Периметр треугольника P=";P

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

END

Результат выполнения программы:

Периметр треугольника P=12 Площадь треугольника S=6

Вычисление арифметических выражений

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

значения выражения.

42

21 25

cos

sintgazz

a

ffed a

a = 2.876

f = 1.345

z = 2.946

Начало

Ввод a, b

2 2 baс

P = a+b+c

Вывод C,S

Конец

S = (a*b)/2

Page 41: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

41

Начало

Ввод a, f, z

Вычисление d

Вывод d

Конец

Блок-схема решения.

Программа.

REM Вычисление выражения

DATA 2.876, 1.345, 2.946

READ a,f,z

R=SQR(SIN(f^2)+f)/COS(a)^2

T=(ABS(25*z+TAN(a*z)))^(1/4)

d=EXP(a-1)-R+T

PRINT "Значение выражения d= ";d

END

Результат выполнения программы: Значение выражения d=7.808057

Разветвляющийся вычислительный процесс

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

ражения. Подобрать контрольный пример.

21

215.1

12

xеслиx

xеслиxarctg

xеслиtgx

y

Контрольный пример.

При x=-2 y=4.37, при x=2 y=1.25, при x=3 y=2

Блок – схема решения.

Да Нет

Да Нет

Начало

Ввод a, b

x -1

Вывод y

y=2 tg x

y=x-1

Конец

x >2

y=arctg 1.5 x

Page 42: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

42

Программа.

REM Разветвляющийся процесс

INPUT "Введите значения x=",x

IF x<=-1 THEN

y=2*TAN(x)

ELSEIF x>2 THEN

y=x-1

ELSE

Y=ATN(1.5*x)

END IF

PRINT "При заданном значении x=";x; "y=";y

END

Результат выполнения программы для данных контрольного примера

При заданном значении x=-2 y=4.37008

При заданном значении x=2 y=1.249046

При заданном значении x=3 y=2

Циклический вычислительный процесс

Задание 4. Вычислите значение выражения, включающего 18 слагаемых:

6

4

5

3

4

2

3

1Y

Решение

Запишем выражение в общем виде:

18

1 2i i

iY

Блок–схема решения

Начало

i = 1, 18, 1

Y = Y+i /(i+2)

Вывод Y Конец

Y = 0

Page 43: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

43

Программа.

CLS

S=0

FOR i=1 TO 18

S=S+i/(i+2)

NEXT i

PRINT “Значение суммы равно ”;S

END

Результат выполнения программы: Значение суммы равно 13.80452

Одномерные массивы

Задание 5. Написать программу формирования одномерного массива раз-

мера М. Полученный массив напечатать.

Выполнить обработку и преобразование массива в соответствии со своим

вариантом. Напечатать преобразованный массив. Подобрать контрольный при-

мер.

Найти количество чисел в массиве, меньших заданного числа У. Если та-

ких чисел нет, то вывести сообщение об этом.

Поменять местами второй и минимальный элементы массива.

Контрольный пример.

Зададим M = 8, Y = 5 массив Z = 9, 4, 7, 2, -5, 8, 3, 6

Количество элементов меньших 5 равно 4. Минимальный элемент масси-

ва равен -5. Преобразованный массив Z=9, -5, 7, 2, 4, 8, 3, 6

Программа.

CLS

INPUT "Введите количество элементов M= ";M

DIM Z(M)

PRINT "Исходный массив "

FOR i=1 TO M

INPUT Z(i)

NEXT i

FOR i=1 TO M

PRINT Z(i);

NEXT i

PRINT

INPUT "Введите число Y= ",Y

REM Нахождение количества чисел меньших Y

R=0

FOR i=1 TO M

Page 44: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

44

IF Z(i)<Y THEN R=R+1

NEXT i

IF R=0 THEN

PRINT "Элементов меньших ";Y; " в массиве нет "

ELSE

PRINT "Количество элементов меньших ";Y; " равно ";R

END IF

REM Нахождение минимального элемента и его номера

min=Z(1): nomer=1

FOR i=1 TO M

IF Z(i)<min THEN min=Z(i):nomer=i

NEXT i

REM Меняем местами второй и минимальный элементы массива

С=Z(2): Z(2)=Z(nomer): Z(nomer)=C

PRINT "Преобразованный массив "

FOR i=1 TO M

PRINT Z(i);

NEXT i

END

Результат выполнения программы:

Исходный массив

9,4,7,2,-5,8,3,6

Количество элементов меньших 5 равно 4

Преобразованный массив

9,-5,7,2,4,8,3,6

Вопросы для самоконтроля 1. Понятие алгоритма. Основные свойства алгоритмов. Способы

описания алгоритмов.

2. Правила построения алгоритмов. Алгоритмизация линейных

вычислительных процессов.

3. Алгоритмизация разветвляющихся вычислительных процес-

сов.

4. Алгоритмизация циклических вычислительных процессов.

5. Структура программы.

6. Оператор комментарий. Оператор присваивания.

7. Операторы ввода, вывода.

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

9. Операторы цикла.

10. Понятие массива. Оператор описания массивов.

11. Ввод и вывод массивов.

Page 45: B G N H J F : L B Dpnu.edu.ru/media/filer_public/32/28/3228afa7-100a-46d8-8...Примеры записи арифметических выражений приведены в табл.

45

Библиографический список

Алексеев В. Е.Вычислительная техника и программирование. Практикум по про-

граммированию : Практ.пособие / В. Е. Алексеев А. С. Ваулин, Г. Б. Петрова. - М.:

Высш.шк., 1991. - 400с.

Геворкян Г. Х. Бейсик - это просто / Г. Х. Геворкян, В. Н. Семенов. - М.: Радио и

связь, 1989. - 144с.

Давидов П. Д. Бейсик для начинающих / П. Д. Давидов, А. Л. Марченко. - М.: Наука,

1994. - 160с.

Есипов А. С. Информатика: Учеб. по базовому курсу / А. С. Есипов. - 3-е изд., пере-

раб. и доп. - СПб.: Наука и Техника, 2003. - 400с.

Зельднер Г. А. Программируем на языке QuickBasic 4.5 / Г. А. Зельднер.– М.:ABF,

1996. – 432с.

Информатика: Учеб.пособие и сборник задач / под общ.ред. : В.А.Каймина,

Л.А.Муравья. - М.: БРИДЖ, 1994. - 200с.

Маковский В. А. Бейсик / В. А. Маковский, В. И. Похлебаев. - М.: Изд-во стандар-

тов, 1992. - 76с.

Моррил Гарриет. Бейсик для ПК ИБМ: Пер.с англ. / Моррил Гарриет. - 2-е изд.; стереотип. - М.: Фи-

нансы и статистика, 1993. - 208с.

Москвитина А. А. Бейсик: Учеб.пособие / А. А. Москвитина, В. С. Новичков. - М.:

Высш.шк., 1989. - 191с.

Оглавление

Общие положения .............................................................................................................................. 3

Основные сведения ............................................................................................................................ 3

Понятие алгоритма ...................................................................................................................... 3

Простейшие конструкции языка Basic ............................................................................................. 4

Основные операторы языка Basic..................................................................................................... 9

Структура программы ................................................................................................................. 9

Оператор присваивания .............................................................................................................. 10

Операторы ввода ......................................................................................................................... 11

Оператор вывода ......................................................................................................................... 13

Оператор безусловного перехода ............................................................................................... 14

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

Операторы цикла ......................................................................................................................... 17

Операторы цикла FOR…NEXT ................................................................................................... 18

Операторы работы с массивами ..................................................................................................... 19

Понятие массива ......................................................................................................................... 19

Оператор описания массивов ..................................................................................................... 20

Ввод и вывод элементов массивов ............................................................................................. 21

Примеры решения задач .................................................................................................................. 24

Задания к контрольной работе ........................................................................................................ 34

Пример выполнения контрольной работы .................................................................................... 40

Вопросы для самоконтроля ............................................................................................................. 44

Библиографический список ............................................................................................................ 45