В2: Взаимодействие ЭВМ с внешними устройствами. Понятие интерфейса.
Интерфейс - это аппаратное и программное обеспечение (элементы соединения и вспомогательные схемы управления, их физические, электрические и логические параметры), предназначенное для сопряжения систем или частей системы (программ или устройств).
Под периферийным понимают любое устройство, конструктивно отделенное от центральной части ЭВМ, имеющее собственное управление и выполняющее запросы МП без его непосредственного вмешательства. По функциональному признаку ПУ делятся на две основные группы:внешние запоминающие устройства (ВЗУ), устройства ввода - вывода (УВВ).
Адаптер периферийных устройств (АПУ) выполняет две основные функции:осуществляет непосредственное управление ПУ по запросам от МП, освобождая тем самым последний от выполнения рутинных операций;обеспечивает согласование интерфейса ПУ с СШ.
Понятие «адаптер периферийного устройства» можно считать синонимом термина «контроллер».
Порт ввода-вывода (ПВВ) обеспечивает непосредственное подключение АПУ к СШ. Каждый ПВВ имеет свой адрес, аналогичный адресу в ОП, но содержащийся в другом адресном пространстве. Одному ПУ может быть приписано несколько ПВВ. Упрощенно ПВВ можно считать регистром, в который записывается информация для передачи в ПУ или с которого считывается полученная из ПУ информация.
В3.Что такое рекурсивная функция. Привести примнеры.
Под рекурсивнойфункцией в программировании понимают функцию, которая вызывает сама себя. Рекурсивные функции чаще всего используют для компактной реализации рекурсивных алгоритмов. Классическими рекурсивными алгоритмами могут быть возведение числа в целую положительную степень, вычисление факториала.
Недостатки рекурсивных функций:
Увеличение памяти на повторные вызовы функции и многократное размещение в стеке формальных параметров и локальных переменных рекурсивной функции
Расход времени на многократное выполнение команд вызова функции
Переполнение стека программы, при большом количестве рекурсивных вызовов
Пример рекурсивной функции на я зыке C
Возвести в степень n число с плавающей точкой x:
float power( float x,int n)
{
if ( n= = 0) return 1;
else return x*power( x,n-1);
}
#include<stdio.h>
void main()
{
int k;
float a;
printf(“ введите данные a и k \n” );
scanf(“%f%d”,&a,&k));
printf("%f",power(a,k));
}