Diskusia:Základy informatiky - jazyk C: Rozdiel medzi revíziami

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání
(Vytvorená stránka „{{Checklist|title=Example heading| * Use a mirror on the nearby pillar. * Put a mirror in the pillar giving out the light, and reflect the light north. * Walk north to t…“)
 
Riadok 1: Riadok 1:
{{Checklist|title=Example heading|
+
{{Checklist|title=Algoritmus|
* Use a mirror on the nearby pillar.
+
* chýbajú mi tam vlastnosti algoritmu, ako som ich mal definované v svojej prednáške
* Put a mirror in the pillar giving out the light, and reflect the light north.
+
* Obrázky musia byť pekné. určite nie rozmazané ani príliš zväčšené.
* Walk north to the next pillar. Add a mirror and reflect the light west.
+
* obr "Jednoduché opakovanie": to je trocha zavádzajúci obrázok, Do rozhodovania môže byt len 1 vstup
* Go west, add a mirror, and reflect the light south.
+
* Príklad na riešenie kvadr. rovnice: tam je potrebné doplniť matematický rozbor úlohy.
* Go south to the next pillar. Use your yellow crystal on it to dye the light yellow.
+
* Príklad pomocou vývojového diagramu - obrázok nech nie je orámovaný. Nech je čitateľný a dostatočne veľký. V príklade chýba analýza, kde sa povie ako sa úloha rieši.
 +
}}
 +
 
 +
{{Checklist|title=Booleova algebra|
 +
* namiesto elektrických schém použiť nejaký príklad. napr: AND: interval (a,b), OR: interval (-inf,a) OR (b,+inf). Niečo z informatiky alebo matematiky.
 +
* zdroják: premenné nech sú malé písmená.
 +
}}
 +
 
 +
{{Checklist|title=Algoritmus|
 +
* chýbajú mi tam vlastnosti algoritmu, ako som ich mal definované v svojej prednáške
 +
* Obrázky musia byť pekné. určite nie rozmazané ani príliš zväčšené.
 +
* obr "Jednoduché opakovanie": to je trocha zavádzajúci obrázok, Do rozhodovania môže byt len 1 vstup
 +
* Príklad na riešenie kvadr. rovnice: tam je potrebné doplniť matematický rozbor úlohy.
 +
* Príklad pomocou vývojového diagramu - obrázok nech nie je orámovaný. Nech je čitateľný a dostatočne veľký. V príklade chýba analýza, kde sa povie ako sa úloha rieši.
 +
}}
 +
 
 +
{{Checklist|title=štruktúra kódu|
 +
* pre príkazy preprocesora by som vytvoril samostatnú stránku, kde budú všetky príkazy #include, #define, #if, #ifdef, #ifndef, ...
 +
* v ďalších častiach by mali byť odkazy na stránky s podrovným opisom danej časti: napr. funkcie, premenné, operátory, ...
 +
* citujem "typ-určuje čo sa do danej premennej bude vkladať." typ - určuje typ premennej, či sa jedná o číslo, znak, pole, alebo iný typ
 +
* doplniť blokový príkaz, resp. blok, ktorý je definovaný v zložených zátvorkách. V prednáškach som to mal.
 +
}}
 +
 
 +
{{Checklist|title=dátové typy, premenné|
 +
* treba uviesť, že jazy C je typový jazyk, teda type premenných sú dané pri ich deklarácii. A typ premennej sa potom už nedá zmeniť.
 +
* Základné dátové typy - ten poslený stĺpec v tabuľke by som tam neuvázal. To sa hodí až pri formátovanom vstupe/výstupe
 +
* Integer. Citujem: "Integer sú celé čísla, ktoré neobsahujú zlomkovú zložku, na rozdiel od reálnych čísel (pohyblivá čiarka, v C-reči)." To je zlý strojový preklad. Preformulovať. Sformátovať zdroják
 +
* Char: "Char(znak) je najzákladnejší typ"  Ak je niečo základné, môže to byť ešte základnejšie??
 +
* citujem: "Typ znaku je však celé číslo, pretože pod písmenom C sú uložené celé čísla namiesto znakov. " Zle formulované, stráca sa význam.
 +
* v texte je výraz ASCII. Treba to použiť takto: ... kódom je ASCII (American Standard Code for Information Interchange)
 +
* v tabuľke ASCII sú ešte dôležité znaky ako napr. nový riadok, tabulátor, medzera, ....
 +
* citujem: "Ak chcete získať znaky v jazyku C, použite funkciu printf () s% c". Správne by malo byť: použite funkciu printf() s s formátom vypisovaných hodnôt %s (ako je to použité v nasledujúcom zdrojovom kóde, riadok 8). A nie je to prevod na integer, ale celočíselá reprezentácia znaku c podľa tabuľky ASCII
 +
* float: odkiaľ máte, že je to presnosť na 7 desatinných miest?
 +
* príklad na float je zlý: podiel dvoch celých čísel je opäť celé číslo.
 +
* Premenné. Začať definíciu "Premmenná nie je...." nie je šťastné. Vždy začínajte premenná JE ....
 +
* previdlá pre pomenovanie premennej dajte ako odrážkový zoznam
 +
* obrázok s modrými blokmi odstrániť.
 +
* obrázok pod ním, tiež dať do preč.
 +
* statické premenné. napr tu: https://www.geeksforgeeks.org/static-variables-in-c/
 +
* auto variables : https://www.geeksforgeeks.org/storage-classes-in-c/ ; ten obrázok v tomto linku je veľmi dobrý. treba ho preložiť a použiť
 +
* Deklarácia a inicializácia premenných v jazyku C: v tom zdrojáku je prvý riadok niečo, či nie je kód. Treba to dať mimo zdroják
 +
}}
 +
 
 +
{{Checklist|title=Operátory|
 +
* chýba rozdelenie na unárne, binárne a ternárne operátory. V tom texte sú zmiešané unárne a binárne operátory.
 +
* chýbajú logické operátory OR, AND
 +
* chýba priorita operátorov
 +
* Operátor a následné priradenie: v zdrojáku namiesto tých bodiek, dať to celé do komentára
 +
* Miskuidné operátory: sizeof vracia počet bytov, nie bitov.
 +
 
 +
}}
 +
 
 +
{{Checklist|title=vstupno/výstupné operácie|
 +
* treba povedať, že v C, keďže vychádza z OS UNIX všetko považuje sa súbor. Teda súbor je klávesnica, monitor, tlačiareň. Tieto súbory majú špecifické názvy a sú priradené ku konkrétnemu hardvéru. V C je toto priradenie urobené cez prúdy stdin, stdout, stderr.
 +
* text rozdeliť na:
 +
** načítanie/výpis znaku
 +
** načítanie/výpis riadku
 +
** formátovaný výpis/načítanie
 +
* pri konktérnych funkciách doplniť link na špecifikáciu konkrétnych funkcií.
 +
* Funkcie gets(), puts(): v texte máte uvedenú funkciu get() !!. Funkcia gets() vracia NULL ak sa nepodarí načítať. Treba to v kóde ošetriť.
 +
}}
 +
 
 +
 
 +
{{Checklist|title=Podmienky|
 +
* rozdeliť syntax na
 +
** zjednodušený zápis (if)
 +
** kompletný zápis (if-else)
 +
* Základný syntax: text ohľadne zložených zátvoriek nie je šťastne naformulovaný. Zložené zátvorky nám vyhradzujú blok kódu.
 +
* vysveltenie príkazov: chýba sémantika
 +
* Príklad: (ten ktorý tam máte). nie je povedané čo riešite.
 +
* switch-case:
 +
** syntax uviesť v celku, nie vo viacerých blokoch
 +
** chýba sémantika
 +
}}
 +
 
 +
 
 +
{{Checklist|title=Cykly|
 +
* obrázky: nie farebné, len slovesnké
 +
* namiesto "Vstupom riadený cyklus" dajte cykly s podmienkou na začiatku.
 +
* Cyklus for:
 +
** sémantika je vlastne vysvetlená v tom vývojáku
 +
** teba povedať, že veštry 3 časti sú nepovinné
 +
* "Hello World skrz cyklus for" je nie moc dobrá formulácia. Správne: "Výpis 10x Hello world s použitím cyklu for"
 +
* While cyklus. Správne: Cyklus while
 +
** najskôr definovať syntax, potom sémantiku, potom príklad
 +
** citujem "Cyklus while pozostáva z troch príkazov ako cyklus for - inicializačný výraz, testovací výraz, aktualizačný výraz". Nie je pravda. Cyklus while má len podmienku.
 +
* Do while cyklus. Správne: Cyklsu do-while
 +
* "Program tabuľky pre dané číslo pomocou cyklu do while" nie je jasné, čo chcete povedať
 +
 
 +
}}
 +
 
 +
 
 +
{{Checklist|title=Polia|
 +
* hodil by sa nejaký obrázok, ktorý by ilustroval, že prvky pola sú v pamäti uložené za sebou
 +
* pri deklarácii poľa musí byť povedané, že veľkosť je konštanta (nie premenná) - aj pri 2rozmerných
 +
* chýbajú operácie ktoré sa môžu/nemôžu s poľom robiť. Napr. ako celé pole vynulujem? Ako porovnám 2 polia?, ako pridadím pole? ....
 +
}}
 +
 
 +
{{Checklist|title=Funkcie|
 +
* "Každý program C má najmenej jednu funkciu, ktorá je hlavná ()" -> ktorá sa volá main()... mne sa to zdá že je to len preložené translatorom. Mám pravdu?
 +
* toto tu chce celé prekopať:
 +
* rozdelenie funkcií:
 +
** bez/s návratovej hodnoty
 +
** bez/s parametrami
 +
* použitie funkcií:
 +
** definícia/deklarácia funckie
 +
** zavolanie funkcie
 +
}}
 +
 
 +
{{Checklist|title=Súbory|
 +
* "mód" nie je po slovensky správne. Správne je režim
 +
* treba tam aspoň do nejakej tabuľky uviesť funkcie, ktoré majú súvis so súbormi
 +
* v tom príklade sú použité aj iné funkcie (fputc, rewind, ...). Treba to pred príkaldom spomenúť a doplniť link na danú funkciu
 +
}}
 +
 
 +
{{Checklist|title=Štruktúry|
 +
* súhrnne treba spísať povelené a nepovolené operácie (porovnenie, priradenie, ...)
 +
* treba explicitne vysvetliť ako pristupujem k položnám štruktúry (oprerátor bodka), ako načítam štruktúru, ako ju vypíšem
 
}}
 
}}

Verzia zo dňa a času 20:29, 16. apríl 2020

Algoritmus

  • chýbajú mi tam vlastnosti algoritmu, ako som ich mal definované v svojej prednáške
  • Obrázky musia byť pekné. určite nie rozmazané ani príliš zväčšené.
  • obr "Jednoduché opakovanie": to je trocha zavádzajúci obrázok, Do rozhodovania môže byt len 1 vstup
  • Príklad na riešenie kvadr. rovnice: tam je potrebné doplniť matematický rozbor úlohy.
  • Príklad pomocou vývojového diagramu - obrázok nech nie je orámovaný. Nech je čitateľný a dostatočne veľký. V príklade chýba analýza, kde sa povie ako sa úloha rieši.

Booleova algebra

  • namiesto elektrických schém použiť nejaký príklad. napr: AND: interval (a,b), OR: interval (-inf,a) OR (b,+inf). Niečo z informatiky alebo matematiky.
  • zdroják: premenné nech sú malé písmená.

Algoritmus

  • chýbajú mi tam vlastnosti algoritmu, ako som ich mal definované v svojej prednáške
  • Obrázky musia byť pekné. určite nie rozmazané ani príliš zväčšené.
  • obr "Jednoduché opakovanie": to je trocha zavádzajúci obrázok, Do rozhodovania môže byt len 1 vstup
  • Príklad na riešenie kvadr. rovnice: tam je potrebné doplniť matematický rozbor úlohy.
  • Príklad pomocou vývojového diagramu - obrázok nech nie je orámovaný. Nech je čitateľný a dostatočne veľký. V príklade chýba analýza, kde sa povie ako sa úloha rieši.

štruktúra kódu

  • pre príkazy preprocesora by som vytvoril samostatnú stránku, kde budú všetky príkazy #include, #define, #if, #ifdef, #ifndef, ...
  • v ďalších častiach by mali byť odkazy na stránky s podrovným opisom danej časti: napr. funkcie, premenné, operátory, ...
  • citujem "typ-určuje čo sa do danej premennej bude vkladať." typ - určuje typ premennej, či sa jedná o číslo, znak, pole, alebo iný typ
  • doplniť blokový príkaz, resp. blok, ktorý je definovaný v zložených zátvorkách. V prednáškach som to mal.

dátové typy, premenné

  • treba uviesť, že jazy C je typový jazyk, teda type premenných sú dané pri ich deklarácii. A typ premennej sa potom už nedá zmeniť.
  • Základné dátové typy - ten poslený stĺpec v tabuľke by som tam neuvázal. To sa hodí až pri formátovanom vstupe/výstupe
  • Integer. Citujem: "Integer sú celé čísla, ktoré neobsahujú zlomkovú zložku, na rozdiel od reálnych čísel (pohyblivá čiarka, v C-reči)." To je zlý strojový preklad. Preformulovať. Sformátovať zdroják
  • Char: "Char(znak) je najzákladnejší typ" Ak je niečo základné, môže to byť ešte základnejšie??
  • citujem: "Typ znaku je však celé číslo, pretože pod písmenom C sú uložené celé čísla namiesto znakov. " Zle formulované, stráca sa význam.
  • v texte je výraz ASCII. Treba to použiť takto: ... kódom je ASCII (American Standard Code for Information Interchange)
  • v tabuľke ASCII sú ešte dôležité znaky ako napr. nový riadok, tabulátor, medzera, ....
  • citujem: "Ak chcete získať znaky v jazyku C, použite funkciu printf () s% c". Správne by malo byť: použite funkciu printf() s s formátom vypisovaných hodnôt %s (ako je to použité v nasledujúcom zdrojovom kóde, riadok 8). A nie je to prevod na integer, ale celočíselá reprezentácia znaku c podľa tabuľky ASCII
  • float: odkiaľ máte, že je to presnosť na 7 desatinných miest?
  • príklad na float je zlý: podiel dvoch celých čísel je opäť celé číslo.
  • Premenné. Začať definíciu "Premmenná nie je...." nie je šťastné. Vždy začínajte premenná JE ....
  • previdlá pre pomenovanie premennej dajte ako odrážkový zoznam
  • obrázok s modrými blokmi odstrániť.
  • obrázok pod ním, tiež dať do preč.
  • statické premenné. napr tu: https://www.geeksforgeeks.org/static-variables-in-c/
  • auto variables : https://www.geeksforgeeks.org/storage-classes-in-c/ ; ten obrázok v tomto linku je veľmi dobrý. treba ho preložiť a použiť
  • Deklarácia a inicializácia premenných v jazyku C: v tom zdrojáku je prvý riadok niečo, či nie je kód. Treba to dať mimo zdroják

Operátory

  • chýba rozdelenie na unárne, binárne a ternárne operátory. V tom texte sú zmiešané unárne a binárne operátory.
  • chýbajú logické operátory OR, AND
  • chýba priorita operátorov
  • Operátor a následné priradenie: v zdrojáku namiesto tých bodiek, dať to celé do komentára
  • Miskuidné operátory: sizeof vracia počet bytov, nie bitov.


vstupno/výstupné operácie

  • treba povedať, že v C, keďže vychádza z OS UNIX všetko považuje sa súbor. Teda súbor je klávesnica, monitor, tlačiareň. Tieto súbory majú špecifické názvy a sú priradené ku konkrétnemu hardvéru. V C je toto priradenie urobené cez prúdy stdin, stdout, stderr.
  • text rozdeliť na:
    • načítanie/výpis znaku
    • načítanie/výpis riadku
    • formátovaný výpis/načítanie
  • pri konktérnych funkciách doplniť link na špecifikáciu konkrétnych funkcií.
  • Funkcie gets(), puts(): v texte máte uvedenú funkciu get() !!. Funkcia gets() vracia NULL ak sa nepodarí načítať. Treba to v kóde ošetriť.


Podmienky

  • rozdeliť syntax na
    • zjednodušený zápis (if)
    • kompletný zápis (if-else)
  • Základný syntax: text ohľadne zložených zátvoriek nie je šťastne naformulovaný. Zložené zátvorky nám vyhradzujú blok kódu.
  • vysveltenie príkazov: chýba sémantika
  • Príklad: (ten ktorý tam máte). nie je povedané čo riešite.
  • switch-case:
    • syntax uviesť v celku, nie vo viacerých blokoch
    • chýba sémantika


Cykly

  • obrázky: nie farebné, len slovesnké
  • namiesto "Vstupom riadený cyklus" dajte cykly s podmienkou na začiatku.
  • Cyklus for:
    • sémantika je vlastne vysvetlená v tom vývojáku
    • teba povedať, že veštry 3 časti sú nepovinné
  • "Hello World skrz cyklus for" je nie moc dobrá formulácia. Správne: "Výpis 10x Hello world s použitím cyklu for"
  • While cyklus. Správne: Cyklus while
    • najskôr definovať syntax, potom sémantiku, potom príklad
    • citujem "Cyklus while pozostáva z troch príkazov ako cyklus for - inicializačný výraz, testovací výraz, aktualizačný výraz". Nie je pravda. Cyklus while má len podmienku.
  • Do while cyklus. Správne: Cyklsu do-while
  • "Program tabuľky pre dané číslo pomocou cyklu do while" nie je jasné, čo chcete povedať



Polia

  • hodil by sa nejaký obrázok, ktorý by ilustroval, že prvky pola sú v pamäti uložené za sebou
  • pri deklarácii poľa musí byť povedané, že veľkosť je konštanta (nie premenná) - aj pri 2rozmerných
  • chýbajú operácie ktoré sa môžu/nemôžu s poľom robiť. Napr. ako celé pole vynulujem? Ako porovnám 2 polia?, ako pridadím pole? ....

Funkcie

  • "Každý program C má najmenej jednu funkciu, ktorá je hlavná ()" -> ktorá sa volá main()... mne sa to zdá že je to len preložené translatorom. Mám pravdu?
  • toto tu chce celé prekopať:
  • rozdelenie funkcií:
    • bez/s návratovej hodnoty
    • bez/s parametrami
  • použitie funkcií:
    • definícia/deklarácia funckie
    • zavolanie funkcie

Súbory

  • "mód" nie je po slovensky správne. Správne je režim
  • treba tam aspoň do nejakej tabuľky uviesť funkcie, ktoré majú súvis so súbormi
  • v tom príklade sú použité aj iné funkcie (fputc, rewind, ...). Treba to pred príkaldom spomenúť a doplniť link na danú funkciu

Štruktúry

  • súhrnne treba spísať povelené a nepovolené operácie (porovnenie, priradenie, ...)
  • treba explicitne vysvetliť ako pristupujem k položnám štruktúry (oprerátor bodka), ako načítam štruktúru, ako ju vypíšem