Warning
This page is located in archive.

1. Seznámení s učebnou, základy reprezentace dat, číselné soustavy

Osnova cvičení

  1. požadavky na zápočet, hodnocení
  2. seznámení s učebnou
  3. základní reprezentace čísel, program v C

Co bych si měl na první cvičení zopakovat / připravit

  1. Nastavit heslo pro GNU/Linux instalaci v místnosti KN:E-307 na:http://www.felk.cvut.cz/, v položce IT služby na KN
  2. binární a hexadecimální reprezentace čísel
  3. syntaxe jazyka C
  4. pojmy little/big endian
  5. doplňkový kód

Náplň cvičení

Cílem cvičení je seznámení s učebnou, zopakování základních pojmů na téma reprezentace dat v počítači.

Na cvičení budeme vycházet z následujícího programu v C, který budeme dále modifikovat.

Program pro zobrazování reprezentace čísel:

#include <stdio.h>

#define PRINT_MEM(a) print_mem((unsigned char*)&(a), sizeof(a))

void print_mem(unsigned char *ptr, int size) {
  int i;
  printf("adresa = 0x%08lx\n", (long unsigned int)ptr);

  for (i = 0; i < size; i++) {
    printf("0x%02x ", *(ptr+i));
  }

  printf("\n");
}

int main() {
  unsigned int unsig = 5;
  int sig = -5;

  printf("hodnota = %d\n", unsig);
  PRINT_MEM(unsig);

  printf("\nhodnota = %d\n", sig);
  PRINT_MEM(sig);

  return 0;
}

Překlad programu: gcc -Wall -ansi -pedantic ./program.c

Úkoly

  1. přeložte a spusťte uvedený program
  2. interpretujte výstupy programu
  3. modifikujte program tak, aby tiskl vnitřní reprezentaci i jiných datových typů (např. char, float)
  4. modifikujte program tak, aby vytiskl tabulku celých čísel čísel včetně jejich reprezentace v rozsahu -16 až 15
  5. modifikujte program tak, aby realizoval operace sčítání a odčítání dvou proměnných (celá čísla) a vytiskl na obrazovku vstupní operandy a výsledky těchto operací včetně jejich vnitřní reprezentace
  6. vyzkoušejte operace s kladnými i zápornými čísly, zaměřtě se i na takové hodnoty, kdy po provedení operace dojde k přetečení

Užitečné odkazy

Domácí úkoly

  • domácí úkoly 1 až 3 budou zadané a odevzdávané elektronickou formou
  • vstup k zadání a odevzdání úkolů je přes adresu https://dcenet.felk.cvut.cz/apo/
  • Na stránce “Assignments” naleznete seznam zadaných úkolů
  • Pro vyzkoušení práce s odevzdávacím systémem je k dispozici nehodnocená varianta prvního úkolu 1st training homework
  • Případnými problémy s odevzdávacím systémem se obracejte na svého cvičícího nebo přímo na autora/správce sytému Richarda Šustu

Počítačová síť v učebně KN:E-307

Učebna KN:E-307 je vybavena počítači se síťovou instalací operačního systému Ubuntu GNU/Linux.

Po zapnutí počítače je zaveden z lokálního serveru přes PXE zavaděč GRUB. Ten umožňuje volit

  • boot z lokálního disku stanice
  • nahrání nového image nastaveného učitelem na lokálním serveru
  • spuštění distribuované síťové verze operačního systému Debian Jessie

Volba menu zajistí natažení image jádra GNU/Linux a počátečního RAM-disku ze sítě s využitím protokolu TFTP. Po spuštění jádra je připojen přes NFS kořenový svazek. Ten je ale připojen jen v režimu pro čtení. Pro dočasné uložení lokálních změn je pak nad tuto adresářovou strukturu namapovaný souborový systém pro dočasné uložení lokálních změn. Jedná se buď o modul AUFS nebo Overlayfs. Pro ověření přihlašovacích údajů se používá systém Kerberos. Do adresářové struktury systému jsou připojené domovské adresáře přes síťový protokol NFS.

Studentská konta a hesla

Pro ověření oprávnění k přístupu do systému a se používá systém Kerberos Katedry počítačů.

Heslo pro instalace GNU-Linuxu na Katedře počítačů lze nastavit na stránce http://www.felk.cvut.cz/ , v položce IT služby na KN

Nastavení hesla pro učebny KN:E-307, KN:E-310, KN:E-311, KN:E-331, T2:H1-130, T2:H1-131.

Řešení problémů s konty, obnova dat

V případě problémů s kontem kontaktuje Ing. Petra Bendu ze skupiny IT K13136 (petr.benda@fel.cvut.cz).

courses/a0b36apo/tutorials/01/start.txt · Last modified: 2016/02/21 20:32 by pisa