Základy informatiky a programovania

Objavte základy informatiky a programovania s naším detailným rozborom. Zistite viac o hardvéri, softvéri, databázach a programovaní v C/PHP. Pripravte sa na maturitu už dnes!

Podcast

Počítačová architektúra: Od bitov k prerušeniam0:00 / 26:19
0:001:00 zostáva

Ahojte študenti! Vitajte v komplexnom sprievodcovi základmi informatiky a programovania, ktorý vám pomôže nielen pochopiť kľúčové koncepty, ale aj excelovať pri skúškach. Pripravili sme pre vás prehľadný rozbor všetkých dôležitých tém, od architektúry procesorov až po webové aplikácie, s cieľom uľahčiť vaše štúdium.Poďme sa ponoriť do sveta núl a jednotiek, logických operácií a tvorby funkčných aplikácií! Tento článok slúži ako vaše spoľahlivé zhrnutie pre základy informatiky a programovania.

Základy informatiky a programovania: Od hardvéru k softvéru

Informatika a programovanie sú neoddeliteľnou súčasťou moderného sveta. Od pochopenia, ako funguje procesor, až po tvorbu komplexných webových aplikácií, je dôležité poznať základné princípy. Táto sekcia poskytuje charakteristiku základných stavebných blokov.

Architektúra ARM Cortex-M3 a jej špecifiká

ARM Cortex-M3 je 32-bitový procesor, čo znamená, že spracováva 32-bitové dáta, má 32-bitové registre a ALU vykonáva 32-bitové operácie. Dokáže adresovať až 4 GB pamäte vďaka svojej 32-bitovej adresnej zbernici.

Charakterizuje ho Harvardská architektúra, ktorá oddeľuje pamäť pre program (kód) a dáta. Má oddelené zbernice (I-code bus, D-code bus), čo umožňuje paralelné načítavanie inštrukcií a prácu s dátami, a tým dosahuje vyšší výkon oproti Von Neumannovej architektúre.

Inštrukcia je základný príkaz procesoru, ktorý určuje, akú operáciu má vykonať, nad akými operandmi a kam uložiť výsledok. V Cortex-M3 sa používajú Thumb-2 inštrukcie (16 a 32-bitové).

Spracovanie inštrukcií využíva trojstupňové pipeline spracovanie: Fetch (načítanie), Decode (dekódovanie) a Execute (vykonanie). Táto technika zvyšuje výkon procesora, keďže viac operácií prebieha súčasne.

Operačné módy a zásobníky procesora

Procesor Cortex-M3 pracuje v dvoch módoch: Thread mode (vykonáva bežný program) a Handler mode (obsluha prerušení a výnimiek). Po resete procesor začína v Thread mode v privilegovanom režime. Má dva zásobníky: MSP (Main Stack Pointer) pre privilegovaný režim a PSP (Process Stack Pointer) pre neprivilegovaný režim.

Prerušenia, výnimky a systémový časovač (SysTick)

Prerušenie je požiadavka (zvyčajne od periférie), aby procesor prerušil aktuálny program, vykonal obslužný podprogram (ISR) a následne pokračoval v pôvodnom programe. Prerušovací systém je súbor zdrojov prerušení, ich priorít a spôsobu spracovania, riadený NVIC (Nested Vectored Interrupt Controller).

Výnimka vzniká vo vnútri jadra procesora (napr. reset, HardFault), zatiaľ čo prerušenie vzniká z externého zdroja (periférie, napr. UART, timer). SysTick je 24-bitový časovač v jadre Cortex-M3, ktorý počíta nadol, po dosiahnutí nuly sa znovu načíta a môže vyvolať prerušenie. Používa sa na časovanie a RTOS (system tick).

BusMatrix je systém zberníc (AHB), ktorý prepája CPU, pamäť a periférie, umožňuje paralelný prístup k viacerým zariadeniam a zvyšuje výkon.

Rozdiely medzi strojovým kódom, jazykom symbolických inštrukcií a vyššími programovacími jazykmi

Existuje hierarchia programovacích jazykov, ktoré sa líšia úrovňou abstrakcie, čitateľnosťou, náročnosťou a prenosnosťou:

  • Strojový kód: Najnižšia úroveň, binárny kód (0 a 1), ktorému priamo rozumie procesor. Je špecifický pre architektúru procesora, pre človeka nečitateľný a extrémne náročný na programovanie. Je najrýchlejší, pretože nevyžaduje preklad.
  • Príklad: 01001000 10000011 11000000 00000001
  • Jazyk symbolických inštrukcií (JSI/Assembly): O úroveň vyššie ako strojový kód. Používa symbolické skratky (napr. MOV, ADD), ktoré sú čitateľnejšie. Každá inštrukcia JSI zodpovedá jednej strojovej inštrukcii. Prekladá ho assembler do strojového kódu.
  • Príklad: MOV AX, 1 ADD AX, 2
  • Vyššie programovacie jazyky: Najbližšie k ľudskej reči (napr. C, Java, Python). Jedna inštrukcia vo vyššom jazyku zodpovedá mnohým strojovým inštrukciám. Sú čitateľné, zrozumiteľné, jednoduché na naučenie a vysoko prenositeľné (nezávislé od hardvéru).
  • Kompilátor prekladá celý zdrojový kód naraz (napr. C).
  • Interpret prekladá a vykonáva kód riadok po riadku (napr. Python, PHP).
  • Príklad: int sucet = 1 + 2;

Porovnanie úrovní programovania:

VlastnosťStrojový kódJSIVyšší jazyk
ČitateľnosťŽiadnaNízkaVysoká
NáročnosťVeľmi vysokáVysokáNízka
RýchlosťNajrýchlejšíRýchlyPomalší
PrenositeľnosťŽiadnaŽiadnaVysoká

Programové prostriedky počítačov a vývojové prostredia

Počítače využívajú rôzne programové prostriedky na správu a vykonávanie úloh. Ich správne pochopenie je kľúčové pre každého študenta, ktorý sa venuje informatike a programovaniu.

Typy softvéru

  • Operačný systém (OS): Základný programový prostriedok, ktorý riadi všetky funkcie hardvéru a softvéru počítača (napr. Linux, Windows, macOS).
  • Aplikačný softvér: Programy používané na konkrétny účel (napr. prezentácie, spracovanie textu, úprava obrázkov).
  • Programovací jazyk: Slúži na tvorbu softvéru a programovanie aplikácií (napr. Python, Java).
  • Vývojové prostredie (IDE): Rozhranie na správu programovacieho jazyka (napr. Visual Studio, Eclipse). Typické sú konzola, editor skriptov, grafické okno a správca premenných.
  • Databázový systém (DBS): Nástroje na správu veľkého množstva dát (napr. MySQL, Microsoft SQL Server).

Prostredie Matlabu

Matlab je vysoko výkonný numerický softvér na riešenie matematických problémov v inžinierstve, vede a technológii. Špecializuje sa na vedeckotechnické numerické výpočty, modelovanie, návrh algoritmov, počítačové simulácie, analýzu a prezentáciu údajov, merania a spracovania signálov, a návrh riadiacich a komunikačných systémov. Hlavným dátovým typom sú matice, ktoré sa skladajú z riadkov a stĺpcov ako dvojrozmerné pole.

Programovacie konštrukty v jazyku C pre základy informatiky a programovania

Jazyk C je často základom pre štúdium programovania, vďaka svojej nízkej úrovni a efektívnosti. Pochopenie jeho základných konštrukcií je pre študenta nevyhnutné. Pozrime sa na podmienené príkazy, cykly a prácu s poľami.

Podmienené príkazy: if, else if, else

Podmienené príkazy umožňujú programu rozhodovať sa na základe podmienok:

  • Neúplný podmienený príkaz (if): Vykoná sa len ak podmienka platí. Ak neplatí, program pokračuje ďalej.
#include <stdio.h>
int main() {
int vek = 20;
if (vek >= 18) {
printf("Si plnolety");
}
return 0;
}
  • Úplný podmienený príkaz (if-else): Reaguje na obe možnosti. Ak podmienka platí vykoná sa if, ak neplatí vykoná sa else.
#include <stdio.h>
int main() {
int vek = 15;
if (vek >= 18) {
printf("Si plnolety");
} else {
printf("Nie si plnolety");
}
return 0;
}
  • Úplný podmienený príkaz s viacerými možnosťami (if-else if-else): Používa sa pri viac ako dvoch možnostiach. Program prechádza podmienky zhora nadol a vykoná prvú, ktorá platí.
#include <stdio.h>
int main() {
int znamka = 3;
if (znamka == 1) {
printf("Výborný");
} else if (znamka == 2) {
printf("Chválitebný");
} else if (znamka == 3) {
printf("Dobrý");
} else {
printf("Neplatná známka");
}
return 0;
}

Vývojový diagram graficky znázorňuje logiku programu a každé rozhodnutie v ňom zodpovedá podmienke if v samotnom kóde.

Prepínač (switch) v C

Prepínač (switch) je alternatíva k viacerým else if podmienkam. Porovná hodnotu premennej s jednotlivými prípadmi (case) a vykoná ten, ktorý sedí. Pomocou break ukončí svoje vykonávanie, čím zabraňuje „prepadnutiu“ do ďalších case blokov. default blok sa vykoná, ak žiadny case nesedí.

#include <stdio.h>
int main() {
int volba = 2;
switch (volba) {
case 1:
printf("Zvolil si moznost 1");
break;
case 2:
printf("Zvolil si moznost 2");
break;
case 3:
printf("Zvolil si moznost 3");
break;
default:
printf("Neplatna volba");
break;
}
return 0;
}

Cykly v C: for, while, do-while

Cykly umožňujú opakovanie kódu:

  • FOR: Používa sa, keď vieme presný počet opakovaní. Obsahuje inicializáciu, podmienku a inkrement/dekrement.
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("%d\n", i);
}
return 0;
}
  • WHILE: Opakuje sa, kým platí podmienka. Podmienka sa kontroluje pred každým opakovaním. Ak neplatí na začiatku, cyklus sa nevykoná ani raz.
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
i++;
}
return 0;
}
  • DO-WHILE: Funguje podobne ako while, ale podmienka sa kontroluje až na konci, takže telo cyklu sa vykoná vždy aspoň raz.
#include <stdio.h>
int main() {
int i = 1;
do {
printf("%d\n", i);
i++;
} while (i <= 5);
return 0;
}

Polia v C: Jednorozmerné a viacrozmerné

Polia sú zoznamy hodnôt rovnakého typu:

  • Jednorozmerné pole: Zoznam hodnôt uložených za sebou v pamäti. K prvkom sa pristupuje cez jeden index (od nuly). Na prechádzanie sa používa jeden cyklus.
#include <stdio.h>
int main() {
int pole[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
printf("%d ", pole[i]);
}
return 0;
}
  • Viacrozmerné pole: Pole polí, najčastejšie dvojrozmerné pole (tabuľka s riadkami a stĺpcami). Na prechádzanie potrebujeme dva vnorené cykly (vonkajší pre riadky, vnútorný pre stĺpce). K prvku pristupujeme cez dva indexy (riadok, stĺpec).
#include <stdio.h>
int main() {
int pole[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", pole[i][j]);
}
printf("\n");
}
return 0;
}

Pre načítanie dvojrozmerného poľa 5x6 v jazyku C a výpis by sme použili vnorené cykly a scanf pre vstup a printf pre výstup.

#include <stdio.h>
int main() {
int pole[5][6];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
printf("Zadaj prvok [%d][%d]: ", i, j);
scanf("%d", &pole[i][j]);
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
printf("%d ", pole[i][j]);
}
printf("\n");
}
return 0;
}

Príklad: Program na výpočet priemeru 10 čísel v C

Tento program demonštruje načítanie hodnôt do poľa, sčítanie a výpočet priemeru. Používa float pre priemer, pretože ten môže byť desatinné číslo.

#include <stdio.h>
int main() {
int cisla[10];
int sucet = 0;
float priemer;
for (int i = 0; i < 10; i++) {
printf("Zadaj cislo %d: ", i + 1);
scanf("%d", &cisla[i]);
sucet = sucet + cisla[i];
}
priemer = (float)sucet / 10;
printf("Sucet: %d\n", sucet);
printf("Priemer: %.2f\n", priemer);
return 0;
}

Základy webového programovania a databáz: Rozbor pre študentov

V oblasti webových technológií sa stretávame s návrhom, tvorbou a správou aplikácií. Prehľad týchto oblastí je nevyhnutný pre maturitu a pre hlbšie pochopenie informatiky.

Grafický návrh pre webovú aplikáciu

Prvý dojem je kľúčový; používateľ si vytvorí názor na stránku za menej ako sekundu. Preto musí byť dizajn prehľadný, štruktúrovaný a vizuálne príťažlivý.

Postup tvorby:

  1. Základný návrh aplikácie: Schéma aplikácie (počet stránok, prepojenie, obsah).
  2. Rozkreslenie jednotlivých častí: Detailné rozkreslenie stránok v grafickom programe (napr. Corel Draw, Adobe Illustrator) do tzv. wireframe (vizuálna kostra).
  3. Výber farebnej palety: Maximálne tri až štyri harmonické farby zodpovedajúce účelu stránky.

Štruktúra webovej stránky:

  • Navigácia: Hlavná (hore/bok) pre sekcie, subnavigácia pre podstránky.
  • Pätička (Footer): Na spodku stránky, obsahuje meno autora, kontaktné údaje, podmienky užívania, sociálne siete.

Návrh klientskeho a administratívneho rozhrania

FrontEnd (užívateľské rozhranie): Rozhranie, s ktorým pracuje užívateľ.

  • Hlavička (Header): Logo/meno aplikácie, navigačné menu, odkazy na prihlásenie/registráciu.
  • Obsah (Content): Logicky rozdelený, dynamicky sa mení podľa aktuálnej stránky.
  • Pätička (Footer): Kredit autora, kontaktné informácie, ďalšie detaily (podmienky užívania, ochrana osobných údajov).

Užívateľ pred prihlásením:

  • Jednoduchá registrácia s obmedzeniami (meno, duplicitný email, vulgarizmy, nevyplnené údaje).
  • Po registrácii aktivačný email a presmerovanie na prihláseného užívateľa.

Užívateľ po prihlásení:

  • Prístup ku svojmu profilu a dostupným funkciám aplikácie.

Admin rozhranie (BackEnd):

  • Slúži na spravovanie celej aplikácie a prevádzku systému, prístupné len administrátorovi.
  • Zabezpečenie: Chránené pred neoprávneným prístupom (serverová kontrola).
  • Práva prístupu: Admin má právo prezerať, upravovať a mazať akýkoľvek obsah. Bežný používateľ má prístup len k vlastnému obsahu, práva sú uložené v databáze.
  • Ochrana pred neúmyselným vymazaním: Potvrdzovací dialóg pred vymazaním, uchovávanie záloh dát.
  • Prihlasovanie a rozpoznanie roly: Rovnaký formulár pre admina aj užívateľa, systém po prihlásení skontroluje rolu a presmeruje.

CSS štýly pre webový dizajn

CSS (Cascading Style Sheets) je jazyk, ktorý určuje, ako vyzerá HTML stránka (farby, veľkosti písma, rozmiestnenie prvkov).

Tri spôsoby zápisu CSS:

  1. Inline štýl: Píše sa priamo do HTML tagu pomocou atribútu style. Platí len pre ten konkrétny prvok.
  • Tento text je červený
  1. Interný štýl: Píše sa do hlavičky HTML stránky medzi tagy <style>. Platí len pre danú stránku.
  • <head><style>p { color: red; }</style></head>
  1. Externý štýl: Píše sa do samostatného súboru s príponou .css a pripája sa k HTML stránke cez tag <link> v hlavičke. Je to najpoužívanejší a najsprávnejší spôsob, platí pre celý web.
  • <head><link rel="stylesheet" href="style.css"></head>

Tvorba formulárov v PHP a metódy prenosu

Formulár je prvok webovej stránky umožňujúci používateľovi zadávať údaje, ktoré PHP spracuje na serveri.

