рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Загрузка системы QuickBASIC

Загрузка системы QuickBASIC - раздел Образование, Федеральное Агентство Воздушного Транспорта...

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ВОЗДУШНОГО ТРАНСПОРТА

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ Бюджетное ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ГРАЖДАНСКОЙ АВИАЦИИ»


Кафедра прикладной математики

Н.В. Кучинская

ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

 

ПОСОБИЕ

по выполнению лабораторных работ

Часть 2

для студентов

1 курса

направления 162300

дневного обучения

Москва – 2012


Рецензент Невельская О.В.

Кучинская Н.В.

Пособие к лабораторным работам по дисциплине “ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ”– М.:МГТУ ГА, 2012.- 83 c.

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

Рассмотрено и одобрено на заседании кафедры №11 от 29.05.2012г. и

Методического совета по направлению 162300 № 12 от «05» июня 2012г.


Содержание

1. Введение.
2. Работа в интегрированной среде QBASIC
3. Лабораторная работа № 9. Программирование линейных алгоритмов
4. Лабораторная работа № 10. Программирование условных алгоритмов
5. Лабораторная работа № 11. Программирование циклических алгоритмов
6. Лабораторная работа № 12. Работа с одномерными массивами
7. Лабораторная работа № 13. Работа с двумерными массивами
8. Лабораторная работа № 14. Строковый тип данных
9. Лабораторная работа № 15. Работа в графическом режиме
10. Лабораторная работа № 16. Составление сложных алгоритмов и программ  

Введение

Данные методические указания предназначены для студентов 1-го курса дневной формы обучения специальности 162300 и содержат описания 8 лабораторных работ. Во втором семестре студенты изучают основные аспекты разработки программ в среде программирования QuickBASIC.

Выбор в качестве языка программирования алгоритмического языка Бейсик объясняется тем, что он является одним из самых простых и доступных для широкого круга пользователей ПЭВМ. Предлагаемая версия Бейсика (QB45,QuickBASIC, QB) - это развитый структурный и процедурный язык программирования.

Целью выполнения лабораторных работ этой части сборника является развитие логического и алгоритмического мышления, приобретение практических навыков программирования различных типов алгоритмов, отладки программ на ПЭВМ и освоение системы программирования.

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


Работа в интегрированной среде Qbasic (версия qb45)

Начальная информация о системе QuickBASIC

Система программирования QuickBASIC (QBASIC) - интегрированная система, включающая текстовый редактор, управляющую среду с многооконными меню, подсистему помощи HELP, отладчик и встроенный транслятор. Система создавалась для работы в операционной системе MS DOS.

Загрузка системы QuickBASIC

- двойным щелчком по ярлыку на рабочем столе Windows. - через программы Проводник, Мой компьютер или NC: после запуска одной из… После входа в QBASIC на экране появляется окно редактора, в центре которого на сером фоне может стоять приглашение для…

Текстовый редактор системы QBASIC

При загрузке системы вышеуказанным способом, автоматически устанавливается режим редактирования. После входа в режим редактирования курсор… Далее перечислены наиболее часто употребляемые команды текстового редактора,… [Ноmе] курсор переводится на начало строки;

Выполнение программы

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

Отладка программы

Следует отметить, что отладку программы можно производить, не пользуясь инструментом Debug (Отладка), а выводя на экран промежуточные результаты… Подсистема помощи – HELP (Справка) Вход в подсистему осуществляется выбором пункта меню HELP (Справка) основного меню. В развернувшемся подменю…

ЛАбораторная Работа № 9. программирование линейных алгоритмов

1. Приобретение навыков в составлении простейших программ на алгоритмическом языке Qbasic. 2. Изучение среды программирования QBASIC. 3. Приобретение навыков работы в редакторе QBASIC.

Способы описания типа данных в Qbasic

1. Явно - с помощью определенных суффиксов, которые добавляются к имени переменных или констант.

2. Явно - с помощью операторов описания типа.

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

Таблица 4. Диапазоны числовых данных

тип диапазон
целый -32768 ÷ +32767
длинный целый -2147483648 ÷ +2147483647
веществ. обычной точности -3.402823E+38 ÷ -1.40129E-45 +1.40129E-45 ÷ +3.402823E+38
веществ. двойной точности -1.79769E+308 ÷ -4.94965E-324 +-4.94965E-324 ÷ +1.79769E+308

Таблица 5. Описание типов данных

тип суффикс (явно) оператор описания (явно) оператор объявления (неявно) объем памяти в байтах
целый % DIM имя as integer DEFINT
пример NAME1% DIM NAME1 AS INTEGER DEFINT N  
длинный целый & DIM имя as LONG DEFLNG
пример NAME2& DIM NAME2 AS LONG DEFLNG N  
веществ. обычной точности ! DIM имя as SINGLE DEFSNG
пример NAME3! DIM NAME3 AS SINGLE DEFSNG N  
веществ. двойной точности # DIM имя as DOUBLE DEFDBL
пример NAME4# DIM NAME4 AS DOUBLE DEFDBL N  
символьный $ DIM имя as STRING DEFSTR 4+n байт (n-кол-во символов)
пример NAME5$ DIM NAME5 AS STRING DEFSNG N  

Константы. Значения констант не меняются в процессе работы программ. В Бэйсике различают два вида констант: неименованные и именованные. Константы бывают числовые и символьные. Неименованная числовая константа - это число, а именованная константа должна быть объявлена с помощью ключевого слова CONST, например:

CONST PI = 3.14

CONST PL = 0.23E-3 ' ФОРМА Е

CONST Z$ = " ПРИВЕТ " ' СИМВОЛЬНАЯ

Тип числовой переменной или константы можно не указывать в программе, тогда автоматически (по умолчанию) он становится - SINGLE.

В данной лабораторной работе обрабатываются только числовые данные.

Программирование линейных алгоритмов

Алгоритм- это последовательность действий, однозначно определяющих процесс преобразования исходных и промежуточных данных в результат решения задачи. Форма представления алгоритма может быть как текстовой, так и графической - в виде схемы. Решение всего многообразия задач может быть сведено к трем типам алгоритмов: линейному, разветвляющемуся и циклическому. Чаще встречается комбинация этих типов.

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

Алгоритм решения такой задачи в словесной форме состоит из следующих пунктов: начало программы; ввод исходных данных; вычисления; вывод результатов; окончание программы.

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

Ввод данных

Ввод данных в программах, написанных на Qbasic можно осуществлять несколькими способами:

INPUT a, b, c - оператор ввода данных в диалоговом режиме, где a, b, c - список имен переменных

Встретив этот оператор, машина останавливает выполнение программы, на экране появляется знак «?». Значения переменных нужно ввести через запятую и нажать Enter. Количество, последовательность и тип вводимых данных должны соответствовать тому, что указано в операторе INPUT.

В списке ввода оператора INPUT на первом месте можно дать подсказку - текст, заключенный в двойные кавычки, например:
INPUT "Введите a,b,c:",a,b,c

При выполнении такого оператора INPUT на экране появится подсказка Введите a,b,c, после чего нужно ввести значения переменных и нажать Enter.

2) комбинация операторов DATA и READ – применяется, если данные заранее известны. Оператор READ считывает данные, которые перечислены в операторе DATA.

Пример:

DATA 5, -8, 12.5 : READ a, b, c

При выполнении оператора READ a, b, c:

- переменной а будет присвоено значение 5

- переменной b будет присвоено значение -8

- переменной c будет присвоено значение 12.5

3) задать исходные данные можно также операторами присваивания, например: а = 5 : b = -8 : c = 12.5

Выполнение вычислений

Общий вид оператора: Q=P,где Q -имя переменной; P -арифметическое выражение Арифметические выражения соответствуют общепринятым алгебраическим выражениям, в них могут входить числа, переменные,…

Таблица 6. Примеры арифметических операций

выражение результат примечание
2 ^ -2 0.25 возведение в степень -2
7 / 2 3.5 деление
7 2 1.6 2.2 целочисленное деление:делимое и делитель (операнды) округляются, тип результата INTEGER
7 MOD 2 8.3 MOD 3.3 8.6 MOD 3.3 остаток от деления:операнды округляются, тип результата INTEGER

Математические функции. При записи функций на Qbasic аргумент функции заключается в круглые скобки. Аргументом математических функций может быть число, переменная или арифметическое выражение. Следует заметить, что в тригонометрических функциях аргумент должен быть задан в радианной мере.

Наиболее часто используемые функции языка Qbasic

EXP(X) - экспонента, соответствует математической записи ex; LOG(X) - вычисляет натуральный логарифм аргумента, что соответствует… SQR(X) - вычисляет корень квадратный из аргумента;

Таблица 7. Примеры записи функций округления и их результаты

Выражение Результат Выражение Результат Выражение Результат
FIX(5.7) INT(5.7) CINT(5.7)
FIX(5.1) INT(5.1) CINT(5.1)
FIX(-5.7) -5 INT(-5.7) -6 CINT(-5.7) -6
FIX(-5.1) -5 INT(-5.1) -6 CINT(-5.1) -5

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

Вывод данных и результатов

PRINT x,y,z - оператор вывода данных и результатов, где x,y,z -список элементов вывода. В качестве элементов вывода могут быть имена переменных, арифметические… При выполнении оператора на экран выводятся значения переменных, арифметических выражений, текст. Список может…

Лабоpатоpное задание

1. Изучить окно редактирование системы QBASIC.

2. Поочередно набрать тексты программ Ваших заданий.

3. Каждую программу сохранить в отдельном файле.

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

5. Результаты проанализировать.

6. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Даны катеты прямоугольного треугольника a и b. Определить его гипотенузу, периметр и площадь.

Задание № 3.

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

Вариант №2

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Определить периметр правильного п-угольника, если радиус вписанной окружности равен r.

Задание № 3.

Вычислить дробную часть среднего арифметического трех заданных положительных чисел a, b, c.

Вариант №3

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Найти площадь кольца, внешний и внутренний радиусы которого равны соответственно R и r.

Задание № 3.

Определить сумму цифр заданного четырехзначного числа f.

Вариант №4

Задание № 1.

Вычислить выражение(значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Даны три стороны произвольного треугольника a, b, c. Определить его площадь по формуле Герона.

Задание № 3.

Определить произведение первой и последней цифр заданного трехзначного числа f.

Вариант №5

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Вычислить расстояние между двумя точками на плоскости с координатами (x1, y1) и (x2, y2).

Задание № 3.

Определить сумму квадратов цифр заданного трехзначного числа f.

Вариант №6

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Вычислить периметр треугольника при заданных координатах его вершин (x1,y1), (x2,y2), (x3,y3).

Задание № 3.

В исходном трехзначном числе f удвоить число десятков.

Вариант №7

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Вычислить площадь треугольника при заданных координатах его вершин (x1,y1), (x2,y2), (x3,y3).

Задание № 3.

Определить произведение цифр заданного четырехзначного числа f.

Вариант №8

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

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

Задание № 3.

Дано целое число n<32. Вывести его в двоичной системе счисления.

Вариант №9

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

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

Задание № 3.

Определить сумму цифр заданного четырехразрядного числа f.

Вариант №10

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Идет k-я секунда суток. Определить, сколько полных часов и минут прошло с начала суток.

Задание № 3.

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

Вариант №11

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Вычислить расстояние между двумя точками в пространстве с координатами (x1, y1, z1) и (x2, y2, z2).

Задание № 3.

Определить произведение первой и последней цифр заданного четырехзначного числа f.

Вариант №12

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

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

Задание № 3.

Определить произведение двух первых цифр заданного четырехзначного числа f.

Вариант №13

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

Определить площадь и высоту равностороннего треугольника, периметр которого равен f.

Задание № 3.

Определить произведение двух последних цифр заданного трехзначного числа f.

Вариант №14

Задание № 1.

Вычислить выражение (значения буквенных переменных задавать с клавиатуры):

Задание № 2.

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

Задание № 3.

Определить произведение второй и третьей цифр заданного трехзначного числа f.

Лабораторная работа № 10 Программирование условных алгоритмов

Цель работы:

1. Дальнейшее изучение приемов программирования на алгоритмическом языке Бейсик.

2. Программирование условных алгоритмов.

3. Дальнейшее изучение среды программирования и приемов отладки программ.

Программирование разветвляющихся (условных) алгоритмов

В языке Бэйсик для ветвления используются следующие операторы: 1) Оператор безусловной передачи управления GOTO N , - где N метка строки.… 2) Операторы условной передачи управления (приведены три типа):

IF <логическое выражение> THEN

<операторы>

ELSEIF <логическое выражение> THEN

<операторы>

ELSE

<операторы>]*

END IF

При выполнении блочного IF, сначала определяется результат первого логического выражения. Если ИСТИНА, то управление передается операторам, следующим за первым словом THEN, а затем к строке следующей за END IF. Если - ЛОЖЬ, то определяется результат следующего логического выражения, и в случае ИСТИНЫ управление передается операторам, записанным за следующим THEN, а потом к строке идущей за END IF и т.д. Если же ни одно из условий оператора не выполняется, то выполняются операторы, записанные после слова ELSE, а потом к строке следующей за END IF.

Логические выражениясостоят из числовых или текстовых данных, знаков отношений и логических операций.Таблица 8. Знаки сравнения и логические операции

ЗНАКИ СРАВНЕНИЯ ЛОГИЧЕСКИЕ ОПЕРАЦИИ
Название знака В программе Название операции В программе
Равно = Отрицание NOT
Не равно <>
Больше > Логическое умножение OR
Больше или равно >=
Меньше < Логическое сложение AND
Меньше или равно <=

3) Оператор выбора SELECT CASE.С помощью оператора CASEможно выбрать любой вариант из допустимых значений переменной. Этот оператор записывается в нескольких строках.

SELECT CASE <выражение>

CASE <условие 1>

<блок операторов 1>

[CASE <условие 2>]

[<блок операторов 2>]

………………………………………..

[CASE ELSE]

[<блок операторов n>]

END SELECT

В этом операторе:

<выражение>- любое числовое или строковое выражение;

<условие>- одно или несколько выражений для сравнения с параметром <выражение>. Условие может быть записано в одном из видов:

• <выражение> [, <выражение>]…..;

• <выражение> TO <выражение>;

• IS <оператор отношения> <выражение>.

Lt;блок операторов> - один или несколько операторов

ПРИМЕР 10.1.Из трех случайных чисел X,Y, Z вывести наименьшее.

 

Рисунок 1. Схема алгоритма к примеру 10.1

REM Программирование условного алгоритма

CLS

RANDOMIZE TIMER ' Запущен датчик случайных чисел

X=RND*20 : Y=RND*20 : Z=RND*10 ’X, Y, Z - случайные числа

IF X<Y AND X<Z THEN

PRINT "max="; X

ELSEIF Y<Z THEN

PRINT "max=";Y

ELSE PRINT "max=";Z

END IF

END

Пояснения к программе:

В данной программе использован оператор IF - блочная форма. При выполнении сложного условия X<Y AND X<Z после THEN в соответствии со схемой алгоритма на экран выводится число X, которое в этом случае является минимальным из трех чисел. Если это условие не выполняется, значит X не является минимальным числом из трех и минимум следует искать среди Y и Z. Соответствующее условие Y<Z записано после ELSEIF. Если условие выполнено, то минимальным является Y, иначе минимальным числом является Z. Блочный оператор IF обязательно завершается оператором END IF.

ПРИМЕР 10.2. Составить схему алгоритма и программу вычисления и вывода на экран функции f(x, y) для заданных значений x, y.

 

 

Рисунок 2. Схема алгоритма к примеру 10.2

REM Программирование условного алгоритма

INPUT " Введите через запятую значения переменных x, Y:", x, Y

IF x > Y THEN

F = x / y + 4 * X * y

ELSEIF X < Y THEN

IF X + 10 < Y THEN F = X + 10 ELSE F = Y

ELSE

F = (X + 7)^Y

END IF

PRINT "F ="; F

END

Пояснения к программе:

- в программе для организации ввода данных в диалоговом режиме используется только оператор «INPUT»;

- «IF»-блочный обеспечивает ветвление; в зависимости от введенных значений переменных X и Y процесс вычисления F пойдет в соответствии с алгоритмом (рис. 2) по одной из ветвей;

- в программе используется и «IF»-строчный при определении минимума (Х+10) и Y, в случае когда X < Y.

Лабораторное задание

1. Набрать, отладить и выполнить программы, реализующие условные алгоритмы Вашего индивидуального задания.

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

3. Проанализировать работу операторов, пользуясь отладочными режимами.

4. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с такими длинами сторон. Если да, то ответить, является ли он прямоугольным.

Задание № 3.

Определить, есть ли среди цифр заданного трехзначного числа f одинаковые.

Вариант №2

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Для произвольных чисел a, b, c определить, имеет ли уравнение хотя бы одно вещественное решение.

Задание № 3.

Определить, есть ли среди цифр заданного четырехзначного числа f цифра 9.

Вариант №3

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кольцу с внутренним и внешним радиусами соответственно R1 и R2 и центром в начале координат.

Задание № 3.

Определить, есть ли среди цифр заданного трехзначного числа f цифры 3 или 7.

Вариант №4

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дано натуральное число п (возраст). Обеспечить вывод этого числа с соответствующим словом: «год», «года», «лет».

Задание № 3.

Даны четыре действительных числа x, y, z, k. Получить max(x, y, z, k).

___________________________________________________________________

Вариант №5

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y. Определить, принадлежит ли точка (x, y) кругу с радиусом R и центром в начале координат.

Задание № 3.

Дано трехзначное число f. Определить, кратно ли это число 9.

Вариант №6

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Задан номер года п. Определить, високосный ли он.

Задание № 3.

Даны четыре действительных числа x, y, z, k. Получить min(x, y, z, k).

Вариант №7

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны числа a1, b1, c1, a2, b2, c2. Определить координаты точки пересечения прямых и , либо сообщить, что эти прямые совпадают или не пересекаются.

Задание № 3.

Дано число f. Определить, кратно ли это число 2 или 3.

Вариант №8

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа a, b, c. Выяснить, имеет ли уравнение действительные корни. Если да, то найти их.

Задание № 3.

Дано натуральное число n. Выяснить, является ли это число палиндромом (или симметричным, например, 131, 747).

Вариант №9

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дано натуральное число r. Обеспечить вывод этого числа с соответствующим словом: «рубль», «рубля», «рублей».

Задание № 3.

Дано число f. Определить, кратно ли это число 7 и 9.

Вариант №10

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны три точки на плоскости с координатами (x1,y1), (x2,y2), (x3,y3). Вывести номера точек с наибольшим расстоянием между ними.

Задание № 3.

Определить, равна ли сумма двух первых цифр заданного четырехзначного числа f сумме двух его последних цифр.

Вариант №11

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Даны действительные числа x, y, z. Вычислить значение min(2(x+y+z),xyz ,(x+y)z)+1.

Задание № 3.

Выяснить, есть ли в заданном четырехразрядном числе а цифра 5.

Вариант №12

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дана точка с координатами (x, y). Определить, какой четверти плоскости она принадлежит.

Задание № 3.

Определить, делится ли заданное четырехзначное число f на 9.

Вариант №13

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дан квадрат со стороной b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри квадрата.

Задание № 3.

Определить, есть ли в заданном четырехразрядном числе а цифры 3 и 4.

Вариант №14

Задание № 1.

Вычислить f(x, y). Значения x, y задаются с клавиатуры:

Задание № 2.

Дан прямоугольник со сторонами а и b, точка пересечения диагоналей которого расположена в начале координат. Определить, находится ли точка с координатами (x, y) внутри прямоугольника.

Задание № 3.

Дано натуральное четырехразрядное число а. Выяснить, является ли это число палиндромом (симметричным, например, 3223, 1221).

___________________________________________________________________

ЛАБОРАТОРНАЯ РАБОТА № 11. ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ.

Цель работы:

1. Изучение приемов программирования циклических алгоритмов.

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

3. Отладка циклических программ в среде программирования Qbasic.

Циклические алгоритмы

Цикл обеспечивает повторное выполнение, или, иначе говоря, циклическую работу операторов. Оператор или группа операторов, повторяющаяся в цикле,… Далее рассмотрим два типа циклических задач: а) задачи, в которых вычисления многократно ведутся по одним и тем же формулам с различными значениями входящих в нее…

Характерные моменты циклического алгоритма

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

FOR I = I0 TO IN STEP DN ' начало цикла

операторы «тела цикла»

NEXT I

Здесь:

I - параметр цикла (переменная),

I0 - начальное значение параметра цикла (переменная или число),

IN - конечное значение параметра цикла (переменная или число),

DN - шаг изменения параметра (переменная или число), если шаг равен единице, то его можно опустить.

Этот оператор многократно выполняет операторы «тела цикла», находящиеся между FOR и NEXT для всех значений параметра I от I0 до IN. Структура самого оператора включает и подготовку цикла, и изменение параметра, и проверку условия выхода из цикла.

ПРИМЕР 11.1(задача типа а) Составить схему алгоритма и программу вычисления всех значений функции F(x) для всех значений аргумента х: F(x) = SIN(x)+COS(x), при -p £ х £p, шаг изменения аргумента Dх=0.
Рисунок 3. Схема алгоритма к примеру 11.1 REM Циклический алгоритм CLS CONST PI=3.14 PRINT " X ", " Y " FOR X= - PI TO PI STEP 0.1 Y= SIN(x)+COS(x) PRINT X ,Y NEXT X END

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

Х Y -3.14 -1.001591 -3.04 -1.096262 -2.94 -1.179979 -2.84 -1.251906 …………………………………. 2.859999 -.6827266 2.959999 -.8029594 3.059999 -.9151694 Press any key to continue Чтобы продолжить, нажмите любую клавишу

Пояснения к программе:

- в цикле FOR многократно вычисляются значения функции для всех значений аргумента. Значения аргумента и проверка условия выхода из цикла осуществляется самим оператором FOR.

ПРИМЕР 11.2(задача типа б) Вычислить сумму n слагаемых ряда:
  Рисунок 4. Схема алгоритма к примеру 11.2     REM Цикл с известным числом REM повторений INPUT "Число слагаемых:", N S = 1 FOR I=1 TO N S=S+1/(3*I) NEXT I PRINT "Сумма ряда:"; S END Результат выполнения на экране: Сумма ряда: <число>
ПРИМЕР 11.3(задача типа б) Вычислить факториал n чисел: P= n!=1*2*3*….*n
  Рис. 5. Схема алгоритма к примеру 11.3 REM Цикл с известным числом REM повторений INPUT "Число сомножителей:", N P = 1 FOR I=1 TO N P=P*I NEXT I PRINT N; "-факториал:"; P END   Результат выполнения на экране: N-факториал : <число>
     

Пояснения к программам:

- с помощью циклов в этих программах последовательно вычисляется значение суммы и факториала (произведения). При этом каждое следующее значение вычисляется через предыдущее. Результатом многократных вычислений является одна величина - сумма ряда заданного числа слагаемых (11.2) или произведение заданного числа сомножителей (11.3);

- в приведенных примерах 11.1 - 11.3 число повторений легко определяется заранее. В примере 11.1 параметром цикла является переменная «х», а в 11.2 и 11.3 - переменная «I».

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

а)DO WHILE L <операторы "тела цикла"> LOOP б)DO UNTIL L <операторы "тела цикла"> LOOP
в) DO <операторы "тела цикла"> LOOP WHILE L г) DО <операторы "тела цикла"> LOOP UNTIL L

Здесь: L - логическое выражение.

Операторы, находящиеся между DO и LOOP повторяются до тех пор, пока выражение, стоящее после WHILE - истинно или до тех пор, пока выражение, стоящее после UNTIL - ложно.

Циклы типа а) и б) называются циклами с предусловием (проверка условия осуществляется перед началом выполнения тела цикла), а циклы в) и г) – циклами с постусловием (проверка условия осуществляется после каждого выполнения тела цикла). Циклы с постусловием выполнятся в программе хотя бы один раз, тогда как циклы с предусловием могут не выполниться ни разу.

ПРИМЕР 11.4. Вычислить сумму S ряда с заданной точностью е и количество слагаемых N, необходимых для достижения заданной точности:
    Рисунок 6. Схема алгоритма к примеру 11.4     REM Цикл с неизвестным числом REM повторений INPUT "Введите точность", e S = 1: I=1 DO A = 1/( 3*I ) ' слагаемое S = S+A : I=I+1 LOOP WHILE A > e PRINT "Сумма ряда:"; S-A,"N="; I-1 END   Результат выполнения на экране: Сумма ряда:<число> N=<число>

Пояснения к программе:

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

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

Далее приведено еще несколько примеров циклических программ.

ПРИМЕР 11.5. Дано натуральное число n. Определить количество цифр в этом числе.
 
 

 

 


Рисунок 7. Схема алгоритма к примеру 11.5

CLS REM Ввод числа N REM Проверка: N - натуральное DO INPUT N LOOP N<>INT(N) OR N<=0 I%=0 : X=N DO WHILE X<>0 X = X 10 ‘ уменьшаем число на разряд I%=I%+1 LOOP PRINT “В числе”; N; I%; “цифр”» END  

Пояснения к программе:

- при очередном выполнении тела цикла число уменьшается на разряд (операцией целочисленного деления); в счетчике I происходит подсчет, сколько таких уменьшений выполнено;

- цикл завершается, когда число становится равным нулю (т.е. число «закончилось»).

ПРИМЕР 11.6. Дано натуральное число n. Определить количество цифр в этом числе.
    Рисунок 8. Схема алгоритма к примеру 11.6 CLS REM Ввод числа N REM Проверка: N - натуральное DO INPUT N LOOP N<>INT(N) OR N<=0 I%=0 : X=N DO WHILE X<>0 X = X 10 ‘ уменьшаем число на разряд I%=I%+1 LOOP X=N FOR J=I TO 0 STEP -1 REM получаем очередную цифру C=X MOD 10 REM уменьшаем число на разряд X=X 10 ‘ REM формируем новое число Z=Z + C * 10^(J-1) NEXT J PRINT Z END  

Пояснения к программе:

- этот пример является продолжением предыдущего;

- после того как мы получили количество цифр в числе I, организуем цикл, начиная с I до 0 с шагом -1, в котором формируется новое число с обратным порядком следования цифр: получаем очередную цифру исходного числа, уменьшаем число на разряд, добавляем к новому числу полученную цифру, умноженную на 10 в соответствующей степени (смотри программу).

ПРИМЕР 11.7. Определить является ли случайное число Х простым.

CLS

REM Задаем целое число с помощью датчика случайных чисел

RANDOMIZE TIMER

X=FIX(RND*100)

REM Определяем делится ли введенное число на какое-либо другое кроме 1 и REM самого себя без остатка

FOR j = 2 TO X2 'т.к. делители числа образуют пары

REM Если находится делитель, то число не простое, дальше можно не делить

IF X MOD j = 0 THEN PRINT Х, " - это число не простое" : END

NEXT j

REM Если вышли из цикла, значит делителей у числа нет

PRINT USING " простое число: "; Х

END

ПРИМЕР 11.8. Вводится последовательность чисел, 0 – конец последовательности. Определить, содержит ли последовательность хотя бы два равных соседних элемента.
 
 

 

 


Рисунок 8. Схема алгоритма к примеру 11.8

CLS INPUT “X=“, X INPUT “X=“, Y F=0 DO WHILE Y <> 0 IF X = Y THEN F = 1 X = Y INPUT “X=“, Y LOOP IF F = 0 THEN REM Равных соседних элементов нет PRINT “НЕТ” ELSE REM Есть равные соседние элементы PRINT “ДА” ‘ END IF END  

Пояснения к программе:

- вводим два первых элемента последовательности как X и Y, задаем начальное значение переменной F (признак того, что в последовательности нет равных элементов F=0 или есть равные элементы F=1);

- в цикле сравниваем два числа и, если они равны, устанавливаем значение F=1;

- запоминаем значение Y в X и вводим новое Y;

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

Сложные циклы

     

Рисунок 9. Схема алгоритма сложного цикла глубиной два

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

Если несколько усложнить условия примера 11.7, то для его решения придется использовать алгоритм сложного цикла.

ПРИМЕР 11.9: Найти и вывести все простые числа от 1 до 1000.

CLS

n=0

FOR i = 1 TO 1000 'начало внешнего цикла

FOR j = 2 TO i 2 'начало внутреннего цикла

IF i MOD j = 0 THEN GOTO 20

NEXT j 'завершение внутреннего цикла

n=n+1 'подсчет количества простых чисел

PRINT i 'вывод простого числа

20 NEXT i 'завершение внешнего цикла

PRINT "КОЛИЧЕСТВО ПРОСТЫХ ЧИСЕЛ НА ИНТЕРВАЛЕ:"; n

END

Лабораторное задание

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

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

3. Проанализировать работу операторов, пользуясь отладочными режимами.

4. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Приписать по единице перед и после этого числа.

Задание № 4.

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

Вариант №2

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Переставить первую и последнюю цифры в этом числе.

Задание № 4.

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

Вариант №3

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Определить произведение цифр этого числа.

Задание № 4.

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

Вариант №4

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Определить сумму цифр этого числа.

Задание № 4.

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

___________________________________________________________________

Вариант №5

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Прибавить по единице к старшему и к младшему разряду этого числа.

Задание № 4.

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

Вариант №6

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Определить, является ли оно простым.

Задание № 4.

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

Вариант №7

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п (n>2). Определить все делители данного числа.

Задание № 4.

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

Вариант №8

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Определить входит ли цифра m в данное число п.

Задание № 4.

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

Вариант №9

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Даны натуральные числа п и m. Вывести все простые числа в диапазоне от п до m.

Задание № 4.

Вычислить число точек с целочисленными координатами, попадающих в круг радиуса R и с центром в начале координат.

Вариант №10

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Вывести все простые делители данного числа.

Задание № 4.

Вычислить число точек с целочисленными координатами, попадающих в квадрат со стороной a, центр пересечения диагоналей которого находится в начале координат.

Вариант №11

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

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

Задание № 4.

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

Вариант №12

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

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

Задание № 4.

Вводится последовательность ненулевых чисел, завершаемая нулем. Определить среднее арифметическое чисел данной последовательности.

Вариант №13

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Вывести число, меньшие п с максимальной суммой делителей.

Задание № 4.

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

Вариант №14

Задание № 1.

Вычислить выражения, используя для организации цикла операторы FOR … NEXT (значения переменной п задавать с клавиатуры):

Задание № 2.

Определить сумму ряда с заданной точностью t () и число слагаемых, необходимое для достижения этой точности.

Задание № 3.

Дано натуральное число п. Вывести число, меньшие п с максимальным произведением делителей.

Задание № 4.

Вычислить число точек с целочисленными координатами, попадающих в прямоугольник со сторонами a и b, центр пересечения диагоналей которого находится в начале координат.

Лабораторная работа № 12 Работа с одномерными массивами

1. Изучение приемов программирования с использованием массивов. 2. Закрепление навыков работы в отладочных режимах среды QBasic. Массивом называют совокупность данных одного типа, обозначаемую одним именем. В зависимости от типа данных массивы…

Q(1)=0.25: Q(2)=0.12: Q(3)=0.35: Q(4)=0.28

DIM Q(1 TO 4) INPUT Q(1), Q(2), Q(3), Q(4) Вывод массива осуществляется с помощью оператора PRINT:

Лабораторное задание

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

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

3. Проанализировать работу операторов, пользуясь отладочными режимами.

4. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Определить сумму и количество положительных элементов исходного массива X(n).

Задание № 2.

Задан массив натуральных чисел, элементы которого могут принимать значения от 1 до 1000. Найти и вывести на экран сумму элементов самой длинной последовательности подряд идущих четных элементов массива, если такой последовательности не существует, вывести соответствующее сообщение.

Вариант №2

Задание № 1.

Определить среднее арифметическое положительных элементов исходного массива X(n).

Задание № 2.

Задан массив натуральных чисел, элементы которого могут принимать значения от 1 до 1000. Найти и вывести на экран сумму элементов самой длинной последовательности подряд идущих элементов массива, которые без остатка делятся на 3. Если такой последовательности не существует, вывести соответствующее сообщение.

Вариант №3

Задание № 1.

Определить индексы наибольшего и наименьшего элементов исходного массива X(n).

Задание № 2.

Задан массив натуральных чисел, элементы которого могут принимать значения от 1 до 1000. Найти и вывести на экран значение среднего арифметического элементов самой длинной последовательности подряд идущих нечетных элементов массива. Если такой последовательности не существует, вывести соответствующее сообщение.

Вариант №4

Задание № 1.

Переписать элементы исходного массива X(n) в массив Y(n) в обратном порядке.

Задание № 2.

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

Вариант №5

Задание № 1.

Определить сумму элементов исходного массива X(n) с нечетными номерами.

Задание № 2.

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

Вариант №6

Задание № 1.

Сформировать массив Y(n) из исходного массива X(n), расположив сначала положительные, а потом отрицательные элементы.

Задание № 2.

В исходном массиве найти и вывести второй максимум массива (элемент который в отсортированном по не возрастанию массиве стоял бы вторым).

Вариант №7

Задание № 1.

Сформировать массив Y(n) из исходного массива X(n) с циклическим сдвигом их на d элементов.

Задание № 2.

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

Вариант №8

Задание № 1.

Определить сумму отрицательных и количество положительных элементов исходного массива X(n).

Задание № 2.

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

Вариант №9

Задание № 1.

Определить значение и индекс элемента исходного массива X(n), наиболее близкого к среднему арифметическому всех элементов массива.

Задание № 2.

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

Вариант №10

Задание № 1.

В исходном массиве X(n) вывести номера тех элементов массива, которые являются простыми числами.

Задание № 2.

В исходном массиве найти номера двух элементов, наименее отличающихся друг от друга.

Вариант №11

Задание № 1.

Определить количество четных элементов исходного массива X(n).

Задание № 2.

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

Вариант №12

Задание № 1.

Определить количество элементов исходного массива X(n), заканчивающихся цифрами 5 или 7.

Задание № 2.

В исходном целочисленном массиве найти минимальное трехзначное число, записанное в этом массиве. Если таких чисел нет, то вывести сообщение об этом.

Вариант №13

Задание № 1.

Определить суммы четных, нечетных, положительных и отрицательных элементов исходного массива X(n).

Задание № 2.

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

Вариант №14

Задание № 1.

Определить сумму элементов исходного массива X(n), предшествующих первому отрицательному элементу массива, если отрицательных элементов в массиве нет, выдать соответствующее сообщение.

Задание № 2.

Исходный массив X(n) упорядочить по возрастанию.

Лабораторная работа № 13 Работа с двумерными массивами

1. Изучение приемов программирования с использованием двумерных массивов. 2. Закрепление навыков работы в отладочных режимах среды QBasic. В QBasic двумерные массивы (матрицы) описываются так же, как и одномерные. Различие состоит в том, что при описании…

Лабораторное задание

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

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

3. Проанализировать работу операторов, пользуясь отладочными режимами.

4. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Дана матрица целых чисел размером nхm. Найти в ней минимальный элемент и определить его местоположение (номер строки и номер столбца). Если таких элементов несколько, то вывести на экран положение каждого из них.

Задание № 2.

Дана матрица целых чисел размером nхm. Вычислить и вывести значение суммы максимальных элементов из каждой строки.

Вариант №2

Задание № 1.

Дана матрица целых чисел размером nхm. Определить местоположение максимального и минимального элементов матрицы (номер строки и номер столбца), получить разность этих элементов.

Задание № 2.

Дана матрица целых чисел размером nхm. Вычислить и вывести значение суммы минимальных элементов из каждого столбца.

Вариант №3

Задание № 1.

Дана матрица целых чисел размером nхm. Получить одномерный массив, элементы которого – суммы элементов соответствующих столбцов исходной матрицы.

Задание № 2.

Дана матрица целых чисел размером nхm. Получить новую матрицу, элементы строк которой больше элементов исходной матрицы на величину максимального элемента соответствующей строки исходной матрицы.

Вариант №4

Задание № 1.

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

Задание № 2.

Дана матрица целых чисел размером nхm. Найти максимальный элемент матрицы и его местоположение. Подсчитать и вывести количество элементов матрицы, равных максимальному.

Вариант №5

Задание № 1.

Дана матрица целых чисел размером nхm. Получить одномерный массив, элементы которого – минимальные элементы соответствующих столбцов исходной матрицы.

Задание № 2.

Дана квадратная матрица целых чисел размером nхn. Вычислить скалярное произведение строки с максимальным элементом и столбца с минимальным элементом матрицы.

Вариант №6

Задание № 1.

Дана матрица целых чисел размером nхm. Получить одномерный массив, элементы которого – максимальные элементы соответствующих строк исходной матрицы.

Задание № 2.

Дана матрица целых чисел размером nхm. Получить новую матрицу, элементы столбцов которой больше элементов исходной матрицы на величину минимального элемента соответствующего столбца исходной матрицы.

Вариант №7

Задание № 1.

Дана матрица целых чисел размером nхm. Найти максимальный элемент матрицы, начиная со следующего, все элементы матрицы увеличить на величину найденного элемента.

Задание № 2.

Дана матрица целых чисел размером nхm. Вычесть поэлементно из каждого столбца, кроме i-го, i-й столбец.

Вариант №8

Задание № 1.

Дана матрица целых чисел размером nхm. Каждый элемент матрицы возвести в квадрат, к полученному результату прибавить сумму индексов данного элемента.

Задание № 2.

Дана матрица целых чисел размером nхm. Вычесть поэлементно из каждой строки, кроме i-й, i-ю строку.

Вариант №9

Задание № 1.

Дана матрица целых чисел размером nхm. Элементы последней строки прибавить ко всем элементам других строк матрицы.

Задание № 2.

Дана матрица целых чисел размером nхm. Переставляя строки и столбцы, добиться, чтобы максимальный элемент матрицы переместился в левый верхний угол.

Вариант №10

Задание № 1.

Дана матрица целых чисел размером nхm. Найти минимальный элемент матрицы, начиная со следующего, все элементы матрицы уменьшить на величину найденного элемента.

Задание № 2.

Дана матрица целых чисел размером nхm. Найти строку матрицы с минимальной суммой элементов. Вывести номер строки и сумму ее элементов.

Вариант №11

Задание № 1.

Дана матрица целых чисел размером nхm. Переставить строки матрицы таким образом, чтобы элементы в первом столбце были упорядочены по убыванию.

Задание № 2.

Дана матрица целых чисел размером nхm. Найти столбец матрицы с максимальной суммой элементов. Вывести номер столбца и сумму его элементов.

Вариант №12

Задание № 1.

Дана матрица целых чисел размером nхm. Найти максимальный и минимальный элементы матрицы и поменять их местами.

Задание № 2.

Дана матрица целых чисел размером nхm. Найти сумму элементов строки матрицы, в которой расположен максимальный элемент. Если таких элементов несколько, то найти все суммы элементов соответствующих строк.

Вариант №13

Задание № 1.

Дана матрица целых чисел размером nхm. Найти максимальный и минимальный элементы матрицы и вычислить сумму элементов матрицы, расположенных между найденными элементами.

Задание № 2.

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

Вариант №14

Задание № 1.

Дана матрица целых чисел размером nхm.Определить сумму элементов матрицы, предшествующих первому отрицательному элементу, если отрицательных элементов в матрице нет, выдать соответствующее сообщение.

Задание № 2.

Дана квадратная матрица целых чисел размером nхn. Зеркально отразить ее элементы относительно горизонтальной оси симметрии.

Лабораторная работа №14 Строковый тип данных.

Цель работы:

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

2. Приобретение практических навыков в работе со строковыми данными.

Описание и ввод строковых данных

Строковая константа представляет собой произвольную последова­тельность символов, заключенную в двойные кавычки, длиной до 32567 символов, например,… Строковые переменные бывают переменной или фиксированной длины. Строка… 1) явно - с помощью суффикса $: Hello$ = "Привет"

Работа со строками. Строковые операции

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

