Училищна енциклопедия · Информатика и информационни технологии

Информатика и ИТ

Наука за получаването, обработката, съхранението и предаването на информация с помощта на компютри.

1. Компютърни системи

Информацията е обработени данни, които имат смисъл за получателя. Информационният процес минава през четири етапа: събиране, обработка, съхранение и предаване. Компютърът е устройство, което изпълнява тези процеси автоматично по зададена програма.

В архитектурата на Джон фон Нойман програмата и данните стоят в една и съща памет, а процесорът (CPU) изпълнява инструкциите една след друга. Процесорът съдържа аритметично-логическо устройство (АЛУ), управляващо устройство и регистри.

Процесор (CPU) АЛУпресмята УУуправлява Регис-три Оперативна паметRAMпрограми и данни Постоянна паметROM / BIOSстартира системата ШИНА (данни, адреси, управление) Входниклавиатура, мишка Изходнимонитор, принтер Външна паметHDD, SSD, флашка
Фиг. 1. Блокова схема на компютър с шинна организация.
Събираневход на данни Обработкапроцесор Съхранениепамет, диск Предаванемрежа, изход нов цикъл
Фиг. 1а. Информационният процес.

Паметите като йерархия

Регистри Кеш памет Оперативна памет (RAM) SSD / HDD / флашка Облак, външни носители по-бързапо-малкапо-скъпа по-бавнапо-голямапо-евтина
Фиг. 2. Колкото по-близо до процесора, толкова паметта е по-бърза и по-малка.
Таблица 1. Мерни единици за информация
ЕдиницаОзначениеРазмер
битb0 или 1
байтB8 бита (един символ)
килобайтKB1024 B
мегабайтMB1024 KB
гигабайтGB1024 MB
терабайтTB1024 GB
Таблица 2. Поколения компютри
ПоколениеПериодЕлементна база
I1940-те – 1950-теелектронни лампи
II1950-те – 1960-тетранзистори
III1960-те – 1970-теинтегрални схеми
IVот 1970-темикропроцесори, големи интегрални схеми
Таблица 3. Софтуер
ВидЗадачаПримери
Системенуправлява компютъраWindows, Linux, macOS, драйвери
Приложенрешава задачи на потребителяWord, Excel, браузър, игри
Програмисткисъздаване на програмикомпилатори, интерпретатори, IDE

Лицензи: платен (комерсиален), shareware (пробен период), freeware (безплатен, но със затворен код), свободен софтуер (отворен код).

2. Бройни системи и кодиране

Компютърът работи с двоична система, защото два състояния (има/няма ток) се реализират най-надеждно. Бройните системи са позиционни: стойността на цифрата зависи от мястото ѝ.

1011₂ към десетична система 2³ = 82² = 42¹ = 22⁰ = 1 1011 8 + 0 + 2 + 1 = 11
Фиг. 3. Всяка двоична цифра се умножава по степен на двойката.

От десетична към двоична

Делим последователно на 2 и четем остатъците отдолу нагоре.

13 : 2 = 6  ост. 1
 6 : 2 = 3  ост. 0
 3 : 2 = 1  ост. 1
 1 : 2 = 0  ост. 1
13₁₀ = 1101₂
Таблица 4. Съответствия
102816
0000000
5010155
81000108
10101012A
15111117F
16100002010
Пробвай: въведи число в което и да е поле.

Логически операции

&AND1 само при 1 и 1 ≥1OR1 ако има поне една 1 NOTобръща стойността
Фиг. 3а. Условни означения на основните логически елементи.
Таблица 5. Истинностни таблици
ABA AND BA OR BA XOR BNOT A
000001
010111
100110
111100

Кодиране на информация

  • Текст: ASCII кодира символ с 7–8 бита (напр. „A“ = 65). Unicode / UTF-8 обхваща всички писмености, включително кирилицата.
  • Изображение: растерът е мрежа от пиксели. Цветът в модел RGB е тройка от 0 до 255 (3 байта). Векторната графика пази формули за фигури и не губи качество при увеличение.
  • Звук: дискретизация, т.е. измерване на сигнала много пъти в секунда (напр. 44 100 пъти).
  • Видео: последователност от кадрове (поне 24–30 в секунда) плюс звук.
Растерна графика пиксели: при увеличение се виждат квадрати Векторна графика формула: кръг (x, y, r, цвят) - без загуба при мащабиране център (360, 90)радиус 48
Фиг. 3б. Едно и също изображение като пиксели и като векторна фигура.
Таблица 6. Цвят в RGB
ЦвятR, G, BHEX
червен255, 0, 0#FF0000
зелен0, 255, 0#00FF00
син0, 0, 255#0000FF
жълт255, 255, 0#FFFF00
черен0, 0, 0#000000
бял255, 255, 255#FFFFFF

Обем на растерно изображение = ширина × височина × байтове на пиксел. Например 1920 × 1080 при 3 B на пиксел са около 6 MB без компресия.

3. Операционна система и файлове

Операционната система (ОС) се зарежда при стартиране на компютъра и остава активна, докато работи. Тя разпределя времето на процесора между програмите, дава памет на всяка от тях и управлява достъпа до устройствата чрез драйвери.

Файлът е именувана област от външна памет. Името му се състои от име и разширение. Папките (директории) подреждат файловете в дървовидна структура.

C:\ (диск) Документи Училище Снимки ИТ Математика проект.docx
Фиг. 4. Път до файла: C:\Училище\ИТ\проект.docx
Таблица 7. Често срещани разширения
РазширениеТипРазширениеТип
.txt, .docxтекст.jpg, .png, .gifизображение
.xlsx, .csvтаблица.mp3, .wavзвук
.pptxпрезентация.mp4, .aviвидео
.pdfдокумент.exeпрограма
.zip, .rarархив.htmlуеб страница

Архивиране намалява размера на файловете. Компресията без загуба (ZIP, PNG, FLAC) връща точно първоначалните данни, а със загуба (JPG, MP3) отхвърля подробности, които почти не се забелязват. Резервното копие пази данните при повреда или грешка.

Таблица 8. Клавишни комбинации
КомбинацияДействиеКомбинацияДействие
Ctrl+CкопиранеCtrl+Zотмяна
Ctrl+XизрязванеCtrl+Sзапис
Ctrl+VпоставянеCtrl+Aмаркиране на всичко

4. Офис приложения

Текстообработка

Форматирането е на три нива: символи (шрифт, размер, цвят, курсив), абзаци (подравняване, отстъпи, междуредие) и страници (полета, ориентация, колонтитули, номерация). Стиловете на заглавията позволяват автоматично съдържание. Други средства: таблици, изображения, проверка на правописа, списъци и бележки под линия.

колонтитул (горен) колонтитул (долен) - 1 Заглавие ляво поле дясно поле заглавие (стил)абзац с отстъп
Фиг. 5а. Структура на страница: полета, колонтитули, текст.

Електронни таблици

Клетката се адресира по колона и ред (B3), а диапазонът се записва като A1:A10. Формулите започват със знак = и се преизчисляват при промяна на данните.

fx=SUM(B2:B3)  ABC 1234 ПредметОценкаБележка Математика5добър Информатика6отличен Сбор (клетка B4)11
Фиг. 5. Електронна таблица: в лентата за формули е записана формулата на маркираната клетка.
0246 Мат.Инф.Ист. кръгова диаграма: дялове от цялото
Фиг. 5б. Колонна диаграма сравнява стойности, кръговата показва дялове.
Таблица 9. Основни функции
ФункцияЗначениеПример
SUMсбор=SUM(A1:A5)
AVERAGEсредна стойност=AVERAGE(B2:B9)
MIN, MAXнай-малка, най-голяма=MAX(C1:C20)
COUNTброй числа=COUNT(A1:A9)
IFусловие=IF(A1>=3;"да";"не")

Относителен адрес (A1) се променя при копиране на формулата, абсолютен ($A$1) остава същият, а смесеният ($A1, A$1) закрепва само колоната или реда. Диаграмите (колонни, линейни, кръгови) показват данните нагледно.

Презентации

Презентацията е поредица от слайдове с текст, изображения, звук и видео. Добра практика: един слайд съдържа една идея, малко текст, добър контраст между фон и текст, последователен шаблон. Анимациите и преходите се ползват пестеливо.

5. Мрежи, интернет и сигурност

Компютърна мрежа е група свързани устройства, които обменят данни. По обхват има LAN (локална, в сграда), MAN (градска) и WAN (глобална). Устройствата са мрежова карта, суич, рутер и точка за достъп. Най-разпространеният модел е клиент-сървър: клиентът заявява услуга, сървърът я предоставя.

ЗвездаШинаПръстен суич един центъробщ кабелзатворен кръг
Фиг. 6. Основни мрежови топологии. Най-често в домове и училища се ползва звезда.
Приложен слойHTTP, HTTPS, SMTP, IMAP, DNS Транспортен слойTCP, UDP Мрежов слойIP Свързващ слойEthernet, Wi-Fi
Фиг. 7. Четирите слоя на модела TCP/IP.
Браузърклиент DNS сървъриме → IP Уеб сървър198.51.100.7 1. example.com? 2. IP адрес 3. HTTP заявка 4. HTML страница Така се зарежда страница, когато въведеш адрес в браузъра.
Фиг. 7а. Стъпки при отваряне на уеб сайт.
Таблица 10. Протоколи и услуги
ПротоколЗа какво служи
HTTP / HTTPSпренос на уеб страници (HTTPS е криптиран)
DNSпревръща име като example.com в IP адрес
SMTP / IMAPизпращане / получаване на електронна поща
FTPпренос на файлове
TCPнадеждна доставка на данни по пакети
IPадресиране, напр. 192.168.0.1 (IPv4) или IPv6

Уеб страници

HTML описва структурата, CSS външния вид, JavaScript поведението. Адресът (URL) има вида протокол://домейн/път.

<!DOCTYPE html>
<html>
  <head><title>Моята страница</title></head>
  <body>
    <h1>Заглавие</h1>
    <p>Текст с <a href="https://example.com">връзка</a>.</p>
    <img src="снимка.jpg" alt="описание">
  </body>
</html>
Таблица 11. Заплахи и защита
ЗаплахаОписаниеЗащита
Вирус, червей, троянецзловреден код, който се разпространява или се прикриваантивирус, актуализации
Фишингфалшиви съобщения, които крадат даннипроверка на адреса, без щракване на съмнителни връзки
Рансъмуеркриптира файловете и иска откупрезервни копия
Слаба паролалесно се налучквадълга уникална парола, двуфакторна автентикация
Етика: уважавай авторските права, не споделяй чужди лични данни (GDPR), проверявай източниците на информация и не участвай в кибертормоз.

6. Алгоритми

Алгоритъмът има свойства: дискретност (стъпки), детерминираност (еднозначни указания), крайност, масовост (решава цял клас задачи) и резултатност.

Начало Въведи a, b b ≠ 0 ? да r = a mod ba = bb = r не Изведи a Край
Фиг. 8. Блок-схема на алгоритъма на Евклид за най-голям общ делител. Ромбът е условие, правоъгълникът е действие, паралелограмът е вход или изход.
Следване действие 1 действие 2 действие 3 Разклонение условие? дане действие Адействие Б Цикъл условие? да действие не: край
Фиг. 8а. Трите основни структури: следване, разклонение и цикъл.

Класически алгоритми

  • НОД по Евклид (по-горе). Пример: НОД(48, 18): 48 mod 18 = 12, 18 mod 12 = 6, 12 mod 6 = 0, така че НОД = 6.
  • Просто число: проверяваме делители до √n.
  • Линейно търсене: гледаме елементите един по един.
  • Двоично търсене: в сортиран масив сравняваме със средния елемент и отпадаме половината.
  • Сортиране: метод на мехурчето, пряка селекция, вмъкване.
Търсим 72 в сортиран масив (оцветен е средният елемент)2581623384556729138455672917291Стъпка 1: среден елемент 23 < 72, отпада лявата половина.Стъпка 2: среден елемент 56 < 72, отпада лявата част.Стъпка 3: среден елемент 72, намерено.
Фиг. 8б. Двоично търсене: във всяка стъпка отпада половината от елементите.
Таблица 12. Сортиране с метод на мехурчето (първи проход)
СтъпкаМасивДействие
начало5 3 8 1—
13 5 8 15 > 3, разменят се
23 5 8 15 < 8, без размяна
33 5 1 88 > 1, разменят се; най-голямото е на мястото си
Таблица 13. Сложност при n елемента
АлгоритъмСтъпки
Линейно търсенедо n
Двоично търсенеоколо log₂ n (за 1000 елемента ≈ 10 стъпки)
Мехурче, селекция, вмъкванеоколо n²

7. Програмиране

Програмата е алгоритъм, записан на програмен език. Променливата е именувана област от паметта, в която се пази стойност от определен тип.

Памет a7int a = 7; cena3.5double cena = 3.5; ime"Ана"string ime = "Ана"; Променливата има име, тип и стойност. a = a + 1 заменя стойността 7 с 8.
Фиг. 9а. Променливите като именувани кутии в паметта.
Таблица 14. Типове и оператори
ПонятиеPythonC++
цяло числоintint, long long
дробно числоfloatdouble
низstrstring
логическиTrue / Falsebool
целочислено деление, остатък//, %/ (при цели), %
логикаand or not&& || !

Python

n = int(input())
s = 0
for i in range(1, n + 1):
    if i % 2 == 0:
        s += i
print("Сума на четните:", s)

C++

#include <iostream>
using namespace std;
int main() {
  int n, s = 0;
  cin >> n;
  for (int i = 1; i <= n; i++)
    if (i % 2 == 0) s += i;
  cout << s << endl;
}
  • Условие: if / else. Цикли: for (известен брой повторения) и while (докато условието е вярно).
  • Масив (списък): поредица от елементи с индекс, започващ от 0.
  • Функция: именуван блок код с параметри, който може да върне резултат.
Компилатор (C++) код компилатор .exe превежда веднъж, после работи бързо Интерпретатор (Python) код интерпретатор ▶ изпълнява ред по ред
Фиг. 9б. Двата начина за изпълнение на програма.
Видове грешки: синтактични (езикът не разбира записа), по време на изпълнение (напр. деление на нула) и логически (програмата работи, но дава грешен резултат). Откриват се с тестване и дебъгване.

8. Бази данни

База данни е организирано хранилище на свързани данни. Програмата, която я управлява, е СУБД. Всяка таблица описва един вид обекти: колоната е поле (свойство), редът е запис (един обект). Първичният ключ идентифицира реда еднозначно, а външният ключ сочи към ключ в друга таблица.

класове id (PK)имевипуск ученици id (PK)имеоценкаклас_id (FK) 1∞един към много
Фиг. 9. Един клас има много ученици. клас_id е външен ключ към класове.id.
Таблица 15. Примерна таблица „ученици“
idимеоценкаклас_id
1Иван61
2Мария51
3Георги42

Връзки между таблици: един към един, един към много и много към много (реализира се с трета, свързваща таблица, напр. ученици ↔ предмети). Целта е данните да не се повтарят.

ученициid (PK)име записванияученик_id (FK)предмет_id (FK) предметиid (PK)име 1∞∞1 Един ученик има много предмети, един предмет има много ученици - нужна е свързваща таблица.
Фиг. 10а. Връзка „много към много“ през свързваща таблица.
SELECT име, оценка FROM ученици WHERE оценка >= 5 ORDER BY оценка DESC;
INSERT INTO ученици (име, оценка, клас_id) VALUES ('Петя', 6, 2);
UPDATE ученици SET оценка = 5 WHERE име = 'Георги';
DELETE FROM ученици WHERE оценка < 3;
CRUD: Create (INSERT), Read (SELECT), Update (UPDATE), Delete (DELETE). Това са четирите основни действия с данни.

Нерелационни (NoSQL) бази данни

Нерелационните бази не държат данните в таблици с твърдо зададени колони и връзки чрез ключове. Схемата им е гъвкава, а записите могат да имат различна структура. Подходящи са за много големи обеми данни, бързо разширяване върху много сървъри и данни, които не се вписват добре в таблици (уеб приложения, социални мрежи, сензори). Често жертват част от строгата последователност на данните в полза на скоростта и мащабируемостта. „NoSQL“ се тълкува като „not only SQL“.

Релационна таблица idимеград 1ИванСофия 2МарияВарна всички редове имат едни и същи колони Документна база (JSON) { "id": 1, "име": "Иван",  "град": "София" } { "id": 2, "име": "Мария",  "оценки": [6, 5, 6],  "хобита": ["шах", "музика"] } всеки документ има собствена структура
Фиг. 10б. Една и съща информация в релационен и в документен модел.
Таблица 16. Основни видове нерелационни бази
ВидКак пази даннитеПримери
Документнидокументи във формат JSONMongoDB, CouchDB
Ключ-стойностдвойки „ключ → стойност“, много бързиRedis, DynamoDB
Колонниданни по колони за големи обемиCassandra, HBase
Графовивъзли и връзки между тях (познанства, маршрути)Neo4j
Таблица 17. Релационни и нерелационни бази
СвойствоРелационни (SQL)Нерелационни (NoSQL)
Структуратаблици със строга схемагъвкава схема
Връзкивъншни ключовевложени данни или връзки в графа
ЕзикSQLразличен за всяка система
Последователностстрога (транзакции)често по-слаба
Мащабиранеобикновено по-мощен сървърлесно върху много сървъри
Подходящи забанки, училища, складсоциални мрежи, големи данни, кеш

9. Проверка на знанията

Колко е 10110₂ в десетична система?

16 + 4 + 2 = 22.

Колко бита има 1 KB?

1024 × 8 = 8192 бита.

Каква е разликата между A1 и $A$1?

Първият е относителен и се променя при копиране, вторият е абсолютен.

Какво връща 17 % 5?

2, остатъкът при деление.

Кое търсене е по-бързо и какво изисква?

Двоичното, но масивът трябва да е сортиран.

Какво е първичен ключ?

Поле, което еднозначно идентифицира реда в таблицата.

Каква е разликата между RAM и твърд диск?

RAM е бърза и временна, дискът е по-бавен, но пази данните трайно.

Кога се предпочита нерелационна база?

При много големи обеми данни, данни с променлива структура и нужда от бързо разширяване върху много сървъри.

Какво прави DNS?

Превръща име на домейн в IP адрес.