Metódy prenosu:

  • GET: Údaje sa odosielajú cez adresný riadok prehliadača (viditeľné v URL). Používa sa pri vyhľadávaní alebo filtrovaní. Nevhodné pre citlivé údaje.
  • POST: Údaje sa odosielajú skryto v tele požiadavky (neviditeľné v URL). Používa sa pri prihlasovaní, registrácii, odosielaní citlivých údajov.

PHP spracuje odoslané hodnoty z premennej $_POST alebo $_GET a vykoná príslušné operácie.

Databázy a SQL príkazy

Údajové typy v databázach:

  • Číselné: INT (celé), FLOAT (desatinné), DECIMAL (presné desatinné, pre peniaze).
  • Textové: VARCHAR(dĺžka) (premenlivá dĺžka), TEXT (dlhší text), CHAR (pevná dĺžka).
  • Dátum a čas: DATE, TIME, DATETIME.
  • Ostatné: BOOLEAN, ENUM (výber z preddefinovaných hodnôt).

Typy kľúčov v databázach:

  • PRIMARY KEY: Jednoznačne identifikuje každý riadok, musí byť unikátny a nesmie byť prázdny. Každá tabuľka má jeden.
  • FOREIGN KEY: Odkazuje na primárny kľúč inej tabuľky, slúži na prepojenie tabuliek.
  • UNIQUE: Zabezpečuje unikátnosť hodnôt v danom stĺpci (napr. email).
  • INDEX: Zrýchľuje vyhľadávanie v tabuľke.

Základné SQL príkazy:

  • SELECT: Čítanie údajov (SELECT stĺpce FROM tabuľka;).
  • INSERT: Vloženie nového záznamu (INSERT INTO tabuľka (stĺpce) VALUES (hodnoty);).
  • UPDATE: Zmena existujúceho záznamu (UPDATE tabuľka SET stĺpec = hodnota WHERE podmienka;).
  • DELETE: Vymazanie záznamu (DELETE FROM tabuľka WHERE podmienka;).

LEFT JOIN je príkaz, ktorý spája tabuľky dokopy. Vezme každý riadok z ľavej tabuľky a k nemu dohľadá zodpovedajúci riadok z pravej tabuľky. Ak v pravej tabuľke neexistuje zodpovedajúci riadok, zobrazí sa NULL namiesto hodnoty. Príkaz ON určuje podľa čoho sa tabuľky spájajú.

Príklad LEFT JOIN na prepojenie žiakov a číselníkov:

SELECT
z.meno,
z.priezvisko,
t.nazov AS trieda,
m.nazov AS mesto,
s.nazov AS status
FROM ziaci z
LEFT JOIN triedy t ON z.trieda_id = t.id
LEFT JOIN mesta m ON z.mesto_id = m.id
LEFT JOIN statusy s ON z.status_id = s.id;

Tabuľky v HTML

Tabuľky sa v HTML vytvárajú pomocou sémantických tagov:

  • <table>: Začiatok a koniec celej tabuľky.
  • <thead>: Hlavička tabuľky, obsahuje názvy stĺpcov.
  • <tbody>: Telo tabuľky, obsahuje samotné dáta.
  • <tr>: Jeden riadok tabuľky (table row).
  • <th>: Bunka hlavičky (table header), text je tučný a vycentrovaný.
  • <td>: Bežná bunka s dátami (table data).
<table>
<thead>
<tr>
<th>Meno</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ján</td>
<td>[email protected]</td>
</tr>
</tbody>
</table>

MVC model a klasické PHP programovanie

MVC (Model, View, Controller) je spôsob organizácie kódu, ktorý rozdeľuje aplikáciu na tri samostatné vrstvy, aby sa predišlo miešaniu databázového kódu, logiky a dizajnu:

  • Model: Stará sa o dáta, komunikuje s databázou, načítava, ukladá a upravuje záznamy. Neobsahuje HTML ani logiku zobrazovania.
  • View: Stará sa o zobrazenie, obsahuje HTML kód a šablóny, ktoré vidí používateľ. Zobrazuje dáta prijaté od Controlleru.
  • Controller: Spája Model a View. Prijíma požiadavky od používateľa, zavolá Model pre dáta a výsledok pošle do View na zobrazenie.

Ako MVC funguje: Používateľ klikne na tlačidlo. Controller zachytí udalosť a zavolá Model. Model načíta dáta z databázy a vráti ich Controlleru. Controller pošle dáta do View, ktoré ich zobrazí používateľovi.

Klasické PHP programovanie naopak často mieša všetko v jednom súbore – databázový kód, logika aj HTML. Pri malých projektoch to môže byť jednoduché, ale pri väčších sa stáva kód neprehľadným a ťažko udržiavateľným.

Porovnanie:

VlastnosťKlasické PHPMVC
KódVšetko v jednom súboreRozdelený do vrstiev
PrehľadnosťNízka pri väčších projektochVysoká
ÚdržbaNáročnejšiaJednoduchšia
Vhodné preMalé projektyVeľké projekty

Kartičky

1 / 23

Čo je dvojrozmerné pole v jazyku C?

Tabuľka hodnôt s riadkami a stĺpcami; prvé číslo v deklarácii určuje počet riadkov, druhé počet stĺpcov (napr. int pole[5][6] má 5 riadkov a 6 stĺpcov

Ťukni na otočenie · Potiahni na navigáciu

PHP príklady a funkcie pre základy informatiky a programovania

PHP je jedným z najpoužívanejších serverových jazykov pre webové aplikácie. Ukážeme si praktické príklady práce s dátami, formulármi a databázami.

Pripojenie MySQL s PHP a spracovanie údajov

Pripojenie k databáze sa v PHP vykonáva cez PDO (PHP Data Objects). Po pripojení je možné pripraviť a spustiť SQL príkazy a načítať výsledky.

<?php
$db = new PDO("mysql:host=localhost;dbname=skola_db", "root", "");
$stmt = $db->prepare("SELECT meno, email FROM pouzivatelia");
$stmt->execute();
$riadky = $stmt->fetchAll(); // Načíta všetky výsledky do poľa
foreach ($riadky as $riadok) {
echo $riadok['meno']. " ". $riadok['email'];
}
?>

Príkaz prepare zabezpečuje bezpečnosť SQL príkazu pred útokmi (napr. SQL Injection).

Prihlasovací systém v PHP a MySQL

Prihlasovací systém overuje, či používateľ zadal správne meno a heslo. Skladá sa z databázy (s hashovanými heslami), formulára a serverovej logiky.

Databáza: Tabuľka používateľov s emailom a heslom (uloženým ako hash – zašifrovaná hodnota). Pre heslá sa používa VARCHAR(255).

Formulár: Dve políčka (email, heslo) a tlačidlo. Údaje sa odosielajú na server metódou POST.

Serverová logika (PHP): Pripojí sa na databázu, vyhľadá používateľa podľa emailu. Ak nájde, porovná zadané heslo s hashom v databáze pomocou password_verify(). Ak súhlasí, používateľ je prihlásený a vytvorí sa session (dočasné uloženie informácie na serveri, aby si server „pamätal“ prihlásenie).

<?php
session_start();
$sprava = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$db = new PDO("mysql:host=localhost;dbname=skola_db", "root", "");
$email = $_POST['email'];
$heslo = $_POST['heslo'];
$stmt = $db->prepare("SELECT * FROM pouzivatelia WHERE email = :email");
$stmt->execute([':email' => $email]);
$pouzivatel = $stmt->fetch();
if ($pouzivatel && password_verify($heslo, $pouzivatel['heslo'])) {
$sprava = "Prihlásenie úspešné!";
$_SESSION['prihlaseny'] = true;
} else {
$sprava = "Nesprávny email alebo heslo.";
}
}
?>
<!DOCTYPE html><html><body><h2>Prihlásenie</h2><p><?= $sprava ?></p><form method="POST" action="">Email: <input type="email" name="email"><br>Heslo: <input type="password" name="heslo"><br><button type="submit">Prihlásiť</button></form></body></html>
CREATE TABLE pouzivatelia (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(100) NOT NULL UNIQUE,
heslo VARCHAR(255) NOT NULL
);

Logické operátory v PHP podmienkach

Logické operátory spájajú podmienky:

  • AND (&&): Obe podmienky musia platiť súčasne.
<?php
$vek = 20;
$preukaz = true;
if ($vek >= 18 && $preukaz == true) {
echo "Môžeš šoférovať";
}
?>
  • OR (||): Stačí, ak platí aspoň jedna podmienka.
<?php
$student = true;
$dochodca = false;
if ($student == true || $dochodca == true) {
echo "Máš zľavu";
}
?>
  • NOT (!): Otočí logickú hodnotu (pravda sa stane nepravdou a naopak).
<?php
$prihlaseny = false;
if (!$prihlaseny) {
echo "Nie si prihlásený";
}
?>

Cykly v PHP: for, while, foreach

  • FOR: Keď poznáme presný počet opakovaní.
<?php
for ($i = 1; $i <= 5; $i++) {
echo $i;
}
?>
  • WHILE: Keď nevieme presný počet opakovaní, ale vieme, kedy má cyklus skončiť. Je dôležité meniť premennú vo vnútri cyklu, inak by bežal donekonečna.
<?php
$i = 1;
while ($i <= 5) {
echo $i;
$i++;
}
?>
  • FOREACH: Na prechádzanie zoznamov alebo polí. PHP automaticky vezme ďalšiu položku pri každom opakovaní.
<?php
$mena = ["Ján", "Eva", "Peter"];
foreach ($mena as $meno) {
echo $meno;
}
?>

PHP kalkulačky a simulácie

Jednoduchá kalkulačka v PHP:

<?php
$vysledok = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$cislo1 = $_POST['cislo1'];
$cislo2 = $_POST['cislo2'];
$operacia = $_POST['operacia'];
if ($operacia == '+') { $vysledok = $cislo1 + $cislo2; }
if ($operacia == '-') { $vysledok = $cislo1 - $cislo2; }
if ($operacia == '*') { $vysledok = $cislo1 * $cislo2; }
if ($operacia == '/' && $cislo2 != 0) { $vysledok = $cislo1 / $cislo2; }
if ($operacia == '/' && $cislo2 == 0) { $vysledok = "Delenie nulou nie je možné"; }
}
?>
<!DOCTYPE html><html><body><h2>Kalkulačka</h2><p>Výsledok: <?= $vysledok ?></p><form method="POST" action="">Číslo 1: <input type="number" name="cislo1"><br>Číslo 2: <input type="number" name="cislo2"><br>Operácia:<select name="operacia"><option value="+">Sčítanie</option><option value="-">Odčítanie</option><option value="*">Násobenie</option><option value="/">Delenie</option></select><br><button type="submit">Vypočítaj</button></form></body></html>

Kalkulačka nasporených peňazí (simulácia úročenia):

Tento program simuluje sporenie mesiac po mesiaci, kde sa každý mesiac pripočíta vklad a úrok z celkovej nasporenej sumy (zložené úročenie). Ročný úrok sa pre presnosť rozdelí na mesačný.

<?php
$mesacnyVklad = 50;
$roky = 50;
$rocnyUrok = 4 / 100;
$mesacnyUrok = $rocnyUrok / 12;
$pocetMesiacov = $roky * 12;
$uspory = 0;
for ($i = 1; $i <= $pocetMesiacov; $i++) {
$uspory = $uspory + $mesacnyVklad;
$uspory = $uspory + ($uspory * $mesacnyUrok);
}
echo "Nasporená suma: ". round($uspory, 2). " EUR";
?>

Zistenie pohlavia z rodného čísla v PHP

Rodné číslo vo formáte RRMMDD. U žien je k mesiacu pripočítaná hodnota 50. Funkcia substr() vystrihne časť textu (mesiace na pozícii 2, dĺžka 2 znaky). Ak je mesiac >= 51, ide o ženu, inak o muža.

<?php
$rodneCislo = "9055123456";
$mesiac = substr($rodneCislo, 2, 2);
if ($mesiac >= 51) {
echo "Žena";
} else {
echo "Muž";
}
?>

Chat v PHP s využitím MySQL

Jednoduchý chatový systém, ktorý ukladá správy do databázy a zobrazuje ich. Používa PDO pre pripojenie a prepare() pre bezpečnosť. DATETIME DEFAULT CURRENT_TIMESTAMP automaticky ukladá čas správy.

CREATE TABLE spravy (
id INT AUTO_INCREMENT PRIMARY KEY,
meno VARCHAR(50) NOT NULL,
sprava VARCHAR(255) NOT NULL,
cas DATETIME DEFAULT CURRENT_TIMESTAMP
);
<?php
$db = new PDO("mysql:host=localhost;dbname=skola_db", "root", "");
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$meno = $_POST['meno'];
$sprava = $_POST['sprava'];
$stmt = $db->prepare("INSERT INTO spravy (meno, sprava) VALUES (:meno, :sprava)");
$stmt->execute([':meno' => $meno, ':sprava' => $sprava]);
}
$stmt = $db->prepare("SELECT * FROM spravy ORDER BY cas ASC");
$stmt->execute();
$spravy = $stmt->fetchAll();
?>
<!DOCTYPE html><html><body><h2>Chat</h2><?php foreach ($spravy as $s): ?><p><b><?= $s['meno'] ?></b>: <?= $s['sprava'] ?></p><?php endforeach; ?><form method="POST" action="">Meno: <input type="text" name="meno"><br>Správa: <input type="text" name="sprava"><br><button type="submit">Odoslať</button></form></body></html>

Často kladené otázky (FAQ) o základoch informatiky a programovania

Študenti sa často pýtajú na kľúčové pojmy. Tu nájdete odpovede na tie najčastejšie.

Aký je hlavný rozdiel medzi mikropočítačom a mikrokontrollerom?

Zdroje nešpecifikujú rozdiel medzi mikropočítačom a mikrokontrollerom, ale je dôležité vedieť, že mikrokontroller typicky integruje procesor, pamäť a periférie do jedného čipu, zatiaľ čo mikropočítač (ako napr. Raspberry Pi) je plnohodnotný počítač s komplexnejším OS.

Čo je to WordPress a ako sa tvorí stránka v ňom?

WordPress je systém na správu obsahu (CMS), ktorý umožňuje vytvoriť webstránku bez programovania. Postup zahŕňa zabezpečenie domény a hostingu, inštaláciu WordPressu, prihlásenie do administrácie, výber šablóny, tvorbu stránok a vkladanie obsahu (texty, obrázky, formuláre). Následne možno inštalovať pluginy na rozšírenie funkcionality a dokončiť dizajn. WordPress je obľúbená platforma pre milióny webov.

Prečo sa používajú číselníkové tabuľky v databázach?

Číselníkové tabuľky (napr. pre triedy, mestá, statusy) obsahujú zoznam možností. Používajú sa na zníženie redundancie a uľahčenie údržby dát. Namiesto písania celého názvu (napr. triedy) ku každému žiakovi, sa uloží len číslo (foreign key), ktoré odkazuje na jeden záznam v číselníku. Pri zmene názvu sa upraví len jeden riadok v číselníku, a zmena sa prejaví všade.

Aký je hlavný rozdiel medzi int a float premennými v programovaní?

int (integer) je dátový typ, ktorý ukladá len celé čísla (napr. 1, 10, -5). float (floating-point number) je dátový typ, ktorý ukladá desatinné čísla (napr. 1.5, 3.14, -0.7). Použitie float je nevyhnutné, ak výsledok výpočtu môže byť desatinné číslo, napríklad pri výpočte priemeru.

Čo je to prepadnutie (fall-through) v príkaze switch a ako sa mu vyhnúť?

Prepadnutie (fall-through) nastáva v príkaze switch, keď program po vykonaní jedného case bloku pokračuje v vykonávaní aj nasledujúcich case blokov, ak nie je explicitne ukončený. Tomuto javu sa vyhneme použitím príkazu break; na konci každého case bloku, ktorý má zastaviť vykonávanie prepínača.

Sign up to access full content

Create a free account to unlock all study materials, take interactive tests, listen to podcasts and more.

Create free account

Súvisiace témy