Главная страница
Случайная страница
Разделы сайта
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов.
За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее.
✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать».
Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами!
достижении заданных целей с результативностью, эффективностью, свободой от риска.
Ответы к экзамену по ОКТех
1. Аппаратное обеспечение (то же, что и аппаратные средства, компьютерные комплектующие, «железо») это любые электронные и механические части компьютера, исключая ПО и данные (информацию, которую компьютер хранит и обрабатывает). АО есть в компьютерах, внешних устройствах, смартфонах, батареях и аккумуляторах. Архитектура компьютера — то, из чего состоит сам компьютер, а также их компоновка. Проще говоря, это материнская плата, процессор, ОЗУ, видеоподсистема, дисковая система, периферийные устройства и устройства ввода-вывода. Материнская плата – основа всей архитектуры компьютера. Имеет все разъемы для подключения всевозможных устройств, начиная с разъема процессора и заканчивая разъемом для USB-флешек. Делится на северный и южный мосты. Северный мост отвечает за процессор, оперативную память и видеоподсистему. В то же время южный мост отвечает за шины расширения (слоты PCI (сетевые платы, звуковые карты и прочее) и PCI Express (видеокарты)), BIOS, контроллер прерываний, периферийные устройства. Проще говоря, северный мост служит для вычислений, а южный – для подключения устройств ввода-вывода. Между собой эти мосты общаются посредством внутренней шины. Материнские платы имеют различные форм-факторы, разъемы для подключения процессора и прочее. ОЗУ (оперативная память, память с произвольным доступом) - энергозависимая часть системы компьютерной памяти, в которой во время работы компьютера хранится выполняемый машинный код (программы), а также входные, выходные и промежуточные данные, обрабатываемые процессором. В общем случае, ОЗУ содержит программы и данные ОС и запущенные прикладные программы пользователя и данные этих программ, поэтому от объёма оперативной памяти зависит количество задач, которые одновременно может выполнять компьютер под управлением ОС. Оперативное запоминающее устройство, ОЗУ — техническое устройство, реализующее функции оперативной памяти. Существуют ОЗУ динамического (DRAM) и статического (SRAM) типа. DRAM - для хранения бита используется схема, состоящая из конденсатора и транзистора (дешево и малая площадь, но медленно и требует перезарядки конденсатора). SRAM – ОЗУ, выполненное в виде массива триггеров (быстро, но дорого и большая площадь). ПЗУ (постоянное запоминающее устройство) - энергонезависимая память, используется для хранения массива неизменяемых данных. К этому понятию НЕ относится жесткий диск, поскольку в HDD возможна перезапись данный. К определению ПЗУ также относят аббревиатуру ROM (read-only memory) – единожды записано, возможно ТОЛЬКО чтение. Обычно ПЗУ хранит в себе BIOS-прошивку (если подразумевается ПЗУ внутри компьютера). Также в роли ПЗУ (если подразумеваются внешние носители) могут выступать компакт-диски, перфокарты, перфоленты, штрих-коды. Разъёмы материнской платы могут варьироваться в зависимости от самой платы. Наиболее распространенные: разъем ЦП, разъемы ОЗУ, разъемы питания, разъемы подключения жестких дисков и дисководов (IDE, SATA), разъем подключения батарейки, разъемы PCI и PCI Express, разъемы подключения системы охлаждения, разъемы подключения USB и аудио подсистем. Эти разъемы находятся непосредственно на плате. Разъемы на задней панели: разъем PS/2 для клавиатуры и мыши, порты USB, параллельный порт (обычно для принтеров), разъемы аудио подсистемы, микрофона и прочего.
2. Видеокарта - устройство, преобразующее графический образ в форму, пригодную для дальнейшего вывода на экран монитора. Современные видеокарты не ограничиваются простым выводом изображения, они имеют встроенный графический процессор, который может производить дополнительную обработку, снимая эту задачу с центрального процессора компьютера. Обычно видеокарта выполнена в виде печатной платы (плата расширения) и вставляется в разъём расширения, универсальный либо специализированный (AGP, PCI Express). Также широко распространены и встроенные (интегрированные) в системную плату видеокарты — как в виде отдельного чипа, так и в качестве составляющей части северного моста чипсета или ЦПУ. В этом случае устройство, строго говоря, не может быть названо видеокартой. Видеокарта состоит из графического процессора, ОЗУ, ПЗУ и видеоконтроллера, который подает информацию на ГП. Характеристики видеокарт: - ширина шины памяти, измеряется в битах — количество бит информации, передаваемой за такт. Важный параметр в производительности карты.
- объём видеопамяти, измеряется в мегабайтах — объём собственной оперативной памяти видеокарты. Больший объём далеко не всегда означает большую производительность.
- частоты ядра и памяти — измеряются в мегагерцах, чем больше, тем быстрее видеокарта будет обрабатывать информацию.
- текстурная и пиксельная скорость заполнения, измеряется в млн. пикселей в секунду, показывает количество выводимой информации в единицу времени. Звуковая карта - оборудование, позволяющее обрабатывать звук (выводить на акустические системы и/или записывать). //Хз, что еще сказать Питание устройств осуществляется посредством блока питания. Блок питания снабжает устройства постоянным током путём конвертации сетевого напряжения до требуемых значений. От блока питания отходят провода питания, имеющие вид n-pin разъема. Кол-во pin варьируется в зависимости от устройства, к которому отходит питание. +12V необходимо для питания видеокарты и материнской платы, +5V – для жестких дисков и дисководов, +3V – для всего прочего.
3. Устройства ввода-вывода - компонент компьютера, предоставляющий ему возможность взаимодействия с внешним миром и, в частности, с пользователями. к ним относятся: дисковод, сетевая плата, модем Устройства ввода - это в основном датчики преобразования не электрических величин в электрические сигналы воспринимаемые процессором для дальнейшей их обработки в основном в цифровом виде. К ним относятся: клавиатура, мышь и тачпад, планшет, джойстик, сканер, цифровые фото- и видеокамеры, веб-камеры, микрофон. Устройства вывода - это преобразователи электрических сигналов в вид, требуемый пользователем. К ним относятся: монитор, принтер, акустическая система Внешняя память - это не энергозависимая память, предназначенная для длительного хранения программ и данных. К ним относятся: гибкие и оптические диски, дискеты, флешки, HDD, магнитные ленты. Жесткий диск – главное устройство хранения информации в компьютере. Жесткий диск заключен в крепкий бокс и внутри заполнен вакуумом, потому как сам диск при малейшем контакте с пылинкой выходит из строя. Сам диск – алюминиевая или стеклянная пластина. На диск наносится информация посредством намагничивания отдельных участков. Если поле диска имеет заряд – это 1, если нет – 0. Считывание с диска происходит механической головкой, которая двигается с помощью магнита по всему радиусу диска. Сама головка не имеет контакта с диском, расстояние между ними в несколько раз меньше, чем толщина человеческого волоса. Именно поэтому жесткие диски не терпят ударов и иных воздействий со стороны окружающей среды. Оптические диски – носители информации в виде диска, считываются с помощью оптического лазера. Лазер выжигает маленькие канавки по принципу иглы для винилового диска. Эти канавки (питы) – 1, нет канавки – 0. Виды таких дисков: CD, DVD, Blu-Ray. Магнитные диски – носители информации в виде диска, однако диск имеет слой, который в свою очередь имеет свойство намагничиваться. Виды: дискеты, магнитные ленты. Принтеры – внешние периферийные устройства, которые интерпретируют электрические сигналы в текст или рисунок на бумаге. Бывают лазерными (на барабан наносят эл. заряд, лазер вычерчивает на нем нужные символы, на барабан наносится тонер, который прилепляется только к областям, имеющие заряд), струйными (головки формируют символы посредством краски), термопринтеры (на термочувствительную бумагу наносятся символы посредством нагретых головок), матричными (ударные головки бьют по бумаге через красящую ленту). Мониторы – внешние устройства вывода, формирующее из электрических сигналов изображение, понятное для пользователя. //Хз, что еще сказать
4. Центральный процессор – центральное обрабатывающее устройство, исполняющее машинные инструкции. Существует две главные архитектуры процессора: фон Неймана и Гарвардская. Большинство современных процессоров для компьютеров в общем основаны на той или иной версии циклического процесса последовательной обработки данных, изобретённого Джоном фон Нейманом. Этапы цикла выполнения:
1. Процессор выставляет число, хранящееся в регистре счётчика команд, на шину адреса и отдаёт памяти команду чтения.
2. Выставленное число является для памяти адресом; память, получив адрес и команду чтения, выставляет содержимое, хранящееся по этому адресу, на шину данных и сообщает о готовности.
3. Процессор получает число с шины данных, интерпретирует его как команду (машинную инструкцию) из своей системы команд и исполняет её.
4. Если последняя команда не является командой перехода, процессор увеличивает на единицу (в предположении, что длина каждой команды равна единице) число, хранящееся в счётчике команд; в результате там образуется адрес следующей команды.
Отличительной особенностью архитектуры фон Неймана является то, что инструкции и данные хранятся в одной и той же памяти. Гарвардская архитектура отличается от архитектуры фон Неймана тем, что программный код и данные хранятся в разной памяти. Порядок обработки команд процессором имеет сходство с конвейером – данные проходят через все стадии обработки и выходят в готовом виде. Конвейер имеет следующие стадии:
- Получение (англ. Fetch)
- Раскодирование (англ. Decode)
- Выполнение (англ. Execute)
- Запись результата (англ. Write-back)
Шина данных - часть системной шины, предназначенная для передачи данных между компонентами компьютера. Основной характеристикой шины данных является её ширина в битах. Ширина шины данных определяет количество информации, которое можно передать за один такт. Шина команд (шина управления) - компьютерная шина, по которой передаются сигналы, определяющие характер обмена информацией. Сигналы управления определяют, какую операцию (считывание или запись информации из памяти) нужно производить, синхронизируют обмен информацией между устройствами и т. д. Кэш - промежуточный буфер с быстрым доступом, содержащий информацию, которая может быть запрошена с наибольшей вероятностью. Доступ к данным в кэше осуществляется быстрее, чем выборка исходных данных из более медленной памяти или удаленного источника, однако её объём существенно ограничен по сравнению с хранилищем исходных данных. Находится в процессоре.
5 Архитектура процессора - с точки зрения компьютерной техники - основные принципы внутренней организации конкретных семейств процессоров. Работу процессора синхронизирует внешний генератор тактов. В соответствии с этими сигналами происходит считывание и исполнение команд. Управляющий блок декодирует команды в микрооперации и даёт другим частям процессора соответствующие указания. Операционный блок (ядро) содержит арифметико-логическое устройство, которое способно выполнять вычислительные действия с указанными данными или выполнять логические операции. Регистры являются внутренней памятью процессора и подразделяются следующим образом:
- Регистры общего пользования, которые предназначены для запоминания данных и/или операндов при исполнении команд.
- Специальные регистры, на которые возлагается выполнение специальных функций при работе процессора (смещения базовых таблиц, уровни доступа и т. д.).
Стековую память используют для запоминания состояний регистров. Например, это нужно при обработке прерывания, когда надо запомнить содержимое регистров до прерывания, чтобы восстановить их содержание для продолжения работы после обработки прерывания. Стек организован по принципу «последним зашёл, первым вышел» (LIFO - Last In First Out). Машинный язык - система команд (набор кодов операций) конкретного компьютера, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины. Состоит из 1 (true) и 0 (false). Ассемблер - компилятор исходного текста программы, написанной на языке ассемблера, в программу на машинном языке.
6. Регистр процессора – блок ячеек памяти, образующий сверхбыструю память внутри процессора. Используется самим процессором. Триггеры - класс электронных устройств, обладающих способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов.
7. Программный стек - структура данных, представляющая собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю. Хип (куча) — название структуры данных, с помощью которой реализована динамически распределяемая память приложения, а также объём памяти, зарезервированный под эту структуру. Для размещения и удаления динамических объектов используются примитивы «создать объект» (например, New) и «удалить объект» (например, Dispose).
8. ОС – набор программ, предназначенных для распределения ресурсов компьютера между программами, а также для обработки сообщений от устройств ввода-вывода. Современные ОС – Windows, Unix (Linux), Andoid, iOS. Различия между ними заключаются в назначении. Windows прост и понятен для рядового пользователя. Windows использует графический интерфейс для взаимодействия с компьютером гораздо больше, чем Unix-подобные системы. Тот же Linux сделан программистами для программистов, который имеет более открытые возможности для реализации той или иной программы. Android обычно используют в мобильных системах (как и iOS) ввиду меньшего энергопотребления, гибкой кастомизации и открытого кода. iOS же имеет закрытый код.
9. Порядок загрузки компьютера имеет следующую последовательность: После включения компьютера в его оперативной памяти нет операционной системы. Само по себе, без операционной системы, аппаратное обеспечение компьютера не может выполнять сложные действия, такие как, например, загрузку программы в память. Решением является использование специальной компьютерной программы, называемой начальным загрузчиком, или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему. В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд, расположенных в постоянной памяти (например на IBM PC — команд BIOS), начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела выбранного устройства (чаще всего загрузочного сектора данного устройства) загрузчик ОС. BIOS (англ. basic input/output system — «базовая система ввода-вывода») — реализованная в виде микропрограмм часть системного программного обеспечения, которая предназначается для предоставления операционной системе доступа к аппаратуре компьютера и подключенным к нему устройствам. Хранится в ПЗУ. Загрузчик ОС - системное программное обеспечение, обеспечивающее загрузку операционной системы непосредственно после включения компьютера. Запускается с помощью BIOS. Инициализация оборудования подразумевает собой определение всех устройств, подключенных к компьютеру. Делается это для поиска места, где хранится сама ОС.
10. Запуск программы подразумевает собой инициализацию файлов и инструкции самой программы, подключение необходимых библиотек, драйверов, процессов и прочего операционной системой. Ресурсы ОС - общие компоненты для программ. К ресурсам ОС относятся процессы, потоки, файлы, события, семафоры, мьютексы, каналы, сокеты. Ресурсы ОС необходимы для корректного запуска и работы различных программ, запускаемых из-под ОС. Динамическая библиотека (DLL) – программный код, который доступен для многократного использования различными приложениями. Доступ к функция осуществляется по их имени. Проще говоря, динамические библиотеки включают в себя своеобразные шаблоны выполнения программ на машинном языке. Процесс – программа, загруженная в оперативную память, а также все связанные с ней системные ресурсы (память, файлы, стек, регистры и тд.). Процесс делится на потоки, которые в свою очередь обрабатываются ЦП. Поток – наименьшая единица процесса, которой может быть выделено процессорное время.
11. Пользовательский режим и режим ядра различаются уровнем доступа к ЦП. В первом случае код не может напрямую влиять на ход работы системы. Код приложений работает в пользовательском режиме, тогда как код операционной системы (например, системные сервисы и драйверы устройств) — в режиме ядра. B режиме ядра предоставляется доступ ко всей системной памяти и разрешается выполнять любые машинные команды процессора. Предоставляя операционной системе более высокий уровень привилегий, чем прикладным программам, процессор позволяет разработчикам операционных систем реализовать такие архитектуры, которые не дают возможности сбойным приложениям нарушать стабильность работы всей системы. Ядро ОС – центральная часть ОС, управляющая выполнением процессов, ресурсами компьютера и предоставляющая процессам координированный доступ к этим ресурсам. Грубо говоря, ядро ОС управляет процессами и ресурсами в ходе работы ОС. Прерывание – сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается, и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код. Прерывание необходимо для исключение повреждения ЦП, исключения зацикливания в ходе обработки потока ЦП. При наивысшем прерывании вся информация, хранящаяся в ОЗУ, сохраняется в файл, отображается синий экран смерти (BSOD) и останавливается работа процессора. Драйвер – программа, которая обеспечивает взаимодействие ОС и аппаратного обеспечения. Проще говоря, драйвер – это набор инструкции для аппаратного обеспечения, которая говорит как и что надо делать.
12. Консоль – ПО, реализующее текстовый интерфейс. Оно абстрагируется от графического интерфейса, в результате чего ресурсы системы не тратятся на его отображение. Процесс выполнения программы или скрипта заключается в последовательном выполнении команд. Поскольку команды записаны в памяти, чтобы начать выполнение программы, надо задать адрес первой, а в каждой выполненной команде указать адрес следующей команды или определить способ вычисления адреса следующей команды из адреса выполненной. Обычно предполагается естественный порядок выполнения команд. Последовательно выполняемые команды программы должны быть записаны в последовательных ячейках памяти. Тогда адрес следующей команды вычисляется увеличением адреса выполненной команды. Права доступа к файлам и директориям задаются для ограничения чтения/записи информации со стороны третьих лиц. Команда chmod в консоли задаёт разрешения к файлу, например строка chmod 440./filename разрешает владельцу и определенной группе читать информацию из файла filename, а всем остальным – нет. Права доступа задаются в восьмеричной системе. Для управления файловой системой ОС из-под консоли используются следующие команды:
- vi – путь к файлу - cd – переход в папку - ls – вывод имен все файлов в директории в одну строку - ls –al – вывод в отдельные строки всю информацию о файлах
13. Перенаправление потоков ввода-вывода из-под консоли управляется следующими командами:
- 0< - поток ввода - 1> - поток вывода - 2> - вывод ошибки в файл - & > - вывод ошибок и запись в один файл, стандартный поток Конвейера:
- ctrl+c – убийство процесса - ctrl+z – приостановка - ctrl+z bg(fg) – перевод программы в фон (актив) - nohup – запрет остановки после завершения скрипта
Команды работы с сетью:
- ping – отсылка пакетов на ip-адрес - telnet ip port – отправка команд на ip - iptables - установка, настройка и просмотр таблиц правил фильтрации IP-пакетов в ядре Linux.
14. Сеть - система связи компьютеров или вычислительного оборудования (серверы, маршрутизаторы и другое оборудование). Для передачи данных могут быть использованы различные физические явления, как правило — различные виды электрических сигналов, световых сигналов или электромагнитного излучения. TCP – протокол передачи данных. Медленно, но надежно. UDP – быстро, но пакеты теряются. Сетевой протокол – набор правил и соглашений, на основе которых происходит обмен данными между программами или устройствами. IPv4 – 4-х байтные адреса, IPv6 – 16-ти байтные адреса. DHCP – протокол, регулирующий порядок предоставления динамических ip-адресов. DHCP сервер – сервер, выдающий по запросы все необходимые для конфигурации сетевого устройства значения (IP, маска подсети, шлюз). Клиент-серверная архитектура – правило взаимодействия нескольких компьютеров, один из которых является сервером и поставляет какие-либо услуги (сервисы). Другие компьютеры – клиенты, создающие запросы для получения услуг сервера. DNS – система доменных имён. HTML – язык гипертекстовой разметки. Предназначен для разработки веб-приложений. Использует спец. обозначения (теги) для формирования разметки страницы. Дерево – направленный граф, имеющий вершину, корень и несколько потоков. Internet - всемирная система объединённых компьютерных сетей для хранения и передачи информации. Построена на базе протоколов TCP/IP. На основе Интернета работает Всемирная паутина (World Wide Web, WWW) и множество других систем передачи данных. Intranet – в отличе от Internet – внутренняя частная сеть организации. Веб-разработка — процесс создания веб-сайта или веб-приложения. Основными этапами процесса являются веб-дизайн, вёрстка страниц, программирование для веб на стороне клиента и сервера, а также конфигурирование веб-сервера. CSS - формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языка разметки HTML.
15. Существуют разногласия в том, как вписать модель TCP/IP в модель OSI, поскольку уровни в этих моделях не совпадают.
16. Имя хоста - это символическое имя, назначенное сетевому устройству, которое может быть использовано для организации доступа к этому устройству различными способами. Как правило имя хоста - это доменное имя, которое значительно проще для человека прочесть, запомнить и произнести, чем тот же числовой IP-адрес, который также идентифицирует сетевое устройство. В то время, как для идентификации устройства IP-адрес обязателен, назначение имени хоста - опционально.
17. Булева алгебра – область математики, содержащая правила обращения со множествами, а также с логическими утверждениями типи «и», «или», «не». Операнжы: 1 (true) и 0 (false). Операции:
- отрицание – логич. операция, по своему значению макс. приближенная к частице «не».
- конъюкция – к союзу «и» (умножение).
- дизъюнкция – к союзу «или» (сложение).
- строгая дизъюнкция – или то, или это, но не оба сразу
При добавлении частицы не (И-НЕ, ИЛИ-НЕ) все выходные результаты инвертируются.
18. Над битами двух целых операндов можно выполнять логические операции: not, and, or, xor. Например, число 5 в двоичном представлении (в одном байте) имеет значение 00000101. Операция not инвертирует биты и мы получим 11111010, т.е число 250. Если побитовую операцию or использовать к числам 5 (00000101) и 3 (00000011), то получится число 7 (00000111). В двоичной системе счисления арифметические операции выполняются по тем же правилам, что и в десятичной системе счисления, т.к. они обе являются позиционными (наряду с восьмеричной, шестнадцатеричной и др.). Рассмотрим операцию сложения на примере 2-ой системы счисления:
В последнем случае, при сложении двух единиц, происходит переполнение младшего разряда, и единица переносится в старший разряд. Переполнение возникает в случае, если сумма равна основанию системы счисления (в данном случае это число 2) или больше его (для двоичной системы счисления это не актуально). Правила умножения в 2-ой системе аналогичны 10-ной. При умножении на 0 получаем 0, при умножении 1 на 1 – 1. Никаких переходов в старшие разряды в случае умножения не происходит.
19. Отрицательные числа в 2-ой системе счисления представляются в виде обратного или дополнительного кодов. Обратный код – способ представления двоичного числа, при котором старший бит отвечает за знак. Если число отрицательное, то все биты инвертируются. Дополнительный код – все биты инвертируются и к полученному значению прибавляется 1. При сложении знаковых бинарных числах есть свои правила. Во-первых, отрицательное число интерпретируется в обратный код, а затем в дополнительный. Далее складываем дополнительный код отрицательного числа и обычный код положительного числа. Числа, отображающие знак числа, также участвуют в сложении. Во-вторых, если полученное число получается отрицательным, то инвертируются все числа и прибавляется 1. Полученное число со знаком «минус» - и есть ответ. Сдвиг – операция перемещения всех битов числа влево или вправо на одну и ту же величину. Виды сдвигов: логический (уходящий бит исчезает, не влияя на оставшиеся биты, а на месте появившегося бита записывается бит 0), арифметический (при сдвиге влево ведёт себя как логический сдвиг, при сдвиге вправо уходящий бит исчезает, не влияя на оставшиеся биты, а на месте появившегося бита устанавливается бит, соответствующий знаку), циклический (уходящий бит появляется на месте появившегося свободного на другом конце числа).
20. Система счисления – способ записи чисел. Преобразование в десятичную систему счисления. Имеется число a1a2a3 в системе счисления с основанием b. Для перевода в 10-ю систему необходимо каждый разряд числа умножить на bn, где n — номер разряда. Таким образом, (a1a2a3)b = (a1*b2 + a2*b1 + a3*b0)10. Пример: 1012 = 1*22 + 0*21 + 1*20 = 4+0+1 = 510. Преобразование из десятичной системы счисления в другие
Целая часть:
- Последовательно делим целую часть десятичного числа на основание системы, в которую переводим, пока десятичное число не станет равно нулю.
- Полученные при делении остатки являются цифрами искомого числа. Число в новой системе записывают, начиная с последнего остатка.
Дробная часть:
- Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.
- Число в новой системе составляют целые части результатов умножения в порядке, соответствующем их получению.
Пример: переведем 1510 в восьмеричную:
15\8 = 1, остаток 7
1\8 = 0, остаток 1
Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 1510 = 178. Преобразование из двоичной в восьмеричную и шестнадцатеричную системы. Для перевода в восьмеричную — разбиваем двоичное число на группы по 3 цифры справа налево, а недостающие крайние разряды заполняем ведущими нулями. Далее преобразуем каждую группу, умножая последовательно разряды на 2n, где n — номер разряда. В качестве примера возьмем число 10012: 10012 = 001 001 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20) = (0+0+1) (0+0+1) = 118 Для перевода в шестнадцатеричную — разбиваем двоичное число на группы по 4 цифры справа налево, затем — аналогично преобразованию из 2-й в 8-ю. Преобразование из восьмеричной и шестнадцатеричной систем в двоичную. Перевод из восьмеричной в двоичную — преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2, недостающие крайние разряды заполним ведущими нулями. Для примера рассмотрим число 458: 45 = (100) (101) = 1001012. Перевод из 16-ой в 2-ю — преобразуем каждый разряд шестнадцатеричного числа в двоичное 4-х разрядное число делением на 2, недостающие крайние разряды заполняем ведущими нулями. Преобразование дробной части любой системы счисления в десятичную. Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1. Пример: 101, 0112 = (1*22 + 0*21 + 1*20), (0*2-1 + 1*2-2 + 1*2-3) = (5), (0 + 0, 25 + 0, 125) = 5, 37510 Преобразование дробной части двоичной системы в 8- и 16-ую. Перевод дробной части осуществляется также, как и для целых частей числа, за тем лишь исключением, что разбивка на группы по 3 и 4 цифры идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа. Пример: 1001, 012 = 001 001, 010 = (0*22 + 0*21 + 1*20) (0*22 + 0*21 + 1*20), (0*22 + 1*21 + 0*20) = (0+0+1) (0+0+1), (0+2+0) = 11, 28 Преобразование дробной части десятичной системы в любую другую. Для перевода дробной части числа в другие системы счисления нужно обратить целую часть в ноль и начать умножение получившегося числа на основание системы, в которую нужно перевести. Если в результате умножения будут снова появляться целые части, их нужно повторно обращать в ноль, предварительно запомнив (записав) значение получившейся целой части. Операция заканчивается, когда дробная часть полностью обратится в нуль. Для примера переведем 10, 62510 в двоичную систему:
0, 625*2 = 1, 25
0, 250*2 = 0, 5
0, 5*2 = 1, 0
Записав все остатки сверху вниз, получаем 10, 62510 = (1010), (101) = 1010, 1012
21. База данных – совокупность некоторых данных, доступных для обработки. Выделяют реляционные, сетевые, иерархические и объектные БД. Базы данных необходимы для хранения информации в определенном виде в определенных ячейках. В при чем эти ячейки имеют между собой связи. С помощью этих связей из одной ячейки информации может быть зависима от другой. К примеру, нам нужно найти определенного человека, имея на руках его страну, город, место работы, должность и фамилию. Поскольку в мире очень много одинаковых фамилий, нам необходимо сузить поиск. Имея базу данных, мы обращаемся сначала к стране. В ячейке страны хранятся ячейки городов в этой стране. Указав нужный город, мы получаем ячейки организаций, затем должность и список людей, согласно этой должности в конкретной организаций. Таким образом, мы сузили поиск до минимума с имеющимися данными. Реляционная модель БД – такая БД, где данные хранятся в виде таблиц, имеющие определенные отношения друг с другом. Пример такой таблицы описан выше. Строки таблицы называются записями. Все записи таблицы имеют одинаковую структуру - они состоят из полей (элементов данных), в которых хранятся атрибуты объекта. Каждое поле записи содержит одну характеристику объекта и представляет собой заданный тип данных (например, текстовая строка, число, дата). Для идентификации записей используется первичный ключ. Первичным ключом называется набор полей таблицы, комбинация значений которых однозначно определяет каждую запись в таблице. Внешний ключ– служит как ограничение целостности связей нескольких таблиц, конкретно подчиненная таблица не может ссылаться на несуществующие записи главной таблицы(что позволяет строить целостные модели данных). СУБД – программное средство, позволяющее создавать и управлять базами данных. Основные СУБД: MySQL, MS SQL Server, Oracle Database, DB2.
22. Основные типы данных SQL: integer, DECIMAL, Varchar(x), Char(x), CLOB, BLOB, Timestamp. Основные операции над БД: создание БД (CREATE), удаление БД (DROP), выбор (SELECT), вставка (INSERT), обновление (UPDATE), удаление значения (DELETE). Примеры: CREATE TABLE Student (SELECT * Code INTEGER NOT NULL, FROM T Name CHAR(30) NOT NULL, WHERE C1=1 Address CHAR(50), Mark DECIMAL );
23. Операция JOIN объединяет таблицы по некоторому признаку. Того же самого можно добится при помощи команды SELECT... WHERE, однако для сокращения времени выполнения скрипта рекомендуется использование JOIN. Обе операции ниже имеют одинаковый функционал, однако вариант с JOIN работает быстрее и требует меньше обращений к БД.
| SELECT * FROM tbl1, tbl2 WHERE tbl1.id=tbl2.id
| 1 SELECT * FROM tbl1 JOIN tbl2 ON tbl1.id=tbl2.id Выше было продемонстрировано перекрестное объединение таблиц tbl1 и tbl2. При это результирующая таблица содержит комбинации строк обеих таблиц, удовлетворяющих условию tbl1.id = tbl2.id. Левое объединение (LEFT JOIN) позволяет включить в результирующую таблицу строки " левой" таблицы tbl1, которой не нашлось соответствие в " правой" таблице tbl2.
| SELECT * FROM tbl1 LEFT JOIN tbl2 ON tbl1.id=tbl2.id
| Как видно из этого примера, записи в таблице tbl1 со значением id = 1 не нашлось соответствия в таблице tbl2, т.к. поле id в ней принимает значения 2, 3, 4. Тем не менее в результирующую таблицу запись включена, при этом значения полей из таблицы tbl2 принимают значение NULL. То же происходит и с операцие JOIN RIGHT, однако с точностью наоборот.
UNION используется для объединения результатов работы нескольких команд SELECT в один набор результатов.
24. ISO/IEC 2501n – группа модели качества. В стандартах данной группы представлены подробные модели качества для компьюетрных систем и ПО, качества в использовании и качества данных. Данная группа стандартов содержит также практическое руководство по использованию представленных моделей качества. ISO/IEC 25010: 2011 – Системная и программная инженерия – Требования к качеству и оценка ПО – Модели качества систем и ПО. Качество в использовании – степень применимости продукта или системы заданными пользователя для удовлетовлетворения их потребностей в
достижении заданных целей с результативностью, эффективностью, свободой от риска.
25.
26. Надежность ПО – свойство объекта сохранять во времени в установленных пределах значения всех параметров, хар-щих способность выполнять требуемые функции в заданных режимах и условиях применения. Тестирование ПО – процесс анализа ПО, связанный с выявлением дефектов (отклонение поведения программ от ожидаемого). Жизненный цикл дефекта – период времени от выявления данного дефетка до момента окончания разработки ПО. Отчет о дефекте – документ, содержащий данные о несоответствии поведения ПО каким-то требованниям и алгоритм для повторения этого дефекта. Функц. тестирование (чёрный ящик) – тип тестирования на соответствие ПО всем функциональным требованиям. Обычно ПО исследуется как чёрный ящик. Структ. тестирование (белый ящик) – тестирование кода на предмет логики работы программы. Для полной реализации этого тестирования необходимо покрыть все строки кода, ветви программы и пути в программе.
27. Регрессионное тестирование – тип тестирования ПО, направленный на обнаружение ошибок в уже протестированных участках исходного кода. Если вы что-то исправили в программе, то необходимо проверить всю программу заново, ибо из-за устранения одного бага могло появиться еще три. Модульное тестирование – спецификация модуля Интеграционное – архитекутра ПО Системное – требования к ПО Приёмочное – потребности. Альфа-тестирование – имитация реальной работы с системой штатными разработчиками с привлечением ограниченного числа реальных пользователей системы. Происходит исключительно на стороне разработчика ПО. Бета-тестирование – реальная работа ПО на стороне заказчика с привлечением ограниченного числа реальных пользователей системы. ПО при бета-тестировании обычно характеризуется урезанным функционалом и относительно большим кол-вом дефектов. Автоматизированное тестирование – тестирование ПО с использованием спец. ПО. Для его использования необходимо фактически разработать новое ПО.
28. Жизненный цикл разработки ПО — период времени, который начинается с момента принятия решения о необходимости создания программного продукта и заканчивается в момент его полного завершения. Типы методологий:
Основные роли разработки ПО: Project Manager, Team Leader, Архитектор, Front-End, Back-End, Бизнес-аналитик, Системный администратор.
29. В основе методологии RUP лежат следующие принципы:
- Ранняя идентификация и непрерывное (до окончания проекта) устранение основных рисков.
- Концентрация на выполнении требований заказчиков к исполняемой программе (анализ и построение модели прецедентов (вариантов использования)).
- Ожидание изменений в требованиях, проектных решениях и реализации в процессе разработки.
- Компонентная архитектура, реализуемая и тестируемая на ранних стадиях проекта.
- Постоянное обеспечение качества на всех этапах разработки проекта (продукта).
- Работа над проектом в сплочённой команде, ключевая роль в которой принадлежит архитекторам.
Фазы: - Начальная стадия(формируются видение и границы проекта, создается экономическое обоснование, определяются основные требования, ограничения и ключевая функциональность продукта, создается базовая версия модели прецедентов, оцениваются риски). При завершении начальной фазы оценивается достижение вехи целей жизненного цикла, которое предполагает соглашение заинтересованных сторон о продолжении проекта.
- Уточнение (документирование требований (включая детальное описание для большинства прецедентов, спроектированную, реализованную и оттестированную исполняемую архитектуру, обновленное экономическое обоснование и более точные оценки сроков и стоимости, сниженные основные риски). Успешное выполнение фазы разработки означает достижение вехи архитектуры жизненного цикла.
- Построение (происходит реализация большей части функциональности продукта).
- Внедрение (создается финальная версия продукта и передается от разработчика к заказчику). Документация для программного обеспечения — документы, описывающие то, как работает программа и/или то, как её использовать.
Документирование — это процесс создания документации, важная часть в разработке программного обеспечения, ей часто уделяется недостаточно внимания. Типы документации:
- архитектурная/проектная — обзор программного обеспечения, включающий описание;
- рабочей среды и принципов, которые должны быть использованы при создании ПО;
- техническая — документация на код, алгоритмы, интерфейсы, API;
- пользовательская — руководства для конечных пользователей, администраторов системы и другого персонала.
30. Приёмы написания чистого кода:
- Выбор содержательных имён переменных, функций и классов.
- Принцип единой ответственности. На класс должна возлагаться только одна ответственность, одна функция должна выполнять только одну операцию.
- Один уровень абстракции на функцию.
- Форматирование кода
- Функции и классы должны быть компактными.
- Максимальный уровень отступов в функции не должен превышать трех.
- Чтение кода сверху вниз, правило понижения - вызывающая функция должна находиться над вызываемой.
- Переменные и функции должны объявляться непосредственно перед первым использованием.
- Вертикальное разделение концепций - разделение фрагментов кода пустыми строками.
Рефакторинг кода - процесс изменения исходного кода программы, не затрагивающий её поведения и ставящий целью облегчить понимание её работы и/или упростить её дальнейшую поддержку. Рефакторинг - это лишь замена имён переменных или перемещение небольших участков кода из одного места программы в другое. Правила именования переменных заключается в том, что к именам переменных добавляется некоторый префикс. Этот префикс служит идентификатором области, которой эта переменная принадлежит.Такой идентификатор должен легко запоминаться и должен быть понятен исходя из своего названия. Похожие объекты должны иметь похожие идентификаторы, что позволяет объединять объекты в логические группы. Любой код должен содержать комментарии, которые помогают понять, что происходит в той или иной части кода. Множество ненужных комментариев, однако, также не желатель. Комментарии должны быть компактными, максимально информативными и каноническими. Функция - подпрограмма, результат выполнения которой есть единственное скалярное значение, присваемое имени этой функции. Функции необходимы для снижения кол-ва запросов в коде. Единожды написав функцию или процеду, вы можете вызывать ее при необходимости, а не нагромождать ее прямо в программе. Константы – удобный способ задания значений, которые не нуждаются в первоначальных и повторных вычислениях и, по определению, остаются неизменными на протяжении всего сеанса.
|