Строковое выражение может содержать строковые константы, строковые переменные, вызов функций и строковые операции.

1. Операция "+" (конкатенация) предназначена для объединения строк. Результат операции имеет строковый тип. Например, после выполнения фрагмента программы:

L$ = "MOSCOW"

AGE$ = "We" + " live in " + L$

строковая переменная AGE$ примет значение: We live in MOSCOW.

2. Oперации сравнения (=, <>, <, >, <=, >=). Сравнение двух строк выполняется слева направо с учетом кодов ASCII. Т.е. сравниваются сначала коды первых символов, затем вторых и т.д. Результат операций сравнения имеет логический тип, то есть принимает значения ДАили НЕТ, например,

"A" < "B" (результат ДА)

"RA" > "RR" (результат НЕТ)

"2" > "12" (результат ДА)

Если две строки имеют различную длину, но их начальные символы совпадают, включая последний символ более короткой строки, то короткая строка считается меньшей, например:

"12.0" > "12" (результат ДА).

Cтроки считаются равными тогда и только тогда, когда имеют одина­ковую длину и одинаковую последовательность символов, например:

"TURBO" = "TURBO" (результат ДА)

"TURBO" = " TRUBO " (результат НЕТ).

Строковые функции и операторы

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

Функции, возвращающие числовые значения:

ASC(Str$)– выдает числовое значение ASCII-кода первого символа в Str$.

LEN(Str$)– выдает целое число, равное длине строкового выражения Str$.

VAL(Str$)– преобразует строку в числовое выражение, если первый символ аргумента не числовой, то функция возвращает ноль.

INSTR(n, Str$, Str1$)– определяет позицию вхождения выражения Str1$ в Str$, начиная с позиции n.

Функции, аргумент которых числовое выражение):

CHR$(код)– выдает символ ASCII, код которого является аргументом.

STR$(числовое выражение) – преобразует числовое выражение в символьное. Если значение выражения положительно, то к полученной строке слева добавляется пробел.

Пары функций ASC(Str$)иCHR$(код); VAL(Str$)иSTR$(числовое выражение) являются обратными по своему назначению.

Функции, и аргумент и значение которых символьные выражения:

MID$(St$, n, m) в качестве результата дает фрагмент строки St$, длиной m, начиная с позиции n.

Оператор MID$(St$, n, m)= Zt$ заменяет фрагмент строки St$ длиной m, начиная с позиции n на строку Zt$.

LEFT$(St$, n) - выделяет из выражения n левых символов.

RIGHT$(St$, n) - выделяет из выражения n правых символов.

LTRIM$(St$) - удаляет левые пробелы.

RTRIM$(St$)- удаляет правые пробелы.

INKEY$ - функция анализирует информацию о нажатых клавишах. Эта функция, помещенная в цикл DO … LOOP, может быть использована для создания паузы произвольной продолжительности, управления графическим объектом, выхода из цикла и т.д.

HEX$(числовое выражение&) – возвращает шестнадцатеричное представление аргумента.

OCT$(числовое выражение&) – возвращает восьмеричное представление аргумента.

LCASE$(Str$) –переводит все буквы строки Str$ в строчные.

UCASE$(Str$) –переводит все буквы строки Str$ в прописные.

SPASE$(n%) –возвращает строку из n% пробелов.

STRING$(n%, {код | строковое выражение}) –возвращает строку из n% повторяющихся символов.

Следует обратить внимание на то, что тексты могут содержать числовую информацию, но в этом случае цифры в тексте воспринимаются как символы.

ПРИМЕР 14.1. Из исходной строки a$ удалить подряд идущие повторяющиеся пробелы (из группы подряд идущих пробелов остается один).

CLS

LINE INPUT a$ ' вводим исходную строку

DIM I, dl AS INTEGER

dl = LEN(a$) 'определяем длину строки

FOR I = 1 TO dl-1

REM Формируем новую строку b$ без лишних пробелов

REM Из строки a$ выделяем очередной символ и следующий за ним

s$ = MID$(a$, i, 1)

ss$ = MID$(a$, i + 1, 1)

IF s$ <> " " AND ss$ <> " " OR s$ <> " " AND ss$ = " " THEN

b$ = b$ + s$

REM В строку b$ записывается последний пробел из подряд идущих пробелов

ELSEIF s$ = " " AND ss$ <> " " THEN

b$ = b$ + s$

END IF

NEXT I

PRINT b$ 'выводим полученную строку

END

Пояснения к программе:

Новую строку b$ формируем следующим образом:

- в исходной строке a$ выделяются два соседних символа;

- если первый из них не пробел, то он присоединяется к новой строке;

- если оба символа пробелы, то в новую строку ничего не добавляется;

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

- все условия в блочном операторе можно объединить в одно сложное условие.

ПРИМЕР 14.2.Для строки a$ определить, является ли она симметричной (читается одинаково слева направо и справа налево).

LINE INPUT a$ 'вводим исходную строку

DIM I AS INTEGER

FOR I=LEN(a$) TO 1 STEP -1 'используем отрицательный шаг

b$=b$ + MID$(a$, I, 1) 'заполнение зеркально отраженной строки

NEXT I

IF a$=b$ THEN 'сравнение исходной строки и зеркально отраженной

PRINT "Строка симметричная"

ELSE PRINT "Строка несимметричная"

END IF

END

Пояснения к программе:

- по исходной строке a$ формируем новую строку b$, которая является зеркальным отображением исходной (исходная строка переписанная от конца к началу);

- если строки a$ и b$ совпадают, то исходная строка a$ является симметричной.

Рассмотрим другой способ решения задачи.

LINE INPUT a$ 'вводим исходную строку

DIM I, n AS INTEGER

n=LEN(a$)

FOR I=1 TO n2

b1$=MID$(a$, I, 1) 'считывание очередного символа строки

b2$=MID$(a$, n-I+1, 1) 'считывание симметричного символа

IF b1$<>b2$ THEN PRINT "Строка несимметричная" : END

NEXT I

PRINT "Строка симметричная"

END

Пояснения к программе:

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

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

ПРИМЕР 14.3. Сложить два целых положительных числа большой длины.

CLS

INPUT "введите первое число", a$

INPUT "введите второе число", b$

DIM la, lb, I, per, sd, s1, s2 AS INTEGER

la = LEN(a$) : lb = LEN(b$)

IF la < lb THEN

DO WHILE la <> lb 'цикл выравнивания строк по длине

a$="0"+a$: la = LEN( a$)

LOOP

END IF

IF la > lb THEN

DO WHILE la <> lb ' цикл выравнивания строк по длине

b$="0" + b$: lb = LEN(b$)

LOOP

END IF

per = 0

FOR I = la TO 1 STEP -1

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

s1 = VAL(MID$(a$, I, 1))

s2 = VAL(MID$(b$, I, 1))

s = s1 + s2 + per 'складываем поразрядно числа и перенос

IF s > 9 THEN

ed = s MOD 10: per = 1 'разделяем сумму на единицы и десятки-перенос

ELSE

ed = s: per = 0

END IF

REM Преобразуем число в строку, убираем пробелы

REM и присоединяем к результату

c$ = LTRIM$(STR$(ed)) + c$

NEXT I

IF per = 1 THEN c$ = STR$(per) + c$ 'присоединяем последний перенос

PRINT a$ : PRINT b$ : PRINT c$

END

Пояснения к программе:

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

- в данной программе имитируется сложение двух чисел столбиком;

- вводятся два числа в символьной форме;

- строки выравниваются по длине, для этого к началу более короткой строки приписываются нули;

- начиная с конца строк, выделяется по одной цифре из каждой строки, которые преобразуются в числовую форму, и складываются (s1 и s2);

- если их сумма больше 9, то отдельно записываются единицы в ячейку «ed» и перенос - в ячейку «per»; перенос участвует в сложении цифр следующего разряда заданных чисел.

ПРИМЕР 14.4. Дана строка символов, заканчивающаяся точкой. Посчитать, сколько слов содержит данная строка.

CLS

LINE INPUT a$ ' вводим исходную строку

REM Описываем целочисленные переменные, K – счетчик слов

DIM L, I, K AS INTEGER

L = LEN(a$)

K = 0 'устанавливаем начальное значение счетчика слов

FOR I = 1 TO L-1

REM Считываем из исходной строки два соседних символа

s$ = MID$(a$, I, 1)

ss$ = MID$(a$, I + 1, 1)

REM Счетчик увеличивается, если за пробелом следует не пробел

IF s$ <> " " AND ss$ <> " " THEN K = K + 1

NEXT I

PRINT K + 1

END

Пояснения к программе:

- учитываем, что слова отделяются друг от друга пробелами. Подсчитав количество пробелов (групп пробелов), можно определить количество слов в строке. Т.к. в конце строки стоит точка, то количество пробелов будет на единицу меньше, чем число слов;

- в исходной строке a$ выделяются два соседних символа;

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

- после обработки строки выводится увеличенное на единицу значение счетчика слов;

- данная программа правильно работает и в случае, когда слова отделяются друг от друга более чем одним пробелом;

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

Группу строк (символов) можно хранить в строковом массиве, например A$(i), и обращаться к отдельным строкам по именам A$(1),A$(2),A(3) и т.д. Например, список фамилий в телефонном справочнике можно представить, как одномерный строковый массив.

Для массивов строк допустимы те же имена, что и для числовых массивов, только к имени добавляется знак $ или в описании указывается тип. Каждый элемент массива равноценен строковой переменной. Действие всех вышеперечисленных строковых функций распространяется и на элементы массивов.

ПРИМЕР 14.5. С клавиатуры вводится список фамилий. Количество фамилий заранее известно. Распечатать список фамилий в алфавитном порядке.

REM Задача представляет собой задачу сортировки одномерного массива

CLS

DIM n, i, j AS INTEGER

INPUT n 'вводим количество фамилий

DIM fio(n) AS STRING 'описываем символьный массив

REM Вводим с клавиатуры список фамилий

FOR i = 1 TO n

INPUT fio(i)

NEXT

REM Сортировка массива методом «пузырька»

FOR i = 1 TO n - 1

FOR j = 1 TO n - i

