Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Министерство сельского хозяйства Российской Федерации
ФГОУ ВПО Ставропольский государственный
аграрный университет
Кафедра прикладная
информатика
И Н Ф О Р М А Т И К А
ПРАКТИЧЕСКИЕ РЕКОМЕНДАЦИИ
ПО ПРОГРАММИРОВАНИЮ
для студентов экономических
и технологических
специальностей
Ставрополь
2010
СОДЕРЖАНИЕ
с.
РАЗДЕЛ 1. Программное обеспечение и технологии программирования 4
1.1 Этапы решения задач на ЭВМ 4
1.2 Среда Q Basic 6
РАЗДЕЛ 2. Алгоритмизация и программирование 10
2.1 Составление программ линейной структуры на Q Basic 10
2.2 Процессы разветвляющейся структуры 16
2.3 Циклические вычислительные процессы 21
2.4 Вложенные циклы 26
2.5 Подпрограммы и функции 28
2.6 Программы с массивами 32
2.7 Текстовые массивы 38
2.8 Основы компьютерной графики 42
РАЗДЕЛ 1. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ И ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
ТЕМА 1.1 ЭТАПЫ РЕШЕНИЯ ЗАДАЧ НА ЭВМ
ЦЕЛЬ: Изучить порядок выполнения операций при решении задач на ЭВМ
Решение задач на ЭВМ включает значительное число операций. Основными этапами решения задач на ЭВМ являются:
1. Содержательная постановка задачи.
2. Математическая формулировка.
3. Выбор метода вычислений.
4. Разработка алгоритма.
5. Разработка программы.
6. Отладка программы.
7. Подготовка исходных данных.
8. Запуск программы.
9. Анализ результатов
Следует отметить, что не все из приведенных этапов обязательны при решении различных задач.
Содержательная постановка задачи представляет собой такую формулировку, в которой используются термины области науки и проверяется наличие всех сведений, необходимых для решения задачи. На этом этапе выявляются противоречия требований и целесообразность решения. Приводится словесное описание условия задачи.
Математическая формулировка задачи представляет собой выявление расчетных формул, определение последовательности их использования. На этом этапе учитывается единица измерения исходных величин и результатов решения.
Выбор метода вычислений. Решение многих задач часто возможно несколькими способами. На этом этапе выбирается наиболее целесообразный из них. Надо, чтобы выбранный метод позволил создать предельно простую по структуре и понятную программу.
Разработка алгоритма. На этом этапе составляется система правил, четко описывающих последовательность действий, которые необходимо выполнить для решения задачи.
Разработка программы. На данном этапе выбирается язык программирования, используются символы языка программирования и служебные слова для написания программы, соответствующей алгоритму.
Отладка программы. После проектного решения задачи готовится текстовый набор данных ( контрольный пример ) таких, которые можно было бы использовать для решения задачи на калькуляторе. Запускается программа. При совпадении результатов расчетов на ЭВМ и калькуляторе программа считается верной. При несовпадении начинается процесс выявления и устранения ошибок. Многие инструментальные среды используют достаточно средств для отладки программы. Например, пошаговый запуск программ. При этом синтаксические ошибки выявляются средствами инструментальной системы, а семантические ( смысловые ) с использованием контрольного примера.
Подготовка исходных данных. На этом этапе готовятся исходные данные прикладной задачи в наиболее удобном виде ( таблица, список, система ).
Запуск программы. Используются средства инструментальной системы и запускается программа.
Анализ результатов. Проводится анализ результатов, при необходимости выполняется повторный запуск.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Перечислить основные этапы решения задач на ЭВМ
2. Дать характеристику каждому из этапов решения задач
ТЕМА 1. 2 СРЕДА QBASIC
ЦЕЛЬ: Знакомство с основными приемами работы в среде QBASIC.
1. Запуск среды.
На Рабочем столе открыть ярлык среды программирования Qbasic двойным щелчком ЛК мыши.
2. Основное меню и характеристика окон.
При входе в интегрированную среду QBASIC на экране появляется окно, в верхней части которого высвечивается полоса меню с надписями-заголовками секций, перечисляющими услуги, предоставляемые средой.
Вход в меню осуществляется нажатием клавиши «Alt». Передвижение по секциям осуществляется клавишами: стрелка влево и стрелка вправо. Для активизации нужной секции следует нажать “Enter”. При этом подсвеченная секция меню раскрывается в виде окна, содержащего дальнейшую детализацию меню. При работе в QBASIC следует обращать внимание на нижнюю строку экрана, в которой дается подсказка, соответствующая конкретному моменту работы со средой. Выход из меню осуществляется клавишей “ESC”.
В нижней части экрана выделена часть окна, озаглавленная «НЕМЕДЛЕННО». Это окно предназначено для непосредственного выполнения команд в режиме калькулятора или в режиме отладки программы. Переводится курсор из одного окна в другое и обратно клавишей F6.
Перед началом работы необходимо очистить экран. Для этого необходимо перейти в окно «НЕМЕДЛЕННО» и набрать команду CLS, нажать клавишу «Enter», а затем любую клавишу.
У среды QBASIC есть и третье окно – окно выполнения программы. Просмотр этого окна осуществляется клавишей «F4» или выполнением в меню «Просмотр» опции «Экрана вывода». Возврат в предыдущее окно осуществляется нажатием на любую клавишу.
Выполните следующие операции в режиме калькулятора (в конце набора каждой строки нажимается клавиша “Enter”):
PRINT 6.8*24
PRINT 286.8/4
PRINT 584*2/34^2
? SQR (625.25)
? SIN (1.89)
? (78+9)*(67/8.9+10.6)
Результаты выполнения операции выводятся в третье окно. После выполнения всех операций нажмите F6.
3. Ввод программы.
Нажмите клавишу «Alt», чтобы войти в полосу меню; выделите курсором позицию «Файл» и нажмите «Enter». Раскрывается секция меню «Файл»; выберите опцию «Новый» и нажмите «Enter». Режим «Новый» очищает ОЗУ машины от старой программы. На экране раскрыто пустое окно, озаглавленное «Untitled» (без имени).В левом верхнем углу мигает курсор. Приступите к вводу программы, нажимая «ENTER» в конце каждой строки.
REM РАСЧЕТ УРОЖАЙНОСТИ КУЛЬТУР
INPUT “ВВЕДИТЕ НАЗВАНИЕ КУЛЬТУРЫ”; A$
INPUT “ВВЕДИТЕ ВАЛОВОЙ СБОР”; V
INPUT “ВВЕДИТЕ ПОСЕВНУЮ ПЛОЩАДЬ”; S
LET U=V/S
PRINT “КУЛЬТУРА:”; A$
PRINT “УРОЖАЙНОСТЬ=”; U
END
4. Запуск программы.
Программу можно запустить с самого начала, нажав одновременно клавиши «Shift» и «F5»; или выбрав в меню секцию «Запуск» и в ней опцию «Запуск Shift + F5». Выполнение программы можно прервать, нажав одновременно клавиши «Ctrl» + «Break» и «Ctrl» + «C».
После прерывания продолжить ее выполнение можно нажав клавишу «F5» или выбрав в меню секцию «Запуск» и в ней опцию «Запуск Shift + F5». Выполнение программы можно прервать, нажав одновременно клавиши «Ctrl» + «Break» или «Ctrl» + «C».
После прерывания продолжить ее выполнение можно, нажав клавишу «F5» или выбрав в меню секцию «Запуск» и в ней опцию «Продолжить F5». Выполнить программу или продолжить ее выполнение можно пошагово клавишей «F8». Запустить программу с самого начала после прерывания можно, нажав клавиши «Shift + F5» или выбрать в меню секцию «Запуск», в ней опцию «Перегрузить» или выполнив операцию «Продолжить».
5. Запись программы.
Для сохранения программы на диске необходимо активизировать в меню опцию «Файл»; затем выбрать опцию «Сохранить» или «Сохранить как». В появившемся окне следует ввести имя файла, если записываем его в каталог на диск, указанный в следующей строке. При необходимости записи в другой каталог или диск следует их указать перед именем файла. Для сохранения отредактированной программы под тем же именем следует выбирать опцию «Сохранить».
Для сохранения отредактированной программы под другим именем или в другом каталоге, диске следует выбрать опцию «Сохранить как» и ввести имя, а в случае необходимости указать путь.
6.Считывание файла с диска.
Чтобы считать программу с диска, в меню выбрать секцию «Файл» и в ней опцию «Открыть». Убедиться в том, что в появившемся списке есть имя нужной программы. Считать программу можно двумя способами:
- набрать имя файла в окне « Имя файла» и нажать «Enter»;
- переместиться клавишей «Tab» в окно «Файлы», клавишами управления курсором выбрать нужное имя и нажать «Enter». Если имени нужного файла нет в списке, следует сменить диск или каталог в нем.
7. Печать файла.
Печатать можно:
- выделенный фрагмент текста;
- содержимое текущего окна;
- полностью текущую программу.
Для печати части программы, необходимо предварительно пометить, поместив курсор на начало текста и нажав «Shift»+«клавиши со стрелками», пока весь текст, подлежащий печати, не будет выделен. Для печати используется секция «Файл» и в ней опция «Печать» необходимо выбрать нужный режим печати и нажать «Enter».
8.Выход из среды.
Для выхода из среды следует в секции «Файл» выбрать опцию «Выход» и нажать «Enter». Если в окне находилась программа, в которую вносились изменения, то высвечивается окно с вопросом «Загруженный файл не сохранен. Сохранить его?». Клавишей «Tab» установить курсор на нужный ответ и нажать «Enter». При ответе «Да» отредактированная программа будет записана под тем же именем.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как осуществить запуск среды программирования Qbasic?
2. Назовите основные виды окон среды программирования Qbasic?
3. Какие клавиши используются для перемещения в этих окнах?
4. Каким образом происходить запуск программы?
5. Каким образом происходить запись программы?
6. Каким образом происходить печать файла?
7. Каким образом происходить считывание файла?
РАЗДЕЛ 2 АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
ТЕМА 2.1 СОСТАВЛЕНИЕ ПРОГРАММ ЛИНЕЙНОЙ СТРУКТУРЫ НА QBASIC
ЦЕЛЬ: Изучить технологический процесс составления программ линейной структуры.
Теоретическая часть
При составлении программ в среде QBASIC любая переменная должна принимать некоторые значения. Позволяет также выполнять присваивание переменным значений и с помощью определенных операторов, чаще всего для этих целей используют оператор LET (пусть).
Общий вид оператора LET:
LET X=A
где LET – оператор («пусть»); в программе может быть опущено;
X- имя переменной или имя массива;
A- выражение арифметическое или текстовое.
Например:
LET X = 6.5- выполняет присваивание переменной X числа 6, 5
LET T$ = “Температура”
В среде QBASIC довольно часто пользователям приходится осуществлять ввод значений строковых и числовых переменных. Для этого используется оператор INPUT (ввести), который позволяет производить считывание вводимых значений с клавиатуры и осуществлять присвоение их переменным или элементам массивов.
Оператор INPUT дает возможность решать одну и туже задачу с различными значениями исходных величин без изменения программы.
Общий вид оператора:
INPUT < подсказка>; X1, X2,…, Xi,… Xn (список вводимых величин),
где INPUT - служебное слово (переводится “ввести”);
<подсказка>- текстовая константа, которая служит для пояснения какие величины, и в каком порядке следует ввести, она может быть опущена.
Xi- имя переменной элемента массива.
Например:
INPUT A - после запуска программы на исполнение на экран будет выведен знак вопроса (?), после которого следует набрать только числовое значение вводимой переменной.
INPUT S$ , Z$- при появлении на экране знака вопроса после выполнения данного оператора в программе следует ввести значение двух строковых переменных.
Для ввода данных и результатов в программах в среде QBASIC используется оператор PRINT. Он служит для вывода значений величин на экран в процессе выполнения программ.
Общий вид оператора:
PRINT X1, X2,…, Xi,… Xn (список выводимых величин)
Здесь PRINT – оператор (переводится «печатать»)
Xi – элемент списка выводимых величин (i= 1, n), эти элементы могут быть константами.
Оператор PRINT просматривает последовательно все элементы списка X1, X2, Xn, и для каждого из них на экран выводит его значение.
Например:
PRINT A$, B$ - оператор PRINT может вывести на экран значение двух текстовых переменных.
PRINT ”Температура =”; Т - оператор PRINT в данном случае обеспечивает вывод на экран текстового комментария, а затем и числового значения переменной.
Для того чтобы понять, какие действия выполняются в программе, в нее обычно включают операторы REM, содержащие замечания и комментарии, описывающие действия операторов.
REM - оператор с комментарием: от слова REMARK. Иногда вместо командного слова REM допустимо ставить одиночную кавычку ’ – апостроф.
Ввести в ЭВМ программы и выполнить вычисления по ним.
А. Составить программу для вычисления значения функции:
Y = ![]()
при A=15.2, B=8.7, C=16.1
Блок-схема
![]() |
Программа:
Вариант 1. Вариант 2.
PRINT ”ВВЕДИТЕ A, В, С” INPUT A, В, С Y= (A ^2+C^2)/ (A^2-B) PRINT ”Y=”; Y END | INPUT ”ВВЕДИТЕ А”; А INPUT ”ВВЕДИТЕ В”; В INPUT ”ВВЕДИТЕ С”; С Y= (A ^2+C^2)/ (A^2-B) PRINT ”Y=”; Y END |
Б. Программа для работы с текстовыми переменными.
REM РАБОТА С ТЕКСТОВЫМИ ПЕРЕМЕННЫМИ
PRINT ”ПОЖАЙЛУСТА, ВВЕДИТЕ ВАШУ ФАМИЛИЮ”
INPUT A$
PRINT ”ПОЖАЙЛУСТА, ВВЕДИТЕ ВАШЕ ИМЯ”
INPUT B$
C$ = + ”__”+ A$
PRINT ”ДОБРЫЙ ДЕНЬ, __”; C$; ”__ КАК ПОЖИВАЕТЕ? ”
INPUT D$
PRINT ”ЖЕЛАЕМ УСПЕХОВ В ИЗУЧЕНИИ ЭВМ”
END
Задания для самостоятельной работы.
1. Составить программы, ввести их и получить результаты при а=18.2,b=3.12,c=13.2:
а) y= (а2 b - а2 c3) ÷(а2+ b 2);
б) y= (а2 b - c) ÷(а + b2);
в) y= cos(а + b)sin c;
г) y= (а +lnb)-(аb - c);
д) y=eb+tga - c
2. Составить программу для вычисления значения функции:
y = sin3(wt+f)-(wt+f)
(wt+f)
при w=0.17, t =0.81, f= 9.12.
3. Составить программу для вычисления экономии от капиталовложений в автомобильный парк (Х):
X = ARB
365 P
где A - экономия грузооборота (т. км)
R - стоимость автопарка (тыс. руб.)
B = 1.5- коэффициент перевода т. км нетто в т. км брутто;
P - производительность парка (т. км брутто/ сутки).
Ввести программу в ЭВМ и выполнить вычисления при A=1.8*105, R=2*105, P= 1.8*106 .
КОНТРОЛЬНЫЕ ВОПРОСЫ
1.Что такое оператор?
2.Что представляет собой программа на языке QBASIC?
3. Перечислите основные операторы линейной структуры.
4. Как запускается программа на языке QBASIC?
5. Как оформляются и каково назначение операторов INPUT, PRINT, END, REM?
ТЕМА 2.2 ПРОЦЕССЫ РАЗВЕТВЛЯЮЩЕЙСЯ СТРУКТУРЫ
ЦЕЛЬ: Научиться управлять процессами выполнения программ с помощью операторов условного и безусловного перехода.
Теоретическая часть
Для изменения естественного порядка выполнения используются операторы безусловного перехода и условные операторы с указанной меткой, (GOTO N).
Например:
GOTO (идти к) 100
Оператор условного перехода IF…THEN (если…то)
Оператор IF…THEN предписывает выполнять некоторые действия только в том случае, когда выполняется условие. Это условие записывается в виде логического выражения, а действия, которые нужно выполнить, задаются с помощью обычных операторов Бейсика. Если выражение принимает значение «истина», то действие, заданное оператором выполняется. В противном случае управление передается строке, непосредственно следующей в программе за оператором IF.
Например:
IF А>B THEN Y= A+ B
IF A>0 THEN PRINT А
IF A< B GOTO 100
В операторе IF…THEN часто используются логические операции AND (и), OR (или).
Например:
IF X= 12 AND Y<0 THEN C= X+ Y
IF X=12 OR Y<0 THEN 200
Условный оператор IF…THEN…ELSE (если…то…иначе).
В данном операторе параметр THEN определяет порядок работы при выполнении условия, проверяемого оператором IF. Параметр же ELSE указывает, как поступить в том случае, если проверяемое условие не выполняется.
Например:
IF А>3 THEN Y= A+ B ELSE Y= A - B
IF А>0 OR A<10 THEN PRINT А ELSE GOTO 100
1.Составить программу для нахождения площади треугольника по формуле Герона:
S=
,
где: P = (A + B + C) / 2 A, B, C - стороны треугольника.
В данной программе условные операторы проверяют, что каждая из сторон была не больше двух других, так как такой треугольник не существует, и на экран выдается соответствующее сообщение.
Блок-схема
Да Нет
Да Нет
|
P = (А +B + C) / 2 Да Нет
![]()
![]()
![]()
![]()

![]() |
![]()
Программа
REM ПЛОЩАДЬ ТРЕУГОЛЬНИКА
PRINT «ВВЕДИТЕ СТОРОНЫ A, B, C»
INPUT A, B, C
IF А> B +C GOTO 1
IF B> А +C GOTO 1
IF C> А +B GOTO 1
P = (А +B + C) / 2
S = SQR (P * (P - А) * (P - B) * (P - C))
PRINT “ПЛОЩАДЬ ТРЕУГОЛЬНИКА РАВНА“; S
GOTO 2
1: PRINT “ТАКОЙ ТРЕУГОЛЬНИК НЕ СУЩЕСТВУЕТ“
2: END
2. Вычислить значение функции:
Z= 
REM Вычисление значения функции
INPUT “Введите значения А, B, X, I“; А, B, X, I
IF I<10 THEN Z = А*I ^ 4 + B* I : GOTO 1
IF I =10 THEN Z = TАN (I + .5) ELSE Z = EXP (X) + SQR (А^ 2 + I ^ 3)
1 PRINT “I = “; I, “Z = “; Z
END
Разработайте блок-схемы к программам задач 2 и 3 самостоятельно
3.Составить программу для расчета заработной платы по формулам:
C = S – P - R; P = 0.01* S; R = 0.12*(S-М*N-P), где:
C-сумма к выдаче, руб.
S - начислено заработной платы, руб.;
P - налог в пенсионный фонд, руб.;
R - подоходный налог, руб.;
N-число иждивенцев, чел
М - минимальная заработная плата, руб.
INPUT «НАЧИСЛЕНО ЗАРАБОТНОЙ ПЛАТЫ, РУБ.»; S
INPUT «МИНИМАЛЬНАЯ ЗАРАБОТНАЯ ПЛАТА, РУБ.»; М
INPUT «ВВЕДИТЕ ЧИСЛО ИЖДИВЕНЦЕВ, ЧЕЛ.»; N
P= CINT (0.01* S)
R= CINT (0.12*(S - М* N- P))
IF R<0 THEN R=0
C= S - P - R
PRINT «ПОДОХОДНЫЙ НАЛОГ-» ; R
PRINT «НАЛОГ В ПЕНСИОННЫЙ ФОНД-»; P
PRINT «СУММА К ВЫДАЧЕ-»; C
END
Задания для самостоятельной работы:
1. С помощью логических операций OR и АND составить программу и блок-схему для вычисления значения функции Y:
Y= 
2. Разработайте блок-схему и программу расчета дневной оплаты труда тракториста-машиниста по формуле:
S = ![]()
где: М - минимальная заработная плата, руб.;
V –средний тарифный коэффициент;
P- процент выполнения норм выработки.
В зависимости от группы работ применяются следующие тарифные коэффициенты для:
1 группы - V=3.12; 2группы - V=3.53; 3 группы - V=3.99
Выполнение сверх нормы объем работ оплачивается на 50%выше.
.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Формат и назначение оператора GOTO?
2. Форматы и назначение оператора IF…THEN…?
3. Как оформляются логические операции и какие операнды для этого используются?
4. Объясните работу формата оператора условного перехода: IF…THEN…ELSE.
ТЕМА 2.3 ЦИКЛИЧЕСКИЕ ВЫЧИСЛИТЕЛЬНЫЕ ПРОЦЕССЫ
ЦЕЛЬ: Научить студентов составлять программы с использованием операторов цикла.
Теоретическая часть
Циклами называются многократно повторяющиеся участки программы. Различают циклы с заданным и неизвестным числом повторений. Для организации циклов с заданным числом повторений удобно использовать операторы цикла FOR (для), TO (до), STEP (шаг), NEXT(следующий).
Оператор FOR идентифицирует начало циклического участка программы; дает имя числовой переменной, которая будет служить счетчиком числа повторений цикла; присваивает этому счетчику начальное значение и устанавливает максимально возможные значения числа повторений. Счетчик должен быть простой переменной и не может быть элементом массива.
FOR I=1 TO 10 STEP 2
FOR N= - 5 TO 5
FOR А= 10.5 TO 0 STEP -0.5
При выполнении оператора FOR проверяется текущее значение счетчика циклов; если оно не превосходит максимального, то выполняются операторы программы, расположенные между FOR и NEXT , то есть NEXT является последним оператором цикла. При выполнении оператора NEXT происходит передача управления на начало цикла.
Пример 1. Составить программу для вычисления значений функции по формуле:
Y= 10х, где X
[ А, B], ∆ X= C.
REM ПРИМЕР 1
INPUT «ВВЕДИТЕ А, В, С»; А, В, С
FOR X=А TO В STEP С
Y= 10 ^ X
PRINT «X=»; X, «Y=»; Y
NEXT X
END
Для организации цикла с неизвестным числом повторений можно использовать операторы условного перехода IF…THEN или операторы цикла WHILE(до тех пор) и WEND (направлять); DO WHILE (выполнять до тех пор, пока) и LOOP(петля).
Оператор DO WHILE начинает цикл, LOOP завершает его. Если значение условия – «истина», то выполняются операторы тела цикла.
Пример 2. Вычислить наибольшее положительное число, удовлетворяющее условию:
3 n5-690 n<=7
REM Поиск наибольшего целого
N=1
DO WHILE 3 * N^* N<=7
N= N +1
LOOP
PRINT «Наибольшее целое N=»; N-1
END
Пример 3. Составить программу для расчета площади участка по формуле:
F= T*(Q-R*Q/100)/ (H*Q)
где:
T-количество дней сушки зерна, дней
R-доля отходов, %
H-высота насыпи зерна, м
Q - объемный вес, т/куб. м
PRINT «РАСЧЕТ ПЛОЩАДИ УЧАСТКА»
PRINT «ДЛЯ ВРЕМЕННОГО ХРАНЕНИЯ ЗЕРНА»
INPUT «ВВЕДИТЕ КОЛИЧЕСТВО ДНЕЙ СУШКИ ЗЕРНА»; T
INPUT «ВВЕДИТЕ ДОЛЮ ОТХОДОВ, %»; R
INPUT «ВВЕДИТЕ ВЫСОТУ, M»; H
INPUT «ВВЕДИТЕ ОБЪЕМНЫЙ ВЕС, T/КУБ. M»; Q СLS
PRINT TАВ (15); «ВЫВОД РЕЗУЛЬТАТОВ»
PRINT STRING $(60,”*”)
PRINT TАВ (15); «КОЛИЧЕСТВО»; TАВ (30); «ПЛОЩАДЬ»
PRINT TАВ (15); «ЗЕРНА,»; TАВ (30); «УЧАСТКА,»
PRINT TАВ (15); «T» ; TАВ (30); «КВ. М»
PRINT STRING $(60, «*») TАВ (15)
FOR Q=100 TO 200 STEP 20
F= T*(Q - R*Q/100)/ (H* Q)
F0=СINT (F)
PRINT TАВ (15); Q; TАВ (30); F0
NEXT Q
END
Ввести программу в ЭВМ и произвести вычисление для значений T=2, R=3, H=2, G=.8.
Задания для самостоятельной работы.
1. Составить программу для вычисления значений функции по формуле:
Y =АС-![]()
где: X
[1; 2], ∆ X = 0.1, А = 0.5, В=2, С = 0.75
2. Изменить программу задания 1 так, чтобы X изменялся произвольно от N до М с шагом F.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Для чего используют циклические вычислительные процессы?
2. Объясните назначение операторов FOX …. TO …. STEP и NEXT.
3. Объясните назначение операторов DO WHILE и LOOP.
4. В каком случае шаг можно не указывать (при использовании операторов FOX и NEXT).
ТЕМА: 2.4 ВЛОЖЕННЫЕ ЦИКЛЫ
ЦЕЛЬ: Ознакомиться с работой программ с вложенными циклами.
Теоретическая часть
Циклы могут содержаться и внутри других циклов. В том случае, если цикл содержит внутри себя другие циклы, то его называют кратным (сложным или составным). Алгоритмическую конструкцию, описывающую кратные циклы, называют вложенными циклами.
Для организации вложенных циклов в языке QBAQC используют те же операторы, что и для организации обычных циклов - FOR... ТО ... STEP и NЕХТ.
Например:
FOR X = 1 ТО 5
FOR C = 0 ТО -10 STEP -2
FOR K = 8.5 ТО 10.5 STEP 0.5
……………………………….
NEXT K
NEXT C
NEXT X
Особенностью вложенных циклов является то, что для начального значения переменной внешнего цикла полностью выполняется внутренний цикл; только после этого происходит увеличение параметра внешнего цикла на величину шага и вновь выполняется внутренний цикл.
Переменные после слова NEXT могут быть опущены. Но в этом случае теряется наглядность, где какой цикл кончается. Кроме того, во вложенных циклах возможна передача управления из внутреннего цикла во внешний, минуя соответствующий NEXT, поэтому NEXT внешнего цикла будет воспринят как внутренний, что приведет к ошибке. Этого не будет, если не опускать переменную в операторе NEXT.
Задание. Составить программу для вычисления функции по формуле:
Z =1.5*2-0.2*X *1n(Y+ В)
при: Х
[2; 7.5] с шагом 1.5 Y
[1; 3] с шагом 0.5
INPUT «ВВЕДИТЕ ЗНАЧЕНИЕ В»; В
FOR Х=2 ТО 7.5 ВТЕР 1.5
FOR Y=1 ТО 3,ВТЕР 0.5
Z=1.5*2^(-0.2 * Х) * LOG (Y + В)
PRINT «Х=»; Х, «Y=»; Y, «Z=»; Z
NEXT Y
NEXT Х
END
Задания для самостоятельной работы.
1. Составить программу для расчета транспортных средств для отвоза зерна то комбайна по формуле:
N=(V*G*T) / Т1,
где: N - потребное количество транспортных средств, шт.
V - емкость бункера, м. куб.
G - грузоподъемность транспортного средства, т.
Т - время оборота транспортного средства, мин.
T1 - время заполнения бункера, мин.
где: - T1 изменяется от 5 до 10 мин.
G изменяется от 5 до 8 т.
2. Составить программу для расчета оптимальной ширины загона по формуле:
C=2V(LW+8r),
где: С - оптимальная ширина загона, м.
W - рабочая ширина, захват агрегата, м.
r - радиус поворота, м.
V - скорость, км/ч.
L - длина загона, м.
где: L изменяется от 100 до 200 м с шагом 10 м,
r изменяется от 0.5 до 3 м с шагом 0.5 м.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что такое вложенные циклы?
2. Как выполняются вложенные циклы?
3. Для чего используют оператор FOR ТО STEP?
4. Для чего используют оператор NEXT?
ТЕМА: 2.5 ПОДПРОГРАММЫ И ФУНКЦИИ
ЦЕЛЬ: Научить разбивать программы на участки и выполнить подпрограммы; установка операторов функций.
Теоретическая часть
Чем сложнее и длиннее программа, тем острее ощущается потребность в специальных методах разработки и организации её функционирования. Простейший способ – это разбиение программы на части, то есть выделение в ней обособленных разделов по их функциональному назначению. Часто в различных местах программы выполняется одна и та же процедура, например, вычисление факториала, обращение матрицы, сложение и умножение матриц и так далее. Вместо того, чтобы многократно переписывать эту процедуру, целесообразно написать единственный программный модуль, выделить его из программы и всякий раз при необходимости к нему обращаться. Этот программный модуль называется подпрограммой, а передача управления - вызовом подпрограммы.
Оператор GOSUB (перейти к подпрограмме) в отличие от СОТО не только передает управление соответствующему фрагменту подпрограммы, но и запоминает какой именно оператор вызывал этот переход. После выполнения подпрограмм управления снова передается строке, непосредственно следующей за оператором GOSUB, и работа программы продолжается в обычной последовательности. Этот возврат осуществляется оператором RETURN (возврат).
Например:
Х=5.6
GOSUB 1000
B=C+D
……………..
1000: REM ПОДПРОГРАММА
С = Х^2
D=X^0.5
RETURN
Пример 1. Необходимо вычислить сумму ряда 1! + 2! + 3! + ... + N!.
В подпрограмме вычисления суммы ряда необходимы значения факториалов последовательности чисел от 1 до N. Для их вычисления из подпрограммы «Вычисление суммы» происходит обращение к метке 2 к подпрограмме «Вычисление факториала».
REM ВЫЧИСЛЕНИЕ СУММЫ РЯДА
INPUT «ВВЕДИТЕ ЗНАЧЕНИЕ N»; N
S=O
X=N
GOSUB 1
C=S
PRINT «N=»; N
PRINT «СУММА РЯДА =»; С
2: REM ПОДПРОГРАММА ВЫЧИСЛЕНИЯ ФАКТОРИАЛА
Р=1
FOR J= 1 ТО I
Р=Р* J
NEXT J
RETURN
1: REM ПОДПРОГРАММА ВЫЧИСЛЕНИЯ CУMMЫI РЯДА
S=0
FOR I = 1 ТО К
M=1
GOSUB 2
S=S+P
NEXT 1
RETURN
Задания для самостоятельной работы.
Составить программу для расчета количества автомобилей по формуле:
Х = INT (W*I* Т * X + 0.5),
где: Т - время рейса, час;
Х - грузоподъёмность, тоннах;
W - производительность, тоннах;
I - урожайность изменяется от 10 до 60 ц / га с шагом 5.
В виде подпрограммы записать вычерчивание линии знаками с помощью оператора PRINT STRING$;
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Для чего используются подпрограммы?
2. Назначение оператора GOSUB.
3. Назначение оператора RETURN.
ТЕМА 2.6 ПРОГРАММЫ С МАССИВАМИ
ЦЕЛЬ: Научить студентов составлять программы с использованием
массивов
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ.
В Бейсике предусмотрены средства, позволяющие давать имена целому набору переменных. Таким образом вместо того, чтобы присваивать имя каждой отдельной переменной, можно задать одно имя для целого их массива, а каждый элемент этого массива идентифицировать с помощью числового индекса. При этом под массивом понимается набор данных (констант, чисел, текстовых констант), объединённых общим признаком. Например, значения урожайности пшеницы за несколько лет или на различных угодьях, наименования куль - тур и так далее. В Бейсике разрешено использовать массивы из 1) элементов (с 0 - го по 10 - й) без предварительного описания. Ест в. программе предполагается использовать одномерный массив, содержащий более 11 элементов или какой-либо многомерный массив, то прежде всего его необходимо описать, то есть определить количество индексов и максимальное значение каждого из них. Для задания размерности массивов предназначен оператор DIM, в котором перечисляются имена массивов и указываются максимальные значения индексов. DIM - от слова DIMENSION (размерность).
Например:
DIM А (20)
DIM В (10,30)
В одном операторе DIM можно описать несколько массивов, причем разного типа. Для этого после командного слова DIM следует перечислить описания массивов, отделяя их друг от друга запятыми.
Например:
DIM А (20),C$ (15),К% (5,10)
Допускается вместо констант использовать переменные, но к моменту описания массивов оператором DIM эти переменные должны иметь числовые значения.
Например:
INPUT N, М
DIM Х(N),А(N, М)
Пример 1. Составить программу для нахождения суммы элементов. Массива А, состоящего из 10 элементов, по формуле:
S= ![]()
REM ВЫЧИСЛЕНИЕ СУММЫ ЭЛЕМЕНТОВ МАССИВОВ
DIM А (10)
FOR I= 1 ТО 10
PRINT «ВВЕДИТЕ»; I; «ЗНАЧЕНИЕ МАССИВА»
INPUT А (I)
NEXT I
S=O
FOR I=1 ТО 10
S=S+A(I)
NEXT I
PRINT «СУММА =»; S
END
Пример 2. Даны действительные числа Al, ..., Ak, ..., An – количество осадков (в мм), выпавших в Ставрополе за N - количество лет. Надо вычислить среднее количество осадков и отклонение от среднего для каждого года.
INPUT «ВВЕДИТЕ КОЛИЧЕСТВО ЛЕТ»; N
DIM А (N)
FOR I = 1 TON
PRINT " ВВЕДИТЕ КОЛИЧЕСТВО ОСАДКОВ ЗА» ; I; «ГОД»
INPUT А (I)
NEXT 1
С=О
FOR I = 1 TON
С=С+А(1)
NEXT 1
С1 = С/N
PRINT "СРЕДНЕЕ КОЛИЧЕСТВО ОСАДКОВ ЗА";N; «ЛЕТ=»; С1
S=O
FOR I = 1 TON
S = С l - А (I)
PRINT «ОТКЛОНЕНИЕ ОТ СРБДНЕГО ДЛЯ»; I; «ГОДА=»; S
NEXT 1
END
Пример 3. Составить программу для нахождения минимального и 1 максимального значений в массиве Y, состоящем из N элементов. Элементы массива Y вычисляются по формуле: Y= Х 2
REM НАХОЖДЕНИЕ MIN И МАХ ЗНАЧЕНИЙ
INPUT «ВВЕДИТЕ КОЛИЧЕСТВО ЗНАЧЕНИЙ N»; N
DIM Х (N), У (N)
FOR I = 1 TO N
INPUT Х (I)
Y (I) = (Х (I))^2
NEXT I
MIN= Y(1)
МАХ = У (1)
FOR I=1 TO N
IF Y(I) >=МАХ THEN МАХ= Y (I)
IF Y{I) <=MIN THEN MIN = Y (I)
NEXT I
PRINT « MIN Y = »; MN, «MAX Y = »; МАХ
END
Пример 4. Задан массив Х, состоящий из 15 элементов. Упорядочить этот массив по возрастанию.
REM Упорядочивание массива по возрастанию
DIM Х(15)
FOR I=l ТО 15
PRINT «Введите»; I; «элемент массива»
INPUT X(I)
NEXT 1
2: К=1
3: IF Х(K)<Х(K+1) GОТО 1
А=Х(K)
X(K)=X(K+1)
X(K+1)= D
1: K=K+1
IF К<=15 GОТО 3
FOR I= 1 ТО 15
PRINT X(I)
NEXT 1
END
Оператор PRINT TAB(N) организует вывод таблицы умножения. Перед выводом каждого значения курсор предварительно устанавливается функцией TAB(N) на 5, 10,15 и так далее позиции в зависимости от значения N. Точка с запятой в конце данного оператора запрещает перевод строки после каждого значения. Перевод строки осуществляется пустым оператором PRINT, после каждого окончания внутреннего цикла, то есть после вывода 10 значений таблицы.
Задания для самостоятельной работы.
1.Даны действительные числа X1, ..., X10; Y1, ..., Y10. Получить значение:
S = 
2.Составить программу для расчета затрат на производство продукции растениеводства по формулам:
C =
D = ![]()
где: А — количество продукции, проданной государству, ц.
В — себестоимость 1ц. продукции
С — затраты на производство каждого вида продукции
D — общие затраты по хозяйству
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Что понимается под массивом?
2. Что означает оператор DIM?
3. Как можно использовать оператор описания массива? 4. Приведите примеры записи оператора DIM.
ТЕМА 2.7 ТЕКСТОВЫЕ МАССИВЫ
ЦЕЛЬ: Научиться выводить данные текстовыми массивами в виде таблицы и работать с текстовыми массивами.
Теоретическая часть
Операторы READ и DАТА позволяют просто и эффективно осуществить операцию присваивания постоянных значений большому числу переменных и элементов массивов. Они выполняются совместно, хотя могут располагаться в различных участках программы. При этом оператор РАТА хранит данные, а оператор READ к ним обращается.
Например, необходимо сохранить в памяти ЭВМ наименования продукции и цены на них:
DАТА КУКУРУЗА, 109, ЯЧМЕНЬ, 91, ГОРОХ, 50
READ P$, С, K$(5), S(5), G$, Р
Действие этих операторов равнозначно операторам присваивания:
P$ = «КУКУРУЗА»;
С = 109;
K$ (5) = «ЯЧМЕНЬ»;
S(5) =91;
G$ = «ГОРОХ»;
Р=50
Правила работы с операторами READ и DА ТА.
1. Типы переменных в READ должны соответствовать типам присваиваемых значений.
2. Операторы READ могут появляться (обычно так и бывает) в различных местах программы. Необязательно читать сразу все данные.
3. В программе может быть сразу несколько операторов DATA, которые располагаются на разных строках, но ЭВМ воспринимает все значения как элемент одного общего списка.
4. Операторы РАТА могут находится в любом месте программы. Как правило, их пишут в самом начале или в самом конце, чтобы отделить данные от текста программы.
5. В операторе DАТА строковые данные могут не заключаться в кавычки.
6. Числа в операторах DАТА должны быть константами; арифметическими выражениями они быть не могут.
Пример 1. Составить программу для расчета стоимости комбикорма по формулам:
Si = Ki* Ci, Sl = ![]()
РАСЧЕТ СТОИМОСТИ КОМБИКОРМА
ПРОДУКЦИЯ, (Р) | КОЛ-ВО ПРОДУКЦИИ, ц(К) | ЦЕНА, 1ц, РУБ. (С) | СТОИМОСТЬ ПРОДУКЦИИ, РУБ. |
КУКУРУЗА | 17 | 109.00 | S |
ЯЧМЕНЬ | 50 | 91.00 | S |
ГОРОХ | 13 | 57.00 | S |
ШРОТ | 5 | 25.00 | S |
МЯСОКОСТ. МУКА | 9 | 270.00 | S |
МЕЛ | 5 | 5.00 | S |
ИТОГО | S1 |
REM РАСЧЕТ СТОИМОСТИ КОМБИКОРМА
DIM P$ (6), К (6), С (6), S (6)
DАТА КУКУРУЗА, ЯЧМЕНЬ, ГОРОХ, ШРОТ, МЯСОК МУКА, МЕЛ
FOR I = 1 ТО 6
READ P$ (I)
PRINT «КУЛЬТУРА», P$ (I)
INPUT «ВВЕДИТЕ КОЛИЧЕСТВО И ЦЕНУ»; К (I), С (I)
NEXT I
CLS
PRINT ТАВ (10); «РАСЧЁТ СТОИМОСТИ КОМБИКОРМА»
PRINT STRING$(57, "-")
PRINT «ПРОДУКЦИИ», «КОЛИЧЕСТВО», «ЦЕНА», «СТОИМОСТЬ»
PRINT, «ПРОДУКЦИИ, Ц», «1 Ц, РУБ.», «ПРОДУКЦИИ, РУБ»
PRINT ЯТКПЧС7$(57, "-")
FOR I = 1 ТО 6
S (I) = К (I)*С (I)
S1= S1+ S(I)
PRINT P$ (I), К (I), С (I), S (I)
NEXT I
PRINT STRING$(57, "-")
PRINT «ИТОГО» , , S1
PRINT STRING$(57,"-")
END
Оператор PRINT STRING$ печатает указанное число раз знак " - ", его используют для вычерчивания линий. Оператор PRINT пропускает одну пустую строку. Оператор PRINT ТАВ(10) сначала переводит курсор в 10 позицию, а затем выводит на экран название таблицы.
Задания для самостоятельной работы.
1.Составить на основании таблицы программу для расчета посевных площадей по формулам:
Xi =
Y = ![]()
РАСЧЕТ ПОСЕВНЫХ ПЛОЩАДЕЙ
НАИМЕНОВАНИЕ ХОЗЯЙСТВА | ВАЛОВОЙ СБОР. | СРЕДНЯЯ УРОЖАЙНОСТЬ, Ц/ГА | ПОСЕВНАЯ ПЛОЩАДЬ, ГА |
СХП Заря | 3270 | 13.6 | X |
КФХ Колос | 4180 | 14.8 | X |
СХП Мирный | 2200 | 15.3 | X |
СХП Радужный | 3580 | 17.0 | X |
КФХ Луч | 1970 | 16.2 | X |
ИТОГО | Y |
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Назначение операторов READ и DАТА.
2. Правила работы с операторами READ и DАТА.
3. Какими операторами нужно пользоваться для вычерчивания линий?
4. Для чего используют ТАВ?
5. Как записывают двумерный массив?
ТЕМА: 2.8 ОПЕРАТОРЫ ГРАФИКИ
ЦЕЛЬ: Приобретение навыков программирования графических изображений в среде QBASIC
Теоретическая часть
Для того, чтобы пользоваться графическими возможностями языка QBASIC, необходимо включение графического режима командой SCREEN 9. Таких режимов несколько, но рекомендуется пользоваться девятым режимом¸ т. к. он обладает наибольшей разрешающей способностью и позволяет получать качественные графические объекты.
В режиме SCREEN 9 максимальное значение X на экране 640, а Y– 350, при этом начало координат находится в левом верхнем углу экрана.
Для изображения точки используется оператор PSET (X,Y), C, где
X и Y – координаты точки на экране, а C – её цвет, который может принимать значения от 0 до 15.
SCREEN 9
PSET (320,175), 4
на черном экране в этом случае появится красная точка в центре.
Отрезок и прямоугольник.
Отрезок прямой линии. Оператор записывается таким образом:
LINE (X1,Y1) –(X2,Y2), C
где X1,Y 1- координаты начала отрезка;
X2,Y2 – координаты конца отрезка;
C – цвет.
Построение прямоугольников может быть выполнено по координатам начала и конца их диагоналей.
В этом случае оператор LINE имеет следующий вид:
LINE (X1,Y1) – (X2,Y2), C, B
то есть к обычному оператору отрезка добавляется буква В от английского слова Box (ящик, коробка).
Окраску внутренней области прямоугольника выполняет оператор BF, который также не принимает никаких значений. Пишется он так:
LINE (X1,Y1) – (X2,Y2), C,BF
BF – от англ. «BOX full» - полная коробка
Окружность
Всё, что нужно знать длю окружности для Бейсика – это координаты её центра и радиус. Оператор выглядит так:
CIRCLE (X,Y), R,C
где X,Y – координаты центра, R – радиус ( в экранных точках), C – цвет
например, оператор
CIRCLE (320,175), 50, 2
изобразит нам зеленую окружность радиусом 50 точек в центре экрана.
Эллипс
Эллипс в отличие от окружности имеет 2 радиуса – по осям X и Y. Частное от деления Ry на Rx даёт нам так называемый коэффициент сжатия. Таким образом, для вытянутых по горизонтали эллипсов коэффициент сжатия будет в пределах от 0 до 1, а для эллипсов, вытянутых по вертикали, коэффициент сжатия (К) будет больше 1. Если К =1, то это уже будет окружность.
Оператор имеет следующий вид:
CIRCLE (X, Y), R, C, , К
где X,Y - координаты центра эллипса, R – радиус той окружности, из которой этот эллипс получился, C – цвет, К – значение коэффициента сжатия
например, после выполнения оператора CIRCLE (320,175), 50,2, , 0.5
В центре экрана появится эллипс зеленого цвета, сжатый сверху и снизу, у которого Ry , в 2 раза меньше, чем Rx .
Если же добавить ещё один оператор,
CIRCLE (320,175), 50,2, , 2
то сверху дорисуется дополнительный один эллипс, который будет сжат уже
по горизонтали. Вместе они составят два пересекающихся эллипса.




Рис. 1 - Пересекающиеся эллипсы
Дуги, сектора окружностей и эллипсов
Любая дуга имеет угол, от которого она начинается и где она заканчивается. Оператор рисования дуг окружностей имеет вид:
CIRCLE (X,Y), R,C, a, b
и
обозначают эти углы.
Дуга строится от угла а к углу b против часовой стрелки


Рис. 2 - Тригонометрическая окружность
Оператор, выполняющий построение сектора, имеет вид:
CIRCLE (X, Y), R, C, -а, -b
Аналогично дугам окружности:
Оператор построения дуг эллипса имеет вид:
CIRCLE (X,Y), R,C, а, b, К
Закраска замкнутых контуров
Оператор закраски имеет вид:
PAINT (X,Y), C1,C2
где X,Y – координаты любой точки внутри закрашиваемого контура, С1 – цвет, которым закрашивают контур, С2 – цвет самого контура.
Пример 1.
´Российский флаг
CLS
SCREEN 9
´Белая полоса
LINE (100,50) –(500,130),15,BF
´Синяя полоса
LINE (100,130) –(500,210),1,BF
´Красная полоса
LINE (100,210) –(500,290),4,BF
END
Пример 2
´Летающая тарелка
SCREEN 9
´Основа тарелки
CIRCLE (320,175), 200,2, , 0.3
´Рубка CIRCLE (320,70), 100,2, , 0.2 LINE (198,125) –(220,70),2 LINE (420,70) –(440,125),2 |
|
´Иллюминаторы
CIRCLE (150,175), 10,4
CIRCLE (490,175), 10,4
CIRCLE (200,200), 10,4
CIRCLE (150,175), 10,4
CIRCLE (440,200), 10,4
CIRCLE (320,220), 10,4
´Ноги
LINE (320,235) –(320,280),2
LINE (197,223) –(165,310),2
LINE (443,223) –(475,310),2
END
Пример 3.
Разработать программу, выводящую на экран петлю гистерезиса, которая состоит из двух отрезков прямых линий и четырех дуг, являющихся четвертями окружности.


´Петля гистерезиса
SCREEN 9
´Горизонтальные составляющие
LINE (300,126) –(500,126),13
LINE (100,274) –(300,274),13
´Левая верхняя часть дуги
CIRCLE (300,200), 100,13, 1.57, 3.14
´Левая нижняя четверть дуги
CIRCLE (100,200), 100,13, 4.71, 0
´Правая верхняя четверть дуги
CIRCLE (500,200), 100,13, 1.57, 3.14
´Правая нижняя четверть дуги
CIRCLE (300,200), 100,13, 4.71, 0
´Закраска
PAINT (300,200),14,13
END
Задания для самостоятельной работы
1. Составить программу, изображающую на экране четыре точки разного цвета в центре: Точки расположить квадратом на расстояния друг от друга 5 точек
2. Составить программу, выводящую конверт
3. Составить программу, выводящую на одном экране куб и пирамиду
4. Изобразить на экране куб, грани которого окрашены в разный цвет
5. Построить два цилиндра так, чтобы один был внутри другого, закрасить фигуры разным цветом
6. Построить конус, усеченный конус, призму, усеченную призму, закрасить фигуры разным цветом
7. Построить сектор, дуга которого составляет 3/2 π, закрасить
8. Построить сектор, дуга которого составляет π/2, закрасить
9. Составить программу с помощью которой можно нарисовать мишень – пять концентрических (т. е. с одним центром) окружностей, вложенных друг в друга и перекрестие двух отрезков прямых
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Назначение и параметры операторы SCREEN
2. Назначение и параметры оператора PSET
3. Назначение и параметры оператора LINE
4. Параметры оператора CIRCLE для построения окружности, эллипса, дуг и секторов
5. Понятия коэффициента сжатия.






