|
Порядок решения задач на компьютереЯзык программирования QBASIC (QB) является языком высокого уровня и предназначендля составления программ для решения вычислительных задач на ЭВМ. Порядок решения задачи на компьютере следующий: 1 Постановка задачи. 2 Разработка схемы алгоритма. 3 Составление программы по алгоритму решения задачи 4 Ввод программы в ЭВМ и отладка её работы. 5 Решение задачи. Рассмотрим этапы решения на примере задачи 1. Постановка задачи Задача 1. Вычислить значение функции у = ax2 - bcos(x+340) при а = 2,15, b=1. Значение аргумента х может варьиро- Ваться. Постановка задачи должна однозначно определять формулы, вычисляемые выражения, условия ветвления, ограничения, границы изменения аргументов и функций, граничные условия и т.п. Постановка задачи должна быть строго математически формализована и не допускать никаких условностей и разночтений. Составление алгоритмов Алгоритм – это последовательность выполнения операций. Он разрабатывается в виде блок-схемы, в каждом элементе которой выполняется одна операция решения задачи. Для обозначения блоков алгоритма используются следующие основные фигуры (рис. 1). Блок начала и конца программы обозначается овалом или прямоугольником с округлёнными углами, в блоке могут быть слова Начало, Конец, End, Программа №…, название программы и т.п. Блоки ввода и вывода данных изображаются параллелограммами, в них возможен текст Ввод, Печать, Вывод, Print и др. Элементы блок-схемы соединяются между собой стрелками, каждый блок должен иметь свой порядковый номер для организации ссылок и передачи ему управления от других блоков.
Начало и конец программы Ввод данных и вывод результатов
Вычислительный блок
да нет Блок сравнения
Ссылка (переход) на другой блок или страницу
Рисунок 1 Основные элементы блок-схемы алгоритма
они могут быть написаны по общим правилам математики (с индексами, показателями степени, дробями, знаками ∑, ∫ и т.п.). В тексте программы те же формулы должны быть записаны только по правилам языка программирования, т.е. в одну строку. В любом языке программирования допускается только линейная запись выражений, без индексов, показателей степени, много этажных дробей, пределов интегрирования и т.п. Блок сравнения предназначен для проверки какого-либо условия, имеет два выхода – да и нет (или 1 и 0). Если условие выполняется, управление передаётся другому блоку, если нет, то следующему. Блок Ссылка указывает номер блока, которому передаётся управление. Если он расположен на другой странице, то и номер страницы. Алгоритм составляется обязательно для сложных вычислительных процессов, имеющих разветвлённую схему, с многочисленными переходами, циклами, подпрограммами, модулями и т.д. Для таких процессов сразу составить работающую программу очень трудно, поэтому этап разработки блок-схемы алгоритма становится необходимым, а затем каждый блок записывается в программе одним (своим) оператором.
Составим блок-схему алгоритма для задачи 1:
блоком - Начало.
В следующем блоке вводятся значения неизвестных а,b и х.
В третьем блоке вычисляется функция у = ax2 - bcos(x+340). В четвёртом блоке значение у выводится на экран. Пятый блок указывает на завершение программы.
Рисунок 2 Блок-схема алгоритма
Разработка линейных программ Структура программы Программа на языке QBASIC состоит из строк, формат строки: [№ строки/метка] оператор[:оператор]…[ ' комментарий] Примечание: Элементы в квадратных скобках могут отсутствовать. Таким образом, в каждой строке может быть № строки или метка оператора, должен быть один оператор (или несколько операторов, записанных через двоеточие) и после знака "Апостроф" (') возможен комментарий - текстовая часть строки с пояснениями, которая не выполняется программой. Комментарий содержит пояснения для программиста. Количество строк в программе от 0 до 65533 (216). Ввод каждой строки должен заканчиваться нажатием клавиши [Enter], при этом выполняется перевод строки в программе, её ввод с экрана в оперативную память. Если формула введена правильно, то её запись расширяется в строке, а маленькие буквы превращаются в заглавные. Метка может содержать буквы и цифры, должна начинаться с буквы и заканчиваться двоеточием (например, М1:, Вариант14:). Каждый оператор записывается в своём формате, например, операторы присваивания t = 54, x = -.356, z = 2E-09, оператор ввода INPUT x, оператор вывода PRINT alpha,у. Запись выражений Выражения (формулы) записываются только линейно, в одну строку, без дробей, индексов, показателей степени, пределов изменения, например: x1-4 + e-3x → x1^ (-4) + exp(-3*x); → sin(2*x)/((-TAN(z))^2; → SQR (a^2 – b^2); lgD + ln5 → LOG10(D) + log(5) и т.д. Стандартные функции языка QB содержатся в его программе, поэтому их можно писать маленькими (строчными) буквами, после нажатия клавиши [Enter] они станут большими. Аргумент функции обязательно берётся в скобки. Типичные ошибки при записи выражений: 1 Выражение cos3x, запись cos^3(x) неверна, в этом случае в третью степень возводится буква s, а не весь косинус. Правильная запись: (cos(x))^3. 2 Выражение +ab, запись x + y / -t*z + ab неверна, т.к.: · на знаменатель делится только у, а не весь числитель, · два знака операций ("/" и "–") не могут стоять рядом, · пропущен знак "*" между а и b. Правильная запись: (x + y) / (-t*z) + a*b. 3 Выражение е2х, запись ЕХР^(2*х) неверна, т.к. возводится в степень не экспонента е, а буква Р. Правильная запись: ЕХР(2*х). 4 Выражение |x|, запись abc(x) неверна, т.к. функция названа по слову "absolute", правильная запись: abs(x). Корень n-й степени, например, вычисляется как а^(3/8), функции ctg в языке нет, поэтому его нужно определять, как 1/tg(…) или как cos(…)/sin(…).
Приоритет выполнения арифметических операций в выражениях – cодержимое скобок, *, /, +, -, логические И, ИЛИ, НЕ. Скобки (,) изменяют порядок вычислений. Стандартные функции QBASIC Наиболее часто в программах используются следующие основные функции (табл. 1) Таблица 1
Аргументы тригонометрических функций должны быть заданы в радианах, градусную меру нужно перевести в радианы (π радиан составляют 1800, 10=π/180 [рад]). Это можно сделать прямо под знаком функции, буква π в языке обозначена как PI. Пример: cos 340 → cos(34*PI/180) Стандартные функции могут быть вложены друг в друга, количество (глубина) вложений не ограничена. Пример: → SQR(ABS(EXP(SIN(2*X)))); Количество открывающихся и закрываюшихся скобок должно быть одинаково. Операторы ввода В языке QB используются для ввода следующие операторы: 1 Оператор присваивания – присваивает значение числовой или символьной переменной, например: а) Х = 2.14; б) T$ = "SUMMA"; в) L = x^4 + ABS(x). Оператор служит для присваивания переменным числовых, символьных или смешанных значений - примеры а) и б), а также для записи выражений – пример в). 2 Оператор INPUT служит для ввода данных, имеет формат INPUT <список> где <список> – последовательность переменных через запятую. Пример: INPUT A,B,N,J INPUT "Ввести d, k,N"; d, k,N Встретив оператор INPUT, среда QB печатает соответственно знак вопроса"?" или Ввести d, k,N? И ждёт ввода значений этих переменных через запятую, например 5, 2.2, 3Е-2. Оператор INPUT применяется, если значение переменной может изменяться при каждом новом запуске программы. Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|