Пример выполнения задания на циклы.



Задача. Проверить, является ли 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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!