REM Если фамилии не по алфавиту, меняем их местами оператором "swap"

IF fio(j) > fio(j + 1) THEN SWAP fio(j), fio(j + 1)

NEXT j

NEXT i

REM Выводим на экран отсортированный список фамилий

FOR i = 1 TO n

PRINT fio(i)

NEXT

END

ПРИМЕР 14.6. Дана строка, состоящая из нескольких слов. Записать слова строки в символьный массив (элемент массива – слово строки). Вывести полученный массив в столбик.

CLS

LINE INPUT a$ ' вводим исходную строку

REM Описываем целочисленные переменные, K – счетчик слов в строке

DIM L, I, K, J, m AS INTEGER

L = LEN(a$)

K = 0 'устанавливаем начальное значение счетчика слов

FOR I = 1 TO L-1

REM Считываем из исходной строки два соседних символа

s$ = MID$(a$, I, 1)

ss$ = MID$(a$, I + 1, 1)

REM Счетчик увеличивается, если за пробелом следует не пробел

IF s$ <> " " AND ss$ <> " " THEN K = K + 1

NEXT I

K = K + 1 'окончательное значение счетчика слов

a$ = a$ + " " 'пробел в конце строки: каждое слово заканчивается пробелом

DIM SL$(1 TO K) 'описываем строковый массив по числу слов в строке

REM Формируем строковый массив

I = 1 'устанавливаем позицию начала поиска первого пробела в строке

FOR J = 1 TO K

m = INSTR(I , a$, " ") 'ищем позицию вхождения в строку очередного пробела

SL$(J) = MID$(a$, I, m-I) 'записываем очередное слово в массив

I = m +1 'устанавливаем позицию начала поиска очередного пробела

PRINT SL$(J) 'выводим сформированный элемент массива на экран

NEXT J

END

Пояснения к программе:

- подсчитываем число слов в исходной строке a$: переменная K;

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

- описываем строковый массив SL$, количество элементов которого равно числу слов в исходной строке a$;

- переменная I – позиция начала поиска очередного пробела в строке одновременно является позицией начала очередного слова в строке, начальное значение переменной I равно 1;

- ищем позицию вхождения очередного пробела в строке – функция INSTR и формируем элемент массива SL$;

- выводим очередной элемент массива SL$ на экран.

Лабораторное задание

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

2. В системе QBASIC создать файлы программ.

3. Отладить и выполнить программы. Результат вывести на экран.

4. Проанализировать работу операторов и символьных функций.

5. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Даны строки a$ и b$. Вывести все символы строки a$, не входящие в строку b$.

Задание № 2.

В исходной строке b$ определить количество слов, начинающихся заданным символом x$.

Вариант №2

Задание № 1.

Дана строка a$. Расположить все символы строки a$ в алфавитном порядке.

Задание № 2.

В исходной строке b$ заменить все вхождения заданного символа x$ на другой заданный символ y$.

Вариант №3

Задание № 1.

В исходной строке b$ определить сумму цифр самой длинной последовательности подряд идущих цифр.

Задание № 2.

В исходной строке b$ определить количество слов, содержащих хотя бы один заданный символ x$.

Вариант №4

Задание № 1.

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

Задание № 2.

В исходной строке b$ отсортировать все слова по алфавиту.

Вариант №5

Задание № 1.

В исходной строке b$ определить все слова, отличные от первого слова. Вывести эти слова в столбик.

Задание № 2.

Определить для строки b$, является ли она правильной записью целого числа без знака в двоичной системе счисления. Если да, определить является ли это число четным.

Вариант №6

Задание № 1.

В исходной строке b$ после каждого вхождения заданного сочетания символов x$ ввести сочетание символов y$.

Задание № 2.

Определить для строки b$, является ли она правильной записью целого числа без знака в десятичной системе счисления.

Вариант №7

Задание № 1.

Определить для строки b$, является ли она правильной записью целого числа без знака в восьмеричной системе счисления.

Задание № 2.

В исходной строке а$ произвести циклическую перестановку слов влево на n слов. Вывести исходную и полученную строки.

Вариант №8

Задание № 1.

Определить для строки b$, является ли она правильной записью целого числа без знака в шестнадцатеричной системе счисления.

Задание № 2.

Вывести все символы исходной строки а$, начиная от первого заданного символа x$ до последнего заданного символа y$. Если заданных символов в строке нет, вывести сообщение об этом.

Вариант №9

Задание № 1.

Определить сумму ASCII-кодов символов, составляющих строку а$. Сформировать строку b$, состоящую из символов, ASCII-коды которых на заданное число n больше кодов соответствующих символов строки а$.

Задание № 2.

Вывести все слова исходной строки а$, которые встречаются в ней один раз.

Вариант №10

Задание № 1.

В исходной строке а$ заменить все вхождения знака «.» на знак «!».

Задание № 2.

Определить, сколько предложений содержится в исходной строке а$ и сколько слов находится в каждом предложении. Результат анализа вывести на экран.

Вариант №11

Задание № 1.

Определить, сколько слов содержится в исходной строке а$. Найти самое длинное слово в строке.

Задание № 2.

Дано натуральное число n. Приписать по единице перед старшим и после младшего разрядов числа. Задачу решить с использованием символьных функций.

Вариант №12

Задание № 1.

В исходной строке а$ найти и вывести самое длинное и самое короткое слова.

Задание № 2.

В исходной строке b$ заменить все вхождения заданной подстроки x$ на другую заданную подстроку y$.

Вариант №13

Задание № 1.

В исходной строке b$ определить количество слов, заканчивающихся заданным символом x$.

Задание № 2.

Определить для строки b$, является ли она правильной записью целого нечетного числа без знака в двоичной системе счисления. Если да, инвертировать это число.

Вариант №14

Задание № 1.

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

Задание № 2.

В исходной строке а$ произвести циклическую перестановку слов вправо на n слов. Вывести исходную и полученную строки.

Лабораторная работа № 15 Работа в графическом режиме

1. Изучение приемов программирования с использованием графического режима. 2. Приобретение практических навыков работы в графическом режиме. Для воспроизведения графики компьютер снабжен специальными аппаратными средствами. К ним относятся монитор и…

Таблица 9. Номера экранных цветов

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

Современные персональные компьютеры комплектуются дисплеями способными отображать палитры от 256 до 16 млн. цветов.

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

В текстовых режимах можно задавать координаты символа, определяя положение курсора, относительно левого верхнего угла экрана (1,1), цвет сим­вола (цвет переднего плана) и цвет фона (цвет заднего плана).

Функции и операторы графического режима

CLS - очищает экран дисплея;

VIEW [[SCREEN](x1,y1)-(x2,y2)[,[n][,m]]] - устанавливает окно графического вывода, ограниченное прямоугольной областью с координатами (x1,y1) левого верхнего угла и (x2,y2) правого нижнего угла, где n - числовое выражение: цвет закраски окна; m - числовое выражение: цвет рамки окна вывода. SCREEN-аргумент. Определяет, что координаты (x, y) любой выводимой точки имеют абсолютные значения. Графика выводится только внутри окна. Если SCREEN отсутствует, то внутри окна вывода действуют относительные к границам окна (х1,у1) координаты.

WINDOW [[SCREEN](x1,y1)-(x2,y2)] -устанавливает размеры текущего окна вывода. (x1,y1)-(x2,y2) - числа обычной точности, определяющие координаты прямоугольного окна вывода.

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

Модификация WINDOW SCREEN преобразует направление координаты Y в декартово представление, т.е. значения Y идут от большего к меньшему сверху вниз.

SCREEN n, где n - выражение или константа целого типа, указывает номер режима экрана. Оператор SCREEN используется для выбора режима экрана в соответствии с особенностями аппаратуры видеоадаптера и монитора, этот оператор в программе должен предшествовать любым графическим операторам.

Таблица 10. Параметры основных режимов оператора SCREEN

Режимы (n) Разрешение Число атрибутов Число цветов Примечание
текстовый режим (обычно 25 строк по 80 символов)
320 х 200  
640 х 200
320 х 200
640 х 200
640 х 350
640 х 480 Необходимо применение оператора PALETTE
640 х 480
320 х 200
               

COLOR [n],[m] - устанавливает экранные цвета, где n - цвет переднего плана (букв или графических изображений), m - цвет фона. Например, оп6ратор COLOR 10,4 установит на красном фоне ярко-зеленый цвет букв или графических изображений.

PALETTE [n,m]- изменяет цвет в палитре, где n - атрибут палитры, который нужно изменить (0 - 15), m - цвет, присваиваемый атрибуту, величина длинного, целого типа.

PALETTE USING A%[(i)] - изменяет все атрибуты одновременно, где A% - имя массива длинного, целого типа. Массив А% должен содержать номера цветов, присваиваемых атрибутам текущего режима экрана, i - индекс начального элемента массива, используемый для установки палитры.

PRESET [STEP](x,y)[,n]; PSET [STEP](x,y)[,n] - рисуют точку на экране, где (x,y) - координаты точки на экране. Величины координат, отображаемых на экране точек, зависят от установленного графического режима (оператор SCREEN). Значения координат могут выходить за пределы экрана, но не должны превышать значений (от -32768 до 32767), STEP - указывает, что координаты (x,y) отображаемой точки берутся как приращение к соответствующим координатам предыдущей точки. При отсутствии аргу­мента STEP координаты (x,y) непосредственно указывают физические координаты экрана, n - цвет.

Различие операторов PSET и PRESET состоит в том, что если цвет опущен, в первом случае точка выводится цветом переднего плана, а во втором - цветом фона. На атрибут цвета влияют операторы COLOR и PALETTE.

LINE [[STEP](x1,y1)]-[STEP](x2,y2)[,[n][,[B[F]][,&m]]]рисует линии, контуры прямоугольников, закрашенные прямоугольники. (x1,y1)-(x2,y2) - устанавливают координаты начала и конца отрезка; n - цвет линии, контура или закраски прямоугольника; параметр B устанавливает режим рисования прямоугольника; параметр BF устанавливает режим рисования прямоугольника, закрашенного цветом n; STEP - указывает на относительные координаты (относительно последней точки); &m - параметр "стиль" - 16-битовое целое число. Используется для рисования пунктирных линий.

CIRCLE [STEP](x,y),r[,[n][,[fi1][,[fi2][,k]]]] - рисует эллипс или окружность; (x,y) - координаты центра окружности или эллипса; r - радиус круга или эллипса; STEP - указывает, что (x,y) задаются как смещение относительно текущей позиции графического курсора; n - цвет фигуры; fi1,fi2 - начальный и конечный углы рисования фигуры. Их значения - в диапазоне от -2*PI до 2*PI радиан. При задании положительного угла рисуется лишь дуга, при задании отрицательного угла - та же дуга, но с отрезком, соединяющим точку дуги с центром; k - коэффициент сжатия: отношение радиуса "y" к радиусу "х". По умолчанию его значение соответствует окружности, а его величина зависит от режима.

PAINT [STEP](x,y)[,[n][,[m][,k$]]] - закрашивает графические фигуры; STEP - устанавливает режим отсчета координат относительно текущего положения курсора; (x,y) - координаты начала закраски. Если точка внутри фигуры, то закрашивается сама фигура, если точка вне фигуры то закрашивается фон; n - атрибут цвета; m - атрибут цвета для рамки; k$ - параметр строкового типа, указывает шаблон цвета фона. Этот параметр используется для закраски уже окрашенной области экрана.

Следует отметить, что данный оператор правильно работает лишь в том случае, когда

- закрашиваемая область - замкнута;

- координаты (x,y) задают точку внутри окрашиваемой фигуры;

- окрашиваемая фигура ограничена рамкой цвета m.

VIEW PRINT [n to m] - устанавливает границы текстового окна вывода, где n - числовое выражение: первая строка текстового вывода; m - числовое выражение: последняя строка текстового вывода; если аргументы отсутствуют, окном является весь экран.

POINT (x,y)определяет цвет точки с координатами (x,y).

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

Таблица 11. Макроопределения оператора DRAW

Команды перемещения
Un Вверх (на n пикселей)
Dn Вниз
Ln Влево
Rn Вправо
En По диагонали вверх и вправо
Fn По диагонали вниз и вправо
Gn По диагонали вниз и влево
Hn По диагонали вверх и влево
Mx,y Перемещение в точку с координатами (x,y)
B Перемещение без отображения
N Перемещение с возвратом в исходную точку
Команды вращения
An Установка угла поворота, кратного PI/2 рад (n=0, 1,2,3)
Tan Поворот на угол n (-360 <= n <= 360 град.). Положительный угол соответствует повороту против часовой стрелки.
Sn Установка масштабного коэффициента n - от 1 до 255. Число точек на экране в масштабной единице равно n/4. По умолчанию n=4.
Команды управления цветом
Cn Установка цвета с номером n
Pp,q Выбор цвета закраски фигуры: p - номер цвета закраски, q - номер цвета границы

LOCATE n, m, i, l, k - используется в текстовом режиме, перемещает курсор на указанную позицию экрана, где n - номер текстовой строки экрана; m - номер позиции в строке; i - двоичное число: делает курсор невидимым при значении "0" и видимым при значении "1"; l, k - начало и конец курсора соответственно, эти параметры управляют размером курсора. по вертикали. В качестве параметров могут быть переменные, арифметические выражения или числа. Все они должны быть целого типа. Любой из этих параметров может быть опущен. Оператор PRINT, следующий за оператором LOCATE, выводит символы на экран, в позиции m строки n. Аналогично оператор INPUT, следующий за оператором LOCATE, запрашивает данные с позиции m, n.

ПРИМЕР 15.1. Сформировать окно на экране (40 <= xэкр<= 200, 80 <= <= yэкр <= 125), соответствующее геометрической области (-5 <= x <= 5, -2 <= y <= 2). Пример на использование операторов WINDOW и VIEW.

SCREEN 9 'Задание разрешения экрана 640 х 350

REM Задание размеров окна на экране в пикселях

VIEW (40, 80)-(200, 125), 3, 7

REM Задание геометрических размеров окна

WINDOW (-5, -2)-(5, 2)

END

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

ПРИМЕР 15.2. Нарисовать прямоугольник и заштриховать его в клетку.

CLS

SCREEN 11 'разрешение 640*480

LINE (0, 0)-(250, 250), , B 'рисуется прямоугольник

FOR i = 0 TO 250 STEP 10

LINE (i, 0)-(i, 250) 'вертикальные линии

LINE (0, i)-(250, i) 'горизонтальные линии

NEXT

END

Пояснения к программе:

- горизонтальные линии характерны тем, что координаты по оси Y начальной и конечной точки равны;

- вертикальные линии характерны тем, что координаты по оси Х начальной и конечной точки равны;

- в том случае, если необходимо чтобы штриховка была под углом 45°, то одинаковыми должны быть разноименные координаты (пример 11.3).

ПРИМЕР 15.3.Нарисовать прямоугольник и заштриховать его под углом 45°.

CLS

SCREEN 11

LINE (0, 0)-(250, 250), , B

FOR i = 0 TO 250 STEP 10

LINE (250, i)-(i, 250) ' линии рисуются вправо от диагонали к нижнему углу

LINE (0, i)-(i, 0) ' линии рисуются вправо от верхнего правого угла

NEXT i

END

ПРИМЕР 15.4.Сформировать на экране график двух периодов функции sin(x), использовать в программе операторы WINDOW, VIEW, SCREEN, СOLOR, PSET).

REM Построение синусоиды

SCREEN 9 'Задание разрешения экрана 640 х 350

pi = 3.1415 'Задание числа "пи"

COLOR 12 'Задание цвета

REM Выделяем часть экрана для построения графика

VIEW (20, 50)-(639, 349)

REM Установим удобную систему координат

WINDOW SCREEN (-2 * pi - 1, 1.1)-(2 * pi + 1, -1.1)

REM Формирование синусоиды по точкам

FOR i = 0 TO 4 * pi STEP pi / 32000

PSET (i - 2 * pi, SIN(i))

NEXT i

END

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

ПРИМЕР 15.5.Нарисовать на экране квадрат и полукруг; фигуры закрасить, используя в программе операторы LINE, CIRCLE и PAINT.

CLS 'Очистка экрана

SCREEN 9 'задание разрешения экрана 640 х 350 пикселей

REM Задание коэффициента, выравнивающего координаты x и y

a = 3 / 4

CLS 'Очистка экрана

REM Построение квадрата с заданной стороной n в центре экрана

n=100

LINE (320 - n/2, 175 - n/2*a)-(320 + n/2, 175 + n/2*a), 1, BF

REM Построение полукруга

CIRCLE (160, 200), 75, 1, -.0001, -3.14

REM Закраска полукруга

PAINT (160, 199), 2, 1

END

ПРИМЕР 15.6. Построить семейство разноцветных случайным образом расположенных окружностей.

CLS

INPUT N 'вводим количество окружностей

CLS

SCREEN 11 'задание разрешения экрана 640*480

COLOR 2 'устанавливаем цвет переднего плана – зеленый

REM Организуем цикл, в котором рисуются N разноцветных окружностей, REM расположенных случайным образом случайного цвета

FOR i = 1 TO N

X1 = 320 * RND

Y1 = 240 * RND

C = FIX(15 * RND)

CIRCLE(X1, Y1), 15, C

NEXT i

END

ПРИМЕР 15.7.Сформировать на экране текстовое окно с бегущими строками, используя оператор VIEW PRINT.

CLS 'Очистка экрана

REM Установка границ окна: от 10-ой до 12-ой строки

VIEW PRINT 10 TO 15

FOR i% = 1 TO 200

PRINT USING " ###"; i% ;'Форматированный вывод чисел от 1 до 99

FOR j = 1 TO 500000: NEXT j 'Цикл задержки

NEXT i%

END

В результате выполнения программы на экране в строках с 10 по 12 побегут числа от 1 до 200.

ПРИМЕР 15.8. Нарисовать с помощью оператора DRAW "ключ".

SCREEN 11 'Задание разрешения экрана 640 х 350

DRAW "M+25,+25 M+25,-25 M-25,-25 M-25,+25 M-60,+0"

DRAW "M+0,+20 M+10,-10 M+10,+10 M-0,-20"

END

В результате выполнения программы на экране появится графическое изображение ключа.

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

FOR K=1 TO N : NEXT

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

Таким образом, для программирования движение объекта нужно выполнить следующую последовательность действий:

1. стереть прежнее изображение;

2. задать координаты нового изображения;

3. нарисовать новое изображение;

4. задержать пустым циклом;

5. повторить, начиная с первого пункта.

ПРИМЕР 15.9. Построить на экране движущуюся фигуру, сформиро­ванную оператором DRAW.

SCREEN 9 'задание разрешения экрана 640 х 350

FOR i = 1 TO 300 ' цикл движения

FOR j = 1 TO 100000 : NEXT j 'цикл задержки

REM Стирание старой фигуры (цвет - черный)

DRAW "c0e5u11f5r11g5d11h5l11"

REM Задание новой исходной точки:

PSET (173 + i, 177)

REM Формирование новой фигуры (цвет - красный)

DRAW "c12e5u11f5r11g5d11h5l11"

NEXT I

END

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

Возможно запрограммировать перемещение объекта по командам с клавиатуры.

ПРИМЕР 15.10.Нарисовать фигуру робота, способного перемещаться по четырем направлениям в соответствии с нажатием клавиш управления.

SCREEN 12 'задание разрешения экрана 640*480

x = 100: y = 240 'задаем начальные координаты

50 PSET (x, y)

REM Рисуем фигуру

DRAW "c1r20d10r10d30l10u20d50l10u30d30l10u50d20l10u30r10u10"

100 A$ = INKEY$ 'запрашивается состояние клавиатуры

IF A$ = "" THEN GOTO 100 'при отсутствии нажатия запрос повторяется

REM в противном случае объект стирается (рисуется черным на черном)

DRAW "c0r20d10r10d30l10u20d50l10u30d30l10u50d20l10u30r10u10"

REM При нажатии клавиши "u" или "U" движение вверх

REM При нажатии клавиши "d" или "D" движение вниз

REM При нажатии клавиши "l" или "L движение влево

REM При нажатии клавиши "r" или "R" движение вправо

IF A$ = "U" OR A$ = "u" AND y > 5 THEN y = y - 5

IF A$ = "D" OR A$ = "d" AND y < 450 THEN y = y + 5

IF A$ = "L" OR A$ = "l" AND x > 5 THEN x = x - 5

IF A$ = "R" OR A$ = "r" AND x < 600 THEN x = x + 5

IF A$ = "E" OR A$ = "e" then end

GOTO 50

END

ПРИМЕР 15.11.Построить движение круга слева направо до границы экрана.

CLS

INPUT R 'задание радиуса круга

CLS

SCREEN 9 'задание разрешения экрана 640 х 350

Y = 175 'круг будет двигаться в средней части экрана

FOR X = R TO 640-R STEP 2 ' шаг задает величину смещения по оси Х

CIRCLE (X, Y), R, 4 'рисуется круг красного цвета

FOR j = 0 TO 100000 : NEXT 'цикл задержки

CIRCLE (X, Y), R, 0 'рисуется круг черного цвета

FOR j = 0 TO 100000 : NEXT 'цикл задержки

NEXT

END

Пояснения к программе:

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

ПРИМЕР 15.12.Построить движение секундной стрелки по часовому циферблату.

CLS

SCREEN 7 'задание разрешения экрана 320 х 200

REM Формируем простой циферблат

CIRCLE(160, 100), 75, 9

LINE (160, 40)-(160, 38), 9

LINE (160, 160)-(160, 162), 9

LINE (85, 100)-(87, 100), 9

LINE (235, 100)-(233, 100), 9

X1 = 160

Y1 = 100

REM Организуем два цикла

REM Внешний цикл позволяет завершить движение стрелки

DO WHILE INKEY$ <> ""

REM Внутренний цикл изменяет угол движения стрелки

FOR I = 90 TO -270 STEP -6 'шаг задает величину смещения по оси Х

RAD = I * 3.141593 / 180 'переводим градусы в радианы

X2 = X1 + 60 * COS(RAD)

Y2 = Y1 – 60 * SIN(RAD)

LINE (X1, Y1)-(X2, Y2), 2 'рисуем стрелку зеленым цветом

FOR j = 0 TO 100000 : NEXT 'цикл задержки

LINE (X1, Y1)-(X2, Y2), 0 'стираем стрелку

FOR j = 0 TO 100000 : NEXT 'цикл задержки

NEXT I

LOOP

END

Пояснения к программе:

- для решения данной задачи необходимо воспользоваться параметрическим уравнением окружности: X = X0 + R * COS(a): Y = Y0 – R * SIN(a);

- при изменении угла от 0 до 360 конец радиуса вычертит окружность. Секундная стрелка за 60 сек. делает один оборот; следовательно за каждый такт (секунду) она сдвигается на 6 градусов.

Лабораторное задание

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

2. В системе QBASIC создать файлы программ.

3. Отладить и выполнить программы. Результат вывести на экран.

4. Составить отчет. Защитить работу.

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

Вариант №1

Задание № 1.

Построить совокупность п концентрических окружностей, окрашенных в случайные цвета.

Задание № 2.

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

Вариант №2

Задание № 1.

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

Задание № 2.

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

Вариант №3

Задание № 1.

Построить совокупность п отрезков, окрашенных в случайные цвета и расположенных случайным образом.

Задание № 2.

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

Вариант №4

Задание № 1.

Построить совокупность п отрезков, окрашенных в случайные цвета и расположенных параллельно оси X.

Задание № 2.

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

Вариант №5

Задание № 1.

Построить совокупность п отрезков, окрашенных в случайные цвета и расположенных параллельно оси Y.

Задание № 2.

Сформировать окружность радиуса r, движущуюся вдоль оси Х в обоих направлениях до границы экрана.

Вариант №6

Задание № 1.

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

Задание № 2.

Сформировать окружность радиуса r, движущуюся вдоль оси Y в обоих направлениях до границы экрана.

Вариант №7

Задание № 1.

Построить совокупность n окружностей радиуса r, центры которых равномерно распределены по окружности радиуса r1.

Задание № 2.

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

Вариант №8

Задание № 1.

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

Задание № 2.

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

Вариант №9

Задание № 1.

Построить совокупность n кругов радиуса r со случайными координатами их центров, закрашенных в случайные цвета.

Задание № 2.

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

Вариант №10

Задание № 1.

Построить совокупность n кругов радиуса r, закрашенных в случайные цвета, центры которых расположены на диагонали используемого экрана.

Задание № 2.

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

Вариант №11

Задание № 1.

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

Задание № 2.

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

Вариант №12

Задание № 1.

Построить совокупность n квадратов с общим центром.

Задание № 2.

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

Вариант №13

Задание № 1.

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

Задание № 2.

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

Вариант №14

Задание № 1.

Построить окружность, состоящую из заданного числа дуг случайных цветов.

Задание № 2.

Сформировать точку, движущуюся по синусоидальной траектории.

Вариант №15

Лабораторная работа № 16 Составление сложных алгоритмов и программ

Цель работы:

1.Обобщение полученных знаний.

2.Приобретение практических навыков в составлении сложных алгоритмов и программ и их последующей отладке.

Лабораторное задание.

1. Составить программы варианту Вашего индивидуального задания.

2. В системе QBASIC создать файлы программ.

3. Отладить и выполнить программы. Результат вывести на экран.

4. Составить отчет. Защитить работу.

Лабораторная работа состоит из одной задачи по выбору преподавателя.

Задание № 1.

Сформировать по числовому заданию времени (часы, минуты) его словесную форму (например. 21:12 –«двадцать один час двенадцать минут»).

Задание № 2.

Написать программу алгебраического сложения десятичных чисел с плавающей запятой. Исходные числа и результат должны иметь следующую форму: «0.nnnnn*10^mmm».

Задание № 3.

Дан перечень дат (формат «21 сентября 1982 г.»). Рассортировать эти даты в порядке возрастания.

Задание № 4.

По заданному слову a$ сформировать и вывести слова, буквы в которых являются всевозможными перестановками букв исходного слова.

Задание № 5.

Сформировать по числовому заданию даты (число, месяц) ее словесную форму с учетом падежей (например. 21.12 –«двадцать первое декабря»).

Задание № 6.

Рассортировать слова исходного перечня слов одинаковой длины a$ по убыванию суммы их ASCII-кодов.

Задание № 7.

Сформировать и вывести таблицу умножения в шестнадцатеричной системе счисления. Вывод осуществить в виде таблицы, на пересечении i–ой строки и j–ого столбца которой располагается результат перемножения 16-ричных цифр «i» и «j».

Задание № 8.

Сформировать и вывести таблицу умножения в восьмеричной системе счисления. Вывод осуществить в виде таблицы, на пересечении i–ой строки и j–ого столбца которой располагается результат перемножения 8-ричных цифр «i» и «j».

Задание № 9.

Проанализировать некоторое символьное выражение a$ с входящими в него скобками типа (, ), [, ], {, } на правильность расстановки скобок (возможно вложенных). Вывести ответ в форме «верно/неверно».

Задание № 10.

По заданной фразе a$ сформировать и вывести фразы, слова в которых являются всевозможными перестановками слов исходной фразы.

Задание № 11.

Написать программу умножения десятичных чисел с плавающей запятой. Исходные числа и результат должны иметь следующую форму: «0.nnnnn*10^mmm».

Задание № 12.

Дано натуральное число N, выражающее цену товара в копейках (N<1000). Вывести цену товара в рублях и копейках с использованием слов «рубль» и «копейка» с учетом падежа и числа.

Задание № 13.

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

Задание № 14.

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

 


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

* По запросу " INPUT" после ввода каждого элемента массива нужно нажать клавишу Enter.

** Оператору "READ" в программе должен сопутствовать оператор "DATA", в котором перечисляются значения всех элементов массива через запятую.

*** При использовании функции "RND" рекомендуется предварительно запустить датчик случайных чисел "RANDOMIZE TIMER".

– Конец работы –

Используемые теги: Загрузка, системы, QuickBASIC0.065

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Загрузка системы QuickBASIC

Что будем делать с полученным материалом:

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

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

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

ТЕЛЕКОММУНИКАЦИОННЫЕ СИСТЕМЫ. СИГНАЛЫ И КАНАЛЫ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. СИСТЕМЫ СВЯЗИ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ КАНАЛОВ. ЦИФРОВЫЕ СИСТЕМЫ ПЕРЕДАЧИ
Лабораторные работы часа... Практические занятия часа... Всего аудиторных занятий часов...

Микропроцессорные системы: система ДЦ-МПК, система "Юг"
Использован практический опыт внедрения линейных пунктов управления (ЛПУ) на 60 станциях в увязке с ЭЦ-4, ЭЦ-9, МРЦ-12, МРЦ-13. Выполнен переход на… В состав аппаратуры центрального пункта управления (ПУ) входят IBM-совместные… Круглосуточный режим работы аппаратных средств ПУ обеспечивается источниками бесперебойного питания, а также системой…

Экспертные системы. Классификация экспертных систем. Разработка простейшей экспертной системы
Глава 2. Структура систем, основанных на знаниях. 1. Категории пользователей экспертных систем. 2.2. Подсистема приобретения знаний. 3. База… ЭС выдают советы, проводят анализ, дают консультации, ставят диагноз. Практическое применение ЭС на предприятиях способствует эффективности работы и повышению квалификации специалистов.

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

Непротиворечивая система аксиом называется независимой, если никакая из аксиом этой системы не является следствием других аксиом этой системы
При аксиоматическом построении теории по существу все утверж дения выводятся путем доказательства из аксиом Поэтому к системе аксиом предъявляются... Система аксиом называется непротиворечивой если из нее нельзя логически... Если система аксиом не обладает этим свойством она не может быть пригодной для обоснования научной теории...

Теория систем и социальные системы бизнеса
В последние годы в мире явно наблюдается возрастание интереса к теоретическим... Междисциплинарные системные направления...

Оплата труда. Формы и системы оплаты. Тарифная система РБ
Планирование на предприятии... Производственная программа предприятий...

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

0.038
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам