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

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

Лабораторное задание : разработать программу вычисления функции y=f(a,b,c,d,e). Значения аргументов a, b, c, d, e должны вводиться с клавиатуры ПЭВМ. Значение функции y следует вывести на экран дисплея.

Методические указания : для ввода-вывода числовых данных использовать следующий формат: ЗнЦЦЦ…Ц, где Ц – цифра (0…9), Зн – знак (+,-). Предусмотреть в программе вывод текста, содержащего вычисляемую функцию и формат аргументов, а также выдачу запроса на ввод каждого аргумента. Вычисление функции и преобразование вводимых и выводимых данных оформить в виде процедур: func – вычисление заданной функции, ascbin – преобразование числа из строки ASCII-кодов в двоичное число, binasc – преобразование числа, представленного в виде двоичного кода, в строку ASCII кодов.

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

9 класс, 15 урок, Определение числовой функции. Область определения, область значения функции

Источник: nervotrep.blogspot.com

Составить программу вычисления и вывода на экран в виде таблицы значений функции — PascalABC.NET

Разработать алгоритм с применением вложенных базовых структур «цикл с предусловием» или «цикл с постусловием», составить и отладить соответствующую программу вычисления и вывода на экран в виде таблицы значений функции, заданной с помощью ряда Тейлора, на интервале от xнач до xкон с шагом dx с точностью ε. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции, количество просуммированных членов ряда и точное значение, вычисленное по формуле

Код к задаче: «Составить программу вычисления и вывода на экран в виде таблицы значений функции»

Листинг программы

const xn=1.5; xk=2.0; dx=0.1; e=0.0001; function f(x:real):real; begin f:=exp(-x); end; var x,t,s:real; n:integer; begin //выводим шапку writeln(‘Таблица значений функции y=e^-x’); writeln(‘представленной разложением в ряд Тейлора’); writeln(‘на интервале [‘,xn:0:2,’;’,xk:0:2,’] с шагом ‘,dx:0:2,’ с точностью ‘,e:0:4); writeln(‘——————————-‘); writeln(‘| x | s(x) | n | f(x) |’); writeln(‘——————————-‘); //начнем с начала интервала x:=xn; while x+dx/2 do //пока не конец begin n:=0;//нулевой член ряда t:=1; //его значение s:=t; //первая сумма while abs(t)>e do//пока очередной член ряда больше точности begin n:=n+1;//увеличиваем n на 1 t:=-t*x/n; //умножаем предыдущий член на x, делим на n //это рекуррентное отношение указанное в формуле s:=s+t; //прибавляем к сумме end; writeln(‘|’,x:5:2,’|’,s:8:6,’|’,n+1:3,’ |’,f(x):8:6,’|’); //выводим аргумент значение суммы //число слагаемых и аналитическое значение x:=x+dx;//увеличиваем х на 1 шаг end; writeln(‘——————————-‘); end.

Читайте также:
Что такое модуль программы

Простейшие формы ввода данных в Excel за пару секунд – без применения VBA!

Источник: studassistent.ru

Практическая работа № 3. Команды управления и ветвления

1. Изучение команд управления ходом вычислений для модельной ЭВМ.

2. Разработка программы реализующей ветвящийся вычислительный процесс на модели учебной ЭВМ.

Команды управления модельной ЭВМ

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

— команды вызова подпрограмм (процедур);

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

1. Команды передачи управления;

Различают два вида переходов в программах:

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

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

— наличия переноса из старшего разряда;

— четности числа единиц в результате и др.

Различают три разновидности команд передачи управления:

— возвраты из подпрограмм.

Команды переходов помещают в программный счетчик содержимое своего адресного поля — адрес перехода. При этом старое значение программного счетчика теряется. В микро-ЭВМ часто для экономии длины адресного поля команд условных переходов адрес перехода формируется как сумма текущего значения программного счетчика и относительно короткого знакового смещения, размещаемого в команде. В крайнем случае, в командах условных переходов можно и вовсе обойтись без адресной части — при выполнении условия команда «перепрыгивает» через следующую команду, которой обычно является безусловный переход.

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

Читайте также:
Запись данных или программы в компьютер

3. Системные— команды, выполняющие управление процессом обработки информации и внутренними ресурсами процессора. К таким командам относятся:

— команды управления подсистемой прерывания;

— команда загрузки PSW – Program Status Word (слово состояния программы);

— команды установки флагов в регистре состояния процессора;

— команды установки и изменения параметров защиты памяти;

— команда останова программы;

— и некоторые другие команды, например команда диагностики работы.

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

Задания для выполнения:

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

2. Запустите программу CompModel.exe.

3. Выполнить пример. В качестве примера рассмотрим программу вычисления функции:

Причем х вводится с устройства ввода IR, результат у выводится на OR. Граф-схема алгоритма решения задачи показана на рис.1.

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

Оценив размер программы примерно в 20—25 команд, отведем для области данных ячейки ОЗУ, начиная с адреса 030. Составленная программа с комментариями представлена в виде табл. 1.

Таблица 1.Пример программы

Адрес Команда Примечание
Мнемокод Код
IN 010 000 Ввод х
WR 30 22 0 030 Размещение x в ОЗУ(ОЗО)
SUB #16 24 1016 Сравнение с границей — (х -16)
JS 010 Переход по отрицательной разности
RD 30 210 030 Вычисления по первой формуле
SUB #11 24 1 011
WR 31 22 0 031
MUL 31 25 0 031
SUB #125 24 1 125
JMP 020 10 0 020 Переход на вывод результата
RD 30 21 0 030 Вычисления по второй формуле
MUL 30 25 0 030
WR 31 22 0 031
RD 30 210 030
MUL #72 25 1 072
ADD 31 23 0 031
ADI 106400 43 0 000
DIVI 100168 46 0 000
OUT 02 0 000 Вывод результата
HLT 09 0 000 Стоп
Читайте также:
Установите в правильном порядке строки программы нахождения площади треугольника если даны длины

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

4.1 Для вводимого из IR значения аргумента х. Функции и допустимые пределы изменения аргумента приведены в табл. 2, варианты заданий — в табл. 3.

4.2. Исходя из допустимых пределов изменения аргумента функций (табл. 2) и значения параметра а для своего варианта задания (табл. 3) выделить на числовой оси Ох области, в которых функция у вычисляется по представленной в п. 1 формуле, и недопустимые значения аргумента. На недопустимых значениях аргумента программа должна выдавать на OR максимальное отрицательное число: 199 999.

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

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

4.5. Отладить программу. Для этого:

а) записать в IR значение аргумента х > а (в области допустимых значений);

б) записать в PC стартовый адрес программы;

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

г) записать в PC стартовый адрес программы;

д) наблюдая выполнение программы в режиме Шаг, найти команду, являющуюся причиной ошибки; исправить ее; выполнить пп. 4.5, a— 4.5, в;

ж) записать в IR недопустимое значение аргумента х и выполнить пп. 4.5би 4.5в.

6. Для выбранного допустимого значения аргумента х наблюдать выполнение отлаженной программы в режиме Шаг и записать в форме табл. 4 содержимое регистров ЭВМ перед выполнением каждой команды.

Таблица 2. Функции

Таблица 3. Варианты задания

Номер варианта i j а
-20

Таблица 4. Результаты выполнения программы

PC Асс М(хх) М(нн) PC Асс М(мм) М(оо)

Содержание отчета

Отчет о практическая работе должен содержать следующие разделы:

1. Формулировка варианта задания.

2. Граф-схема алгоритма решения задачи.

3. Размещение данных в ОЗУ.

4. Программа в форме табл. 1.

5. Последовательность состояний регистров ЭВМ при выполнении программы в режиме Шаг для одного значения аргумента.

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

Источник: megaobuchalka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru