Add Technické vybavení unit 2: computer history generations with quiz.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
47831c512b
commit
0091bfa09f
4 changed files with 139 additions and 3 deletions
113
hw.c
113
hw.c
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
NetLesson hw_lessons[HW_LESSONS] = {
|
||||
{ .n_slides = HW_SLIDES, .unit_page = "hwunit1", .ex_page = "hwex1" },
|
||||
{ .n_slides = HW2_SLIDES, .unit_page = "hwunit2", .ex_page = "hwex2" },
|
||||
};
|
||||
|
||||
void hw_rail_theme_reset(void);
|
||||
|
|
@ -256,7 +257,7 @@ void hw_add_node(GtkFixed *fixed, int index) {
|
|||
GtkWidget *name;
|
||||
char *text;
|
||||
static const char *unit_keys[HW_LESSONS] = {
|
||||
"hw_unit1"
|
||||
"hw_unit1", "hw_unit2"
|
||||
};
|
||||
|
||||
card = gtk_button_new();
|
||||
|
|
@ -763,3 +764,113 @@ GtkWidget *build_hw_unit1_exercise_page(void) {
|
|||
return build_hw_mcq_page(0, "hwunit1", "hw_ex1_title", "hw_quiz1_head",
|
||||
qs, hints, 6);
|
||||
}
|
||||
|
||||
GtkWidget *build_hw_unit2_page(void) {
|
||||
static const NetSlide slides[HW2_SLIDES] = {
|
||||
{
|
||||
"1 / 6 • Přehled", "Historie počítačů",
|
||||
"Generace se dělí podle klíčové technologie své doby.",
|
||||
{
|
||||
"1. Předchůdci – do 30. let 19. století",
|
||||
"2. Nultá generace – 1938–1944",
|
||||
"3. První generace – 1944–1955",
|
||||
"4. Druhá generace – 1955–1964",
|
||||
"5. Třetí generace – 1964–1971",
|
||||
"Další snímky shrnují znaky jednotlivých generací.",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
{
|
||||
"2 / 6 • 0. generace", "Počítače 0. generace (1938–1944)",
|
||||
"Tip: počítačů bylo málo a často sloužily armádě.",
|
||||
{
|
||||
"Existovalo jen několik počítačů na světě.",
|
||||
"Většinou měly vojenský účel.",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
{
|
||||
"3 / 6 • 1. generace", "Počítače 1. generace (1944–1955)",
|
||||
"Klíčový objev: elektronka",
|
||||
{
|
||||
"Objev elektronky umožnil tuto generaci.",
|
||||
"Ještě neexistoval software v dnešním smyslu.",
|
||||
"Data a programy se zadávaly pomocí děrných štítků.",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
{
|
||||
"4 / 6 • 2. generace", "Počítače 2. generace (1955–1964)",
|
||||
"Klíčový objev: tranzistor",
|
||||
{
|
||||
"Objev tranzistoru nahradil elektronky.",
|
||||
"Používala se hlavní externí paměť.",
|
||||
"Počítače měly menší rozměry než v 1. generaci.",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
{
|
||||
"5 / 6 • 3. generace", "Počítače 3. generace (1964–1971)",
|
||||
"Klíčový objev: integrovaný obvod",
|
||||
{
|
||||
"Objev integrovaného obvodu.",
|
||||
"Stále se používala hlavní externí paměť.",
|
||||
"Rozměry počítačů se dál zmenšovaly.",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
{
|
||||
"6 / 6 • 4. generace", "Počítače 4. generace",
|
||||
"Klíčové: programovatelné mikroprocesory",
|
||||
{
|
||||
"Nastupují programovatelné mikroprocesory.",
|
||||
"1972 – první počítačová hra",
|
||||
"1973 – první disketa",
|
||||
"1979 – první CD",
|
||||
NULL,
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
return build_hw_unit_page(&hw_lessons[1], "hw_unit2", "hw_unit2_sub",
|
||||
slides, HW2_SLIDES);
|
||||
}
|
||||
|
||||
GtkWidget *build_hw_unit2_exercise_page(void) {
|
||||
static const ChoiceQ qs[] = {
|
||||
{"Kdy probíhala nultá generace počítačů?",
|
||||
{"1938–1944", "1944–1955", "1955–1964", "1964–1971"}, 4, 0},
|
||||
{"Co bylo typické pro počítače 0. generace?",
|
||||
{"Byly v každé domácnosti", "Jen několik kusů, často vojenský účel",
|
||||
"Měly mikroprocesory", "Používaly CD"},
|
||||
4, 1},
|
||||
{"Která technologie patří k 1. generaci?",
|
||||
{"Tranzistor", "Elektronka", "Integrovaný obvod", "Mikroprocesor"},
|
||||
4, 1},
|
||||
{"Čím se zadávaly data v 1. generaci?",
|
||||
{"USB fleškou", "Děrnými štítky", "CD", "Disketou"}, 4, 1},
|
||||
{"Která technologie patří k 2. generaci?",
|
||||
{"Elektronka", "Tranzistor", "Mikroprocesor", "CD"}, 4, 1},
|
||||
{"Která technologie patří k 3. generaci?",
|
||||
{"Elektronka", "Tranzistor", "Integrovaný obvod", "Disketa"},
|
||||
4, 2},
|
||||
{"Co je typické pro 4. generaci?",
|
||||
{"Jen děrné štítky", "Programovatelné mikroprocesory",
|
||||
"Jen vojenské použití", "Žádný software"},
|
||||
4, 1},
|
||||
{"Kdy vznikla první počítačová hra (podle lekce)?",
|
||||
{"1964", "1972", "1973", "1979"}, 4, 1},
|
||||
};
|
||||
static const char *hints[] = {
|
||||
"Nultá generace: 1938–1944",
|
||||
"Jen několik počítačů, většinou vojenský účel",
|
||||
"1. generace – objev elektronky",
|
||||
"1. generace – děrné štítky",
|
||||
"2. generace – objev tranzistoru",
|
||||
"3. generace – integrovaný obvod",
|
||||
"4. generace – programovatelné mikroprocesory",
|
||||
"1972 – první počítačová hra",
|
||||
};
|
||||
return build_hw_mcq_page(1, "hwunit2", "hw_ex2_title", "hw_quiz2_head",
|
||||
qs, hints, 8);
|
||||
}
|
||||
|
|
|
|||
20
i18n.c
20
i18n.c
|
|
@ -290,6 +290,13 @@ const TrEntry tr_ui[] = {
|
|||
"Quiz: computer architecture"},
|
||||
{"hw_quiz1_head", "Kvíz k architektuře počítače",
|
||||
"Quiz on computer architecture"},
|
||||
{"hw_unit2", "Historie počítačů", "History of computers"},
|
||||
{"hw_unit2_sub", "6 snímků o generacích počítačů a pak kvíz.",
|
||||
"6 slides about computer generations, then a quiz."},
|
||||
{"hw_ex2_title", "Kvíz: historie počítačů",
|
||||
"Quiz: history of computers"},
|
||||
{"hw_quiz2_head", "Kvíz k historii počítačů",
|
||||
"Quiz on the history of computers"},
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
|
|
@ -937,6 +944,19 @@ const TrEntry tr_content[] = {
|
|||
{"Operační paměť uchovává program i data", NULL,
|
||||
"Main memory stores both the program and data"},
|
||||
{"Byl tvůrcem teorie her", NULL, "He created game theory"},
|
||||
{"Nultá generace: 1938–1944", NULL, "Zeroth generation: 1938–1944"},
|
||||
{"Jen několik počítačů, většinou vojenský účel", NULL,
|
||||
"Only a few computers, mostly for military use"},
|
||||
{"1. generace – objev elektronky", NULL,
|
||||
"1st generation – invention of the vacuum tube"},
|
||||
{"1. generace – děrné štítky", NULL, "1st generation – punch cards"},
|
||||
{"2. generace – objev tranzistoru", NULL,
|
||||
"2nd generation – invention of the transistor"},
|
||||
{"3. generace – integrovaný obvod", NULL,
|
||||
"3rd generation – integrated circuit"},
|
||||
{"4. generace – programovatelné mikroprocesory", NULL,
|
||||
"4th generation – programmable microprocessors"},
|
||||
{"1972 – první počítačová hra", NULL, "1972 – first computer game"},
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
|
||||
|
|
|
|||
2
main.c
2
main.c
|
|
@ -174,6 +174,8 @@ void activate(GtkApplication *app, gpointer user_data) {
|
|||
gtk_stack_add_named(main_stack, build_hwmap_page(), "hwmap");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit1_page(), "hwunit1");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit1_exercise_page(), "hwex1");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit2_page(), "hwunit2");
|
||||
gtk_stack_add_named(main_stack, build_hw_unit2_exercise_page(), "hwex2");
|
||||
{
|
||||
typedef GtkWidget *(*NetBuilder)(void);
|
||||
static const struct {
|
||||
|
|
|
|||
|
|
@ -59,8 +59,9 @@
|
|||
#define NET10_SLIDES 3
|
||||
#define NET_LESSONS 10
|
||||
#define HW_UNITS 10
|
||||
#define HW_LESSONS 1
|
||||
#define HW_LESSONS 2
|
||||
#define HW_SLIDES 3
|
||||
#define HW2_SLIDES 6
|
||||
|
||||
typedef enum {
|
||||
THEME_CATPPUCCIN = 0,
|
||||
|
|
@ -763,6 +764,8 @@ void hw_lessons_apply_lang(void);
|
|||
GtkWidget *build_hwmap_page(void);
|
||||
GtkWidget *build_hw_unit1_page(void);
|
||||
GtkWidget *build_hw_unit1_exercise_page(void);
|
||||
GtkWidget *build_hw_unit2_page(void);
|
||||
GtkWidget *build_hw_unit2_exercise_page(void);
|
||||
void draw_chip_icon(GtkDrawingArea *area, cairo_t *cr,
|
||||
int width, int height, gpointer data);
|
||||
void net_lesson_notes_ensure(NetLesson *L);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue