Для преобразования выбранного метода решения поставленной задачи в программируемый алгоритм необходимо определиться с:
– постановкой задачи;
– информацией об исходных данных;
– структурой используемой ЭВМ;
– представлением чисел; (точность, округление…);
– степенью универсальности задачи;
– требованиями к выходным данным.
Для контроля процесса решения задачи, как правило, в программе предусматривают вывод промежуточных результатов.
При решении задачи на ЭВМ всегда получается не точное решение, а некоторое приближённое. Погрешность численного метода делится на:
– неустранимую погрешность, обусловленную неточным заданием входных данных, или погрешностью измерения,
– погрешность дискретизации или погрешность метода, она обусловлена заменой исходной задачи другой задачей, более удобной для решения на ЭВМ,
– погрешность округления, которая может нарастать в процессе вычислений.
Рассматриваюются базовые понятия современных универсальных языков программирования Basic, Visual Basic, Pascal и среда Delphi, а также C#. Представлены упражнения для освоения языков программирования.
©Альмухаметов В.
Язык программирования BASIC
Одна из разновидностей языка базовый BASIC, например GWBASIC.
Каждая программная строка начинается с номера строки. Минимальный номер строки = 0, максимальный номер строки = 65535. Ввод набранной строки осуществляется клавишей ENTER. Максимальная длина вводимой строки до 255 символов.
Программные строки можно вводить в любой последовательности, но выполняются они в порядке возрастания номеров. Нумерацию строк производят с некоторым шагом, например 10, 20, 30, …, это позволяет при необходимости добавлять внутрь программы новые строки.
Команды языка
LOAD -(клавиша F3) после команды необходимо указать набором полное имя (или маршрут и имя) загружаемого файла программы.
LIST – (клавиша F1) вызов строки или программы. Для исправления строки программы необходимо вывести строку с помощью команды LIST N, где N это номер строки или группу строк LIST N – M, либо набрать и ввести строку заново с тем же номером. После исправления не меняя положение курсора нажать ENTER.
DELETE N-M – удаление строк программы с номера N по M (удалить любую строку можно набором ее номера и нажатием клавиши ENTER).
RUN – (клавиша F2) запуск программы на исполнение.
Основные конструкции языка
Основной конструкцией языка является ОПЕРАТОР. Строка программы может состоять из одного или нескольких операторов, которые разделяются символом (:).
Алфавит языка
– 26 прописных и строчных букв латинского алфавита;
– десятичные цифры от 0 до 9;
– знаки арифметических операций (+, -, *, /, \, ^);
– знаки операций отношения ( >, <, >=, <=, =);
– специальные знаки ( ),(,”, %, ‘, ?, !, #, $, @, & );
Данные языка
Имя данного должно начинаться с буквы, а в конце может иметь знак, определяющий тип данного. В случае, если обозначение типа отсутствует, то идентификатору присваивается тип вещественный. Обозначения: % -целые данные, ! -вещественные, # -двойной точности, $ -символьные.
Индексированные переменные ( А(1,5); К#(7); D(3,3,3); N%(2,4)), имеют кроме имени индекс, заключаемый в круглые скобки.
ИНДЕКСЫ массива – целые выражения, принимающие положительные значения. Массивы чисел, использующиеся в программе, должны обязательно быть описаны с помощью оператора ОПИСАНИЯ РАЗМЕРНОСТИ МАССИВА: DIM, например:
10 DIM A(15),M(5,10,20)
Описывается два массива “А” из 16 элементов и “М” из 1386 элементов (начиная с нулевого). Количество элементов в массиве равно произведению его измерений. Оператор DIM должен располагаться в программе до первого обращения к массивам, которые он описывает.
Для определения переменных используется оператор ПРИСВАИВАНИЯ: LET.
Внимание! В программе в левой части выражения обязательно должно быть указано имя переменной, которой присваивается результат вычисления правой части.
120 LET V=A(4)
Ключевое слово LET в операторе может быть опущено.
130 C= А(6)+В
Ввод вывод данных
Для ввода данных из программы может использоваться оператор ДАННЫХ: DATA. Он может находится в любом месте программы.
Оператор ВВОДА: READ присваивает значения переменных величинам из оператора DATA. Должно соблюдаться соответствие количества элементов операторов READ и DATA.
Оператор ВОССТАНОВЛЕНИЯ: RESTORE возвращает к считыванию первого элемента оператора DATA после того как несколько из них или все были считаны.
200 DATA 2.5,7.1,5,9,12
210 READ A,B,C
220 READ K
Величинам A,B,C и К присвоятся соответственно значения: A=2.5; B=7.1; C=5; К=9.
230 RESTORE
240 READ M,N
Величинам М и N присвоятся значения 2.5 и 7.1.
Оператор ВВОДА С КЛАВИАТУРЫ: INPUT содержит список переменных, которые необходимо ввести.
250 INPUT “скорость=”;V
При выполнении этого примера на экране появится надпись: скорость=? после этого компьютер переходит в режим ожидания и необходимо ввести численное значение величины V (набрать значение и нажать клавишу исполнения). Если переменных несколько, то набираются они все через запятую. Комментарий, заключенный в кавычки можно опустить, но при этом на экране появится знак вопроса без указания какую из переменных необходимо ввести.
Для ввода из файла используется оператор ОТКРЫТИЯ ФАЙЛА: OPEN.
260 OPEN “A1.DAT” FOR INPUT AS #K
Открывается файл с именем A1 и расширением DAT, номер его К (1 – 3 ), затем из файла вводится с помощью оператора INPUT #K,R переменная R.
Оператор ЗАКРЫТИЯ файла: CLOSE K# закрывает открытый К# файл. Для вывода в файл используется оператор с записью ( FOR OUTPUT ) и затем ( PRINT # ).
Вывод на экран дисплея осуществляется оператором ВЫВОДА: PRINT со списком выводимых переменных.
Для слитного вывода в ряд числовых значений с комментарием в кавычках используется разделение точкой с запятой между переменными.
300 PRINT “РЕЗУЛЬТАТ А и В =”,A;B
Для раздельного вывода по столбцам, запятая:
310 PRINT C,D
Оператор PRINT без списка данных выполняет перевод строки.
Функция TAB производит форматирование вывода.
330 PRINT TAB(5),X
Перед выводом числа Х будет пропущено 5 пробелов. Функция TAB часто используется для построения графиков или таблиц.
Операции
Действия, совершаемые над числовыми данными, называются ЧИСЛОВЫМИ операциями.
^ – возведение в степень;
* – умножение; / – деление;
\ – деление нацело ( 10\4 = 2; 25.7\6.98 = 3 ), результат выполнения равен целому числу;
МOD – арифметический модуль ( 10 MOD 3 = 1 ), результат выполнения равен целому остатку от деления;
+ – сложение; – – вычитание.
Операции в данном списке расположены в приоритетном порядке, этот порядок может быть изменен использованием круглых скобок.
Результатом выполнения операции ОТНОШЕНИЯ ( = равно, > больше, < меньше, >= больше или равно, <= меньше или равно, <> не равно ) является 1, если ответ положителен и 0, в противном случае.
Результатом ЛОГИЧЕСКИХ операций (AND-и, OR-или, NOT-нет) является истина или ложь.
Нестандартные функции
Повторяющиеся в программе арифметические выражения, можно представить в виде оператора функции.
Для описания типа функции используется оператор ОПИСАНИЯ ТИПА ФУНКЦИИ: DEF FNR1(X) = E, где DEF FN -оператор, R1– имя или идентификатор функции, Х – список ФОРМАЛЬНЫХ ПАРАМЕТРОВ ( имена фиктивных переменных фактических значений, которые должны быть вычислены к моменту выполнения функции, если их несколько, то все они перечисляются через запятую). Е – вид описываемой функции.
Например:
400 DEF FNFS1(X,Y)=A*(X^2+Y^2)