Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Что такое ЭВМ Перечислите уровни составляющие архитектуру ЭВМ

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.11.2024

1) Что такое ЭВМ? Перечислите уровни, составляющие архитектуру ЭВМ.
Архитектура вычислительной машины (Архитектура ЭВМангл. Computer architecture) — концептуальная структура вычислительной машины[1], определяющая проведение обработки информации и включающая методы преобразования информации в данные и принципы взаимодействия технических средств и программного обеспечения Компьютер состоит из нескольких основных устройств (арифметико-логическое устройство, управляющее устройство, память, внешняя память, устройства ввода и вывода)

  Арифметико-логическое устройство – выполняет логические и арифметические действия, необходимые для переработки информации, хранящейся в памяти

  Управляющее устройство – обеспечивает управление и контроль всех устройств компьютера (управляющие сигналы указаны пунктирными стрелками)

  Данные, которые хранятся в запоминающем устройстве, представлены в двоичной форме

  Программа, которая задает работу компьютера, и данные хранятся  в одном и том же запоминающем устройстве

  Для ввода и вывода информации используются устройства ввода и вывода

2) Из каких основных этапов состоит процесс компиляции? Дайте краткое описание каждой из них.

Препроцессор может также раскрывать сокращения, именуемые макросами, в инструкции исходного языка.

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

Большие программы зачастую компилируются по частям, так что перемещаемый машинный код должен быть скомпонован совместно с другими перемещаемыми объектными файлами и библиотечными файлами в код, который можно будет выполнять на данной машине. Компоновщик ("линкер") выполняет разрешение внешних адресов памяти, по которым код из одного файла может обращаться к информации из другого файла. Загрузчик затем помещает все выполнимые объектные файлы в память для выполнения.



3) Перечислите 7 ассоциативных бинарных операторов, 6 унарных операторов и 1 тринарный оператор языка Си

бинарные: a+b; a-b; a*b; a/b; a%b; a&b; a|b
унарные i++; ++i; i--; —i; !x
тринарные (лог_выражение) ? (если true) : (если false)

4) Какие виды циклов присутствуют в языке Си? Какие требования в плане качества кода налагаются на их использование?
5) Чем статическая память отличается от динамической памяти?

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


6) Что такое алгоритм? Приведите несколько примеров алгоритмов?

алгоритм – это конечный набор предписаний, определяющий решение задачи посредством конечного количества операций.  Сортировка выбором, Алгоритм «пузырька», Сортировка вставками
7) Как руководствоваться при этом?

Алгоритм «пузырька»

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

Сортировка вставками

Данный алгоритм сортировки лучше всего представлять как сортировку карт после раздачи. Каждая следующая карта выбирается и вставляется на место в уже отсортированном наборе.

На каждом шаге алгоритма мы считываем по одному элементу массива, и "ищем для него место" в части массива, которая находится слева от него.

Сортировка выбором

Еще один интуитивно понятный алгоритм. На каждом шаге ищем в массиве минимальный элемент и меняем его с первым местами. Затем ищем в оставшейся части массива (уже начиная со второго) минимальный и меняем со вторым и т.д, пока не дойдем до предпоследнего.
8) Сравните между собой разные методы нахождения N-го числа Фибоначчи. Какой использовать предпочтительнее?

видимо, рекурсивно: 
int fib(int a){
if(a<=2) return 1;
return fib(a-1)+fib(a-2);
}
и итеративно 
int fib(int a){
int t1=1, t2=1, t;
for (int i=2;i<a;++i) {t=t1; t1=t2; t2=t; t2+=t1;}
return t2;
}
рекурсивный работает медленнее (fib вычисляется по нескольку раз для одних и тех же значений), и к тому же может переполниться стек рекурсии

9) В чем с математической точки зрения заключается задача сортировки?

Пусть задано множество A: {a1, a2, a3, …, ai, …} произвольной мощности. Зададим на этом множестве отношение « » обладающее свойствами рефлексивности и транзитивности. В таком случае сортировкой упорядоченного подмножества M множества A ( MA )называется процесс упорядочивания элементов данного множества (по сути, вектора) так, что для каждой пары элементов Mi и Mj (i j: i,j N) выполняется отношение Mi Mj.


10) Сравните алгоритмы сортировки «пузырьком», «выбором» и «вставками».

все 3 работают за n^2
11) чем заключается алгоритм «быстрой сортировки»? В чем скрывается его В недетерминированность, и какие методы ее обхода вы можете предложить?

QuickSort

Суть алгоритма «быстрой» сортировки очень проста: выбираем некоторый элемент, называемый медианным, все элементы, которые меньше его, перемещаем в массиве налево от него, а остальные – направо. Затем вызываем данную процедуру рекурсивно для каждой из частей и т.д. до момента, когда длина сортируемых частей не станет равна 1.
12) В чем заключается алгоритм «пирамидальной сортировки»? Приведите пример.


13) то такое дерево? Что такое бинарное дерево? Что такое куча? Чем куча  отличается от бинарного дерева поиска?

Дерево – граф, между двумя вершинами которого существует ровно один путь.

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

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

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

Реализовать бинарное дерево можно любым способом, но самый простой – в виде массива. Так, для того, номер вершины, являющейся левым потомком для вершины с номером i, равен 2i, правым потомком – 2i+1. Родителем для вершины с номером i является вершина с номером i/2. Все эти выражения записаны при нумерации элементов, начинающейся с единицы, следовательно, что следует учитывать при  реализации на языке Си, прибавляя или вычитая единицу.


14) Какие структуры данных вы знаете? С какой целью используется каждая из них?

Массив – это совокупность элементов одного типа, расположенных в памяти друг за другом, доступ к которым осуществляется по номеру, равным смещению относительного начального элемента, называемого нулевым.

Стек – это совокупность элементов, которая организована по принципу LIFO (last-in-first-out). Проще всего стек представить в виде стопки книг. Вся работа осуществляется только с верхом стопки. Мы можем положить книгу только наверх и взять книгу тоже только сверху. Если потребуется книга из середины, нужно сначала убрать все предыдущие.

Очередь – это совокупность элементов, которая организована по принципу LILO (last-in-last-out). Из названия данной структуры, очевидно, что ее можно представлять как обычную очередь в магазине. Первый в очереди уходит первым, а последний – последним.


15) Чем стек отличается от очереди? Как реализовать очередь с помощью двух стеков?

Стек – это совокупность элементов, которая организована по принципу LIFO (last-in-first-out). Проще всего стек представить в виде стопки книг. Вся работа осуществляется только с верхом стопки. Мы можем положить книгу только наверх и взять книгу тоже только сверху. Если потребуется книга из середины, нужно сначала убрать все предыдущие.

Очередь – это совокупность элементов, которая организована по принципу LILO (last-in-last-out). Из названия данной структуры, очевидно, что ее можно представлять как обычную очередь в магазине. Первый в очереди уходит первым, а последний – последним.

Для стека определены две операции: push и pop – положить на стек и снять с вершины стека соответственно. Для очереди определены их аналоги: enqueue и dequeue, – поставить в конец очереди и взять первый элемент в очереди.  


16)Что такое хеш-таблица? Что выбирается в качестве функции хеширования? Как можно избежать коллизий в хеш-таблице?

Хеш-табли́ца — это структура данных, реализующая интерфейс ассоциативного массива, а именно, она позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу.

Существует несколько способов разрешения коллизий.

Метод цепочек

Каждая ячейка массива H является указателем на связный список (цепочку) пар ключ-значение, соответствующих одному и тому же хеш-значению ключа. Коллизии просто приводят к тому, что появляются цепочки длиной более одного элемента.

Операции поиска или удаления элемента требуют просмотра всех элементов соответствующей ему цепочки, чтобы найти в ней элемент с заданным ключом. Для добавления элемента нужно добавить элемент в конец или начало соответствующего списка, и, в случае, если коэффициент заполнения станет слишком велик, увеличить размер массива H и перестроить таблицу.

Открытая адресация

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

Последовательность, в которой просматриваются ячейки хеш-таблицы, называется последовательностью проб.


17) Что такое радужная таблица? Зачем она применяется?

Радужная таблица (англ. rainbow table) — специальный вариант таблиц поиска(англ. lookup table), использующий механизм разумного компромисса между временем поиска по таблице и занимаемой памятью (time-memory tradeoff). Радужные таблицы используются для вскрытия паролей, преобразованных при помощи сложнообратимойхеш-функции, а также для атак на симметричные шифры на основе известного открытого текста.
18) Что такое операционная система? Какие семейства операционных систем вы знаете?

По ГОСТ 15971-90 под операционной системой понимается совокупность системных программ, предназначенная для обеспечения определенного уровня эффективности системы обработки информации за счет автоматизированного управления ее работой и предоставляемого пользователю определенного набора услуг.  Windows, UNIX
19)Какие файловые системы вы знаете? Чем они отличаются? В чем преимущество журналируемых файловых систем? В чем недостаток?

По предназначению файловые системы можно классифицировать на нижеследующие категории.

  1.  Для носителей с произвольным доступом (например, жёсткий диск): FAT32HPFSext2 и др. Поскольку доступ к дискам в разы медленнее, чем доступ к оперативной памяти, для прироста производительности во многих файловых системах применяется асинхронная запись изменений на диск. Для этого применяется либо журналирование, например в ext3,ReiserFSJFSNTFSXFS, либо механизм soft updates и др. Журналирование широко распространено в Linux, применяется в NTFS. Soft updates — в BSD системах.
  2.  Для носителей с последовательным доступом (например, магнитные ленты): QIC и др.
  3.  Для оптических носителей — CD и DVDISO9660HFSUDF и др.
  4.  Виртуальные файловые системыAEFS и др.
  5.  Сетевые файловые системы: NFSCIFSSSHFSGmailFS и др.
  6.  Для флэш-памятиYAFFSExtremeFFSexFAT.
  7.  Немного выпадают из общей классификации специализированные файловые системы: ZFS (собственно файловой системой является только часть ZFS), VMFS (т. н. кластерная файловая система, которая предназначена для хранения других файловых систем) и др.


20) Что такое реестр? Зачем он нужен? В чем его основные достоинства?

Реестр- Это хранилище общесистемных и пользовательских параметров. он представляет собой окно в мир различных структур, которые хранятся в памяти компьютера и поддерживаются ядром и исполнительной системой.


21)Что такое WinAPI? Какие основные подходы к разработке с помощью WinAPI можно привести?

WinAPI, по своей сути, это общее название для всех функций операционной системы, которые могут включать в свои программы сторонние разработчики. Во-первых, практически все типы данных, используемые в Windows являются переопределенными для однозначности. Так, например, тип BYTE - это беззнаковый тип, определяющий 1 байт данных (typedef unsigned char), WORD - 2 байта (typedef unsigned short), DWORD - 4 байта (typedef unsigned long), и т.д. Также на основе типа  определен тип BOOL, с которым связаны константы FALSE и TRUE. Т.к. он является обычным целочисленным типом данных, то его переменные могут принимать все те же значения, что и переменные типа int, однако для повышения читаемости кода следует всегда считать, что кроме TRUE и FALSE для него значений нет.


22) Какие криптографические стандарты существуют? Сравнивать алгоритмы между собой? Какими правилами нужно криптографические системы вы знаете?

Стандарты шифрования

  1.  Data Encryption Standard (DES, устарел)
  2.  Triple-DES
  3.  Advanced Encryption Standard (AES)
  4.  RSA исходный алгоритм открытого ключа
  5.  OpenPGP
  6.  CipherSaber

Стандарты хеширования

  1.  MD5 128-bit (устаревающий)
  2.  SHA доступен в вариантах 160, 256, 384 и 512-бит
  3.  HMAC
  4.  PBKDF2 (RFC 2898)

Стандарты цифровой подписи

  1.  Digital Signature Standard (DSS), based on the Digital Signature Algorithm (DSA)
  2.  RSA

Стандарты инфраструктуры открытых ключей(PKI)

  1.  X.509 Public Key Certificates

Стандарты беспроводных коммуникаций

  1.  Wired Equivalent Privacy (WEP), severely flawed and superseded by WPA)
  2.  Wi-Fi Protected Access (WPA) better than WEP, a 'pre-standard' partial version of 802.11i
  3.  802.11i a.k.a. WPA2, uses AES and other improvements on WEP
  4.  A5/1 and A5/2 cell phone encryption for GSM


Какие отечественные

  1.  ГОСТ_28147-89 ГОСТ 28147—89 Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования
  2.  ГОСТ_Р_34.10-2001 ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи
  3.  ГОСТ_Р_34.11-94 Информационная технология. Криптографическая защита информации. Функция хэширования


23)В чем разница между симметричной и асимметричной криптографией? Для чего они применяются?

Отмечено, что симметричные криптографические алгоритмы имеют меньшую длину ключа и работают быстрее, чем асимметричные. Симметричные криптографические алгоритмы служат для шифрования данных, они работают на несколько порядков быстрее, чем асимметричные алгоритмы. Однако и у криптографии с открытым ключом есть области применения, в которых криптографии с секретным ключом делать нечего. К ним относятся работа с ключами и многочисленные криптографические протоколы.

24) Что такое CryptoAPI? Для чего он разработан? Опишите обобщенную архитектуру криптографической подсистемы Windows.

Среди функций WinAPI существует интерфейс, называемый CryptoAPI, содержащий 26 функций, позволяющих осуществлять полный спектр криптографических преобразований.

Все функции криптографического интерфейса описаны в заголовочном файле Wincrypt.h, который следует подключить к разрабатываемому проекту при необходимости использования криптографии. Помимо реализации всех функций CryptoAPI согласно спецификациям Microsoft криптопровайдер может его расширять, добавляя собственные флаги в функции, подключая свою функции и параметры. Но, главное, данное расширение ни в коем случае не должно нарушать исходные требования к провайдерам.


25) Какие функции CryptoAPI вы знаете? Как с ними работать?

Функция CryptDestroyKey уничтожает дескриптор, ссылающийся на параметр hKey.

WINADVAPI BOOL WINAPI CryptDestroyKey(

 HCRYPTKEY hKey

);

Функция CryptDestroyHash уничтожает объект функции хеширования, ссылающийся на параметр hHash

WINADVAPI BOOL WINAPI CryptDestroyHash(

 HCRYPTHASH hHash

);


26)В чем разница между случайными и псевдослучайными числами? Для чего они используются? Что такое энтропия?

Случайные числа нельзя предугадать, а псевдо случайные числа это последовательность чисел которые почти не зависят друг  от друга(они задаются алгоритмом) используются от метода Монте-Карло и имитационного моделирования до криптографии. Энтропи- в естественных науках мера беспорядка системы, состоящей из многих элементов
27) как организованы массивы в памяти компьютера? Чем двумерные массивы К отличаются от одномерных? Для чего они используются?

В большинстве языков (в том числе языке Си) при объявлении статического массива выделяется непрерывная область памяти, длина которой равна произведению количества элементов на размер типа данных. При этом возвращается указатель на начало этой области. Двумерный и одномерный массив не чем не отличаются, двумерный массив создали чтобы было проще работать . Элементом массива может быть в свою очередь тоже массив. Таким образом, мы приходим к понятию двумерного массива или матрицы. Описание двумерного массива строится из описания одномерного путем добавления второй размерности, Массивы данных предназначены прежде всего для задания индивидуальных атрибутов отображения для элементов слоя. 
28) Как организовывается работа с файлами в языке Си?

Функция открытия потока fopen возвращает указатель на предопределенную структуру типа FILE (содержащую всю необходимую для работы с потоком информацию) при успешном открытии потока, или NULL в противном случае.

В заголовочном файле stdio.h содержится  описание  файлового типа  FILE, с которым связывается файловая переменная (указатель на файл). При открытии  файла  указатель  на файл связывается с конкретным файлом на диске и определяется режим открытия файла:

      r (r+) - файл открывается для чтения (чтения и записи);

     w (w+) - открывается пустой файл для записи (чтения и записи). Если файл с таким именем существует, он стирается;

      a  (а+)-  файл открывается для  дополнения в конец (чтения и дополнения).

Режим открытия может также содержать символы t (текстовый файл) и b (двоичный файл), указывающий на вид открываемого файла: rb, wb, ab, rt, at, rb+, wb+, ab+ и т.д.

         Закрытие файла (текстового или бинарного) выполняется  функцией fclose(), установка указателя на начало  файла - функцией rewind(). Если при попытке чтения данных из файла встречается символ конца файла, то возвращается специальное значение EOF. Функции feof(),ferror() сообщают о причинах, по которым операция ввода/вывода не выполнилась. Запись данных в файл и чтение данных из файла можно выполнять разными способами:

1)    функциями форматного ввода-вывода fscanf(), fprintf();

2)    функциями неформатного ввода-вывода fread(), fwrite().

Если требуется сохранять и восстанавливать числовые данные без потери точности, то лучше использовать fread(), fwrite(). Если обрабатывается текстовая информация, которая будет просматриваться обычными текстовыми редакторами, то используется  fgetс()- посимвольное чтение файла, посимвольная запись в файл - fputc() или функции  fscanf(), fprintf(). Для чтения из файла и записи в файл строки используются функции fgets() и fputs().


29) Приведите 5 рекомендованных книг.

Брюс Шнайер Прикладная криптография

керниган ричи язык си

герберт шилдт полный справочник c

GOOGLE

Ахо, Ульман, "Компиляторы. Принципы, технологии, инструментарий"

Архитектура компьютера.   Э. Таненбаум


30) Назовите всех ваших преподавателей информатики.

Варламов Олег Сергеевич
Джунковский Павел Олегович
Беззубцев Игорь Олегович
Агафьин Сергей Сергеевич
Малкин Виталий Андреевич

Леошкевич Илья Олегович




1. Административная процедура регистрации религиозных организаций
2. з курсу Фізіологія шкільного віку
3. Эконом Высота ограждения- 1000 мм Поручень- диам
4. финансовые отношения
5. Принцип номинала
6. экономическое развитие России после 1861 г
7. а Способы получения суппозиториев б Стадии изготовления суппозиториев в Основы для суппозиториев и их з
8. Тема Основы межкультурных коммуникаций Литература- Основы межкультурных коммуникаций под редакцие
9. Что такое текст
10. В.М. КОРЕЦЬКОГО НАН УКРАЇНИ УКРАЇНСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ХАРЧОВИХ ТЕХНОЛОГІЙ УДК.
11. вариант чтения не связанный с ломкой глаз на экране монитора бумажную книгу
12. реферату- Природні стихії та їх екологічне значенняРозділ- Екологія Природні стихії та їх екологічне значе
13. 2]. Абсолютная погрешность- ~ Хп Q0 где Хп значение полученное при измерении величины рабочим измери
14. технические мероприятия; лечебнопрофилактические мероприятия
15. Ведение бухгалтерского учета на основе решений 1С
16. тема Norton Commnder версія 5
17. і Складові якості цієї підструктури особистості не є природними а відображають індивідуальне суспільне мис
18. Семь этапов процедуры бенчмаркетинга Попытка приложить американские и западноевропейские схемы к отечественным условиям
19. Цена и спрос
20. Беломордый дельфин