Пример выполнения задания на циклы.
Задача. Проверить, является ли N степенью числа k>1
Переменная S нужна для вычисления степени числа k как произведения , принимает значения 1, К1, К2, К3, К4 и т.д. , пока не станет либо s = n , либо s>=n. Если N является степенью числа k, переменная otvet получает значение 1. Начальное значение переменной otvet равно 0.
Алгоритм на языке PASCAL
VAR
S, k, otvet,n: Integer;
Begin
Readln(n, k); { ввод натуральных чисел n и k }
s:=1; otvet:= 0;
Repeat
s:=s*k
Until(s>=n);
If (s = n) then otvet:=1;
Writeln(otvet);
End.
Таблица тестов
№ теста | Величина N | Величина K | Otvet | Комментарий |
1 | 25 | 5 | 1 | 25=52 |
2 | 6 | 3 | 0 | Нет, |
3 | 1024 | 2 | 1 | Да, 1024=210 |
Программа на TOYCODE
Rem Пример цикла
rem исходные данные
n: DC 15
k: DC 10
rem начальные значения переменных
c: DC 1
s: DC 1
otvet: DC 0
rem ввод исходных данных
IN n
IN k
Rem Начало цикла
L1: LD s
MPY k
STO s
Rem сравнение s с n
LD s
SUB n
BGTR ket
BZ gan
Rem Возврат на повторение цикла
B L1
Rem otvet получает значение константы с=1
gan: LD c
STO otvet
Rem вывод ответа 0 или 1
ket: OUT otvet
STOP
Протокол тестирования программы
СОДЕРЖАНИЕ ОТЧЕТА
К задачам №1 и №2 :1. Постановка задачи. 2. Математическая модель 3. Таблица внешних спецификаций.4. Таблица тестoв.5. Блок-схема программы.6. Листинг программы. 7. Протокол тестирования программыИндивидуальные задания
Выполнить вычисления Y по формуле.
Значения аргументов вводятся с клавиатуры.
|
|
Вариант | Формула 1 |
1 | y=5a- b/ (7+ v) |
2 | y=-6a/ (b- ad) |
3 | y=ab/(a+ 10) |
4 | y=2a4/ (b+ 8c) |
5 | y=5a- b/ (a+c) |
6 | y=6a3- b/ c |
7 | y=7a- 2b/( a+ c) |
8 | y=-5a/(c- d) |
9 | y=9a/ (a- 3cd) |
10 | y=10a- 5b/(c-d) |
11 | Y=( 13a -125)/(100- b) |
12 | Y= a-( b –d) /(10*a) |
13 | Y=2a-( 13 -5c)/11 |
14 | Y=( 13a -6b)/(100- a) |
15 | Y= 7a /(4+ 3b)+6 |
16 | Y=a2- ( a/5 -2b) |
17 | Y=-3( a3 -b2)/(12- a) |
18 | Y=30( a2 -b)/(1- c) |
19 | Y= ( a3 -5b2)/10c |
20 | Y=-( a2 -c)/(-4b+ 7a) |
Разветвления. Простые циклы
Вариант | Задание |
1 | Y=(x-3)6 |
2 | Y=n! |
3 | Y=(x-1)(x-2)*…*(x-n) |
4 | Найти сумму цифр в числе N>0; |
5 | Найти количество цифр в числе N>0; |
6 | Y=2*4*6*…* (2*k)=(2k)!! |
7 | Y=1*3*5*7*..*(2K-1)=(2*k-1)!! |
8 | Y=(x-a)n |
9 | Найти сумму делителей натурального N. |
10 | Найти количество делителей натурального N/ |
11 | Проверить, простое ли число N. |
12 | Найти наибольший делитель числа N.( Кроме N ) |
13 | Проверить, является ли натуральное N степенью 3. |
14 | Найти количество четных цифр в записи числа N. |
15 | Сколько раз в записи числа N входит цифра С [0..9]. |
16 | Проверить, является ли натуральное N степенью 2. |
17 | Проверить, являются все цифры числа N одинаковыми. (Примеры таких чисел, 2222, 11111,99,5) |
18 | Вычислить Y=(2n-1)!! =1*3*5*…*(2n-1) |
19 | Найти количество нечетных цифр в числе N>0; |
20 | Вычислить Y=(2n)!! =2*4*6*…*(2n) |
|
|
Вопросы к защите
1. Назовите основные недостатки программирования в машинных командах.2. Ассемблер - это…..
3. TOYCODE – это…
4. Какое расширение имеет файл с исходным модулем в TOYCODE?
5. Какой файл получается в случае удачной трансляции?
6. На каком компьютере можно выполнить программу с расширением .TCP&
7. Отличие команд TOYCODE от команд TOYCOMP.
8. Директива TOYCODE REM
9. Директива TOYCODE DC.
10. Технология создания программ на TOYCODE.
11. Какие у вас были ошибки на этапе трансляции?
Ассемблер МП i8086. Линейный процесс.
Цель работы
· Знакомство с архитектурой микропроцессора МП i8086. .
· Знакомство с системой команд МП i8086. · Применение команд двоичной арифметики и разныхспособов адресации операндов · Закрепление знаний по отладке программы.· Использование знаний из курса «Программирование на ЯВУ».Порядок работы
1. Ознакомиться с теоретическими материалами по теме. 2. Разобрать лекционные примеры. 3. Ознакомиться с заданием согласно варианту. 4. Составить таблицу внешних спецификаций 5. Выполнить проектирование тестов к задачам. 6. Разработать и описать алгоритмы решения в виде блок-схемы или псевдокода. 4. Закодировать алгоритмы на языке ассемблера с необходимыми комментариями. 5. Получить исполняемый файл (.EXE) 7. Отладить и протестировать программу.
|
|
СОДЕРЖАНИЕ ОТЧЕТА
Задача №1. РВП1. Постановка задачи2. Математическая модель 3. Таблица внешних спецификаций. 4. Таблица тестoв.5. Блок-схема программы.6. Листинг программы. 7. Протокол тестирования программы
Индивидуальные задания
Вариант | Формула 1 |
1 | y=5a- b/ (7+ v) |
2 | y=-6a/ (b- ad) |
3 | y=ab/(a+ 10) |
4 | y=2a4/ (b+ 8c) |
5 | y=5a- b/ (a+c) |
6 | y=6a3- b/ c |
7 | y=7a- 2b/( a+ c) |
8 | y=-5a/(c- d) |
9 | y=9a/ (a- 3cd) |
10 | y=10a- 5b/(c-d) |
11 | Y=( 13a -125)/(100- b) |
12 | Y= a-( b –d) /(10*a) |
13 | Y=2a-( 13 -5c)/11 |
14 | Y=( 13a -6b)/(100- a) |
15 | Y= 7a /(4+ 3b)+6 |
16 | Y=a2- ( a/5 -2b) |
17 | Y=-3( a3 -b2)/(12- a) |
18 | Y=30( a2 -b)/(1- c) |
19 | Y= ( a3 -5b2)/10c |
20 | Y=-( a2 -c)/(-4b+ 7a) |
Вопросы к защите
1. Объем оперативной памяти МП i8086.
2. Регистры AX,BX,CX,DX. Разрядность, назначение, примеры применения
3. Сегментные регистры: разрядность, назначение, инициализация.
4. Индексные регистры. Базовые регистры
5. Регистр флагов, его назначение, основные флаги.
6. Регистр IP, назначение.
7. Какие команды МП имеют два операнда?
8. Каковы допустимые сочетания операндов в команде пересылки MOV?
|
|
9. Могут ли оба операнда двухадресной команды заданы в памяти ?
10. Какие команды МП имеют один операнд?
11. Какие команды МП не требуют указания операнда, как они выполняются?
12. Директивы. Их назначение. Виды директив.
13. Структура оператора языка ассемблера.
14. Структура программы на языке Ассемблера.
15. Оператор DW. Диапазонs для чисел со знаком и без знака в формате слова.(Word)
16. Команда пересылки MOV, назначение. Общий формат команды.
17. Команды сложения и вычитания целых двоичных чисел.
18. Какие арифметические команды различаются для чисел со знаком и без знака?
Дата добавления: 2019-02-12; просмотров: 203; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!