mirror of
https://github.com/pepaskopec-blip/Graduately.git
synced 2026-10-27 07:04:35 +00:00
Each year mixes listening, reading, writing, gap-fill, quizzes, and a year test so the subject is usable through the maturita. Co-authored-by: Cursor <cursoragent@cursor.com>
1907 lines
110 KiB
PHP
1907 lines
110 KiB
PHP
/* Generated by scripts/gen-english.py. Do not edit by hand. */
|
|
|
|
static const NetSlide en_y1_l1_slides[] = {
|
|
{
|
|
"1 / 2 • Be", "Kdo jsem", "Tip: věk se říká slovesem be. „She has 16 years“ je čechismus.",
|
|
{
|
|
"I am, you are, he/she/it is, we/you/they are.",
|
|
"Zápor a otázka: She isn't tall. Are you from Prague?",
|
|
"Věk, povolání i nálada: I am 16. My mum is a nurse. I am fine.",
|
|
"Přivlastňovací zájmena: my, your, his, her, its, our, their.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Have got", "Co mám", "Tip: have got je britská hovorová vazba pro vlastnictví, ne pro věk.",
|
|
{
|
|
"I've got a younger brother. She hasn't got a pet.",
|
|
"Have you got any cousins? — Yes, I have. / No, I haven't.",
|
|
"V americké angličtině stačí have: I have a brother.",
|
|
"Rodina: parents, siblings, only child, get on well, look like.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y1_l1_gaps[] = {
|
|
{"My sister ___ sixteen.", "is", "Věk: be, ne have."},
|
|
{"___ you got a bike?", "Have", "Otázka s have got."},
|
|
{"This is ___ grandmother. She lives with us.", "our", "Přivlastňovací zájmeno."},
|
|
{"They ___ not from Brno. They are from Olomouc.", "are", "They + are."},
|
|
{"He ___ got a dog, but he has got two cats.", "hasn't|has not", "Zápor have got."},
|
|
};
|
|
|
|
static const ChoiceQ en_y1_l1_quiz[] = {
|
|
{"Which sentence is correct?", {"She has 16 years.", "She is 16 years old.", "She is 16 years.", "She has 16 years old."}, 4, 1},
|
|
{"I ___ two cousins and one aunt.", {"am", "have got", "has got", "is"}, 4, 1},
|
|
{"Eva is my sister. ___ room is next to mine.", {"She", "Her", "His", "Hers"}, 4, 1},
|
|
{"___ your parents at home?", {"Is", "Are", "Have", "Do"}, 4, 1},
|
|
};
|
|
static const char *en_y1_l1_quiz_hints[] = {
|
|
"Věk: be + years old.",
|
|
"Vlastnictví v 1. osobě: have got.",
|
|
"Před podstatným jménem je her, ne she.",
|
|
"Parents je množné číslo: Are.",
|
|
};
|
|
|
|
static const NetSlide en_y1_l2_slides[] = {
|
|
{
|
|
"1 / 2 • Present simple", "Co dělám pravidelně", "Tip: ve 3. osobě jednotného čísla přibývá -s/-es: she watches.",
|
|
{
|
|
"I get up at seven. He gets up at six.",
|
|
"Zápor: I don't like maths. She doesn't eat meat.",
|
|
"Otázka: Do you walk to school? Does she play the piano?",
|
|
"Příslovce četnosti stojí před slovesem: I usually walk. She is always late.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Škola", "Rozvrh a přestávky", "Tip: předmět ve škole je bez členu, když mluvíme obecně: I like biology.",
|
|
{
|
|
"lessons, break, canteen, homework, timetable, subject.",
|
|
"Čas: at eight, at half past twelve, in the morning, on Monday.",
|
|
"because vysvětluje důvod: I like biology because we do experiments.",
|
|
"never / sometimes / often / usually / always.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l2_read = "My school day starts early. I get up at half past six, have breakfast and catch the tram. Lessons begin at eight. On Monday we have maths, English and biology. I like biology because we do experiments, but I don't like maths. We have lunch at half past twelve in the canteen. After school I do my homework or meet friends. I never go to bed after ten on a school night.";
|
|
|
|
static const ChoiceQ en_y1_l2_readq[] = {
|
|
{"What time do lessons begin?", {"At half past six", "At eight", "At half past twelve", "At ten"}, 4, 1},
|
|
{"Why does the writer like biology?", {"Because it is easy", "Because they do experiments", "Because the teacher is funny", "Because there is no homework"}, 4, 1},
|
|
{"Where do they have lunch?", {"At home", "On the tram", "In the canteen", "In the park"}, 4, 2},
|
|
{"On a school night the writer goes to bed…", {"after eleven", "at midnight", "never after ten", "before six"}, 4, 2},
|
|
};
|
|
static const char *en_y1_l2_readq_hints[] = {
|
|
"Lessons begin at eight.",
|
|
"because we do experiments.",
|
|
"in the canteen.",
|
|
"never go to bed after ten.",
|
|
};
|
|
|
|
static const TypedQ en_y1_l2_gaps[] = {
|
|
{"She ___ (watch) a series every evening.", "watches", "3. osoba: watches."},
|
|
{"We ___ (not go) to school on Sunday.", "don't go|do not go", "Zápor v 1. osobě množného čísla."},
|
|
{"___ he play football on Fridays?", "Does", "Otázka ve 3. osobě."},
|
|
{"I usually ___ (get) up at seven.", "get", "Usually nemění tvar slovesa."},
|
|
};
|
|
|
|
static const NetSlide en_y1_l3_slides[] = {
|
|
{
|
|
"1 / 2 • Continuous", "Co právě probíhá a co je domluvené", "Tip: I'm meeting Eva at ten je plán, ne jen „potkávám“.",
|
|
{
|
|
"Tvar: am/is/are + -ing. I'm waiting. She isn't coming.",
|
|
"Teď: Look, it is raining. Please be quiet, the baby is sleeping.",
|
|
"Blízký plán: We're having lunch on Saturday. I'm playing volleyball.",
|
|
"Stavová slovesa obvykle průběhový čas nemají: I know, I like, I want.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Poslech", "Jak poslouchat vzkaz", "Tip: nejdřív si přečtěte otázky, pak teprve pusťte nahrávku.",
|
|
{
|
|
"Chyťte jména, časy a místa. Ta se v otázkách opakují.",
|
|
"Nenechte se zastavit jedním slovem. Poslouchejte dál.",
|
|
"I'm meeting, we're going, I'm playing jsou v tomhle vzkazu klíčové.",
|
|
"Na konci bývá prosba: Call me back.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l3_listen = "Hi Tom, it's Anna. Are you free on Saturday? I'm meeting Eva at the station at ten. We're going to the market first, and then we're having lunch in that new café by the river. In the afternoon I'm playing volleyball with my class in the park. Do you want to come to the café? Call me back tonight.";
|
|
|
|
static const ChoiceQ en_y1_l3_listenq[] = {
|
|
{"Who is Anna meeting?", {"Tom", "Eva", "Her class", "Her mum"}, 4, 1},
|
|
{"Where are they meeting?", {"At school", "At the station", "In the park", "By the river only"}, 4, 1},
|
|
{"What is Anna doing in the afternoon?", {"Going to the market", "Having lunch", "Playing volleyball", "Sleeping"}, 4, 2},
|
|
{"What should Tom do?", {"Buy tickets", "Call her back", "Come to school", "Bring a map"}, 4, 1},
|
|
};
|
|
static const char *en_y1_l3_listenq_hints[] = {
|
|
"I'm meeting Eva.",
|
|
"at the station at ten.",
|
|
"I'm playing volleyball.",
|
|
"Call me back tonight.",
|
|
};
|
|
|
|
static const TypedQ en_y1_l3_gaps[] = {
|
|
{"Listen, the phone ___.", "is ringing", "Děje se to teď."},
|
|
{"We ___ lunch with Eva on Saturday.", "are having|'re having", "Domluvený plán."},
|
|
{"I ___ not coming to the match.", "am|'m", "Zápor: am not."},
|
|
{"She ___ volleyball this afternoon.", "is playing|'s playing", "Domluvená aktivita."},
|
|
};
|
|
|
|
static const NetSlide en_y1_l4_slides[] = {
|
|
{
|
|
"1 / 2 • There is", "Co v pokoji je", "Tip: there is pro jedno, there are pro více. There je formální podmět.",
|
|
{
|
|
"There is a desk under the window. There are two chairs.",
|
|
"Zápor: There isn't a TV. There aren't any posters.",
|
|
"Otázka: Is there a lamp? Are there any books?",
|
|
"Předložky: in, on, under, next to, between, behind, in front of.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Psaní", "Popis místa", "Tip: jděte od velkého k malému, od dveří k oknu.",
|
|
{
|
|
"Začněte velikostí a světlem: small but bright.",
|
|
"Každá věta ať má věc a místo: The bag is under the chair.",
|
|
"Střídejte there is a there are, ať text není seznam.",
|
|
"Na konci jedna osobní věta: I like it because it is quiet.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l4_write[] = {
|
|
"Describe your room in at least 30 words. Say what is in it and where things are. Use on and a piece of furniture such as a bed, and mention a window.",
|
|
"My room is small but bright. There is a bed next to the window and a wooden desk under a shelf. My books are on the desk and my school bag is under the chair. There are two posters on the wall. I like the room because it is quiet in the evening.",
|
|
"bed|window|on",
|
|
"30",
|
|
};
|
|
|
|
static const ChoiceQ en_y1_l4_quiz[] = {
|
|
{"The lamp is ___ the desk.", {"under", "on", "between", "at"}, 4, 1},
|
|
{"There ___ a big window.", {"are", "is", "be", "have"}, 4, 1},
|
|
{"There ___ two posters on the wall.", {"is", "are", "has", "been"}, 4, 1},
|
|
{"The cat is sleeping ___ the bed.", {"under", "next", "between to", "at to"}, 4, 0},
|
|
};
|
|
static const char *en_y1_l4_quiz_hints[] = {
|
|
"Lampa stojí na desce: on.",
|
|
"Jedno okno: there is.",
|
|
"Dva plakáty: there are.",
|
|
"Pod postelí: under the bed.",
|
|
};
|
|
|
|
static const NetSlide en_y1_l5_slides[] = {
|
|
{
|
|
"1 / 2 • Množství", "Počitatelné a nepočitatelné", "Tip: some v kladné větě, any v otázce a záporu. Nabídka je výjimka: Would you like some tea?",
|
|
{
|
|
"Počitatelné: an apple, some apples. Nepočitatelné: some bread, some milk.",
|
|
"How many apples? How much milk?",
|
|
"a little milk, a few rolls, a lot of cheese.",
|
|
"V obchodě: How much is it? It's four euros a kilo.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Dialog", "Zdvořilá žádost", "Tip: Can I have… a I'd like… zní v obchodě přirozeně.",
|
|
{
|
|
"Have you got any bread? — Sorry, we haven't got any today.",
|
|
"We've got some rolls instead.",
|
|
"How many would you like? — Six, please.",
|
|
"Anything else? — No, that's all. Thank you.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l5_read = "On Saturday morning the market by the river is busy. A woman asks, \"How much is this cheese?\" The seller says, \"It's four euros a kilo.\" Then she asks, \"Have you got any bread?\" He answers, \"Sorry, we haven't got any bread today, but we've got some fresh rolls.\" \"How many rolls do you want?\" \"Six, please, and a little milk.\" She also buys a few apples. \"Anything else?\" \"No, that's all.\"";
|
|
|
|
static const ChoiceQ en_y1_l5_readq[] = {
|
|
{"How much is the cheese?", {"Four euros a piece", "Four euros a kilo", "Six euros", "A little"}, 4, 1},
|
|
{"What hasn't the seller got?", {"Rolls", "Milk", "Bread", "Apples"}, 4, 2},
|
|
{"How many rolls does the woman want?", {"Four", "A few", "Six", "A kilo"}, 4, 2},
|
|
{"Which phrase is an offer of more shopping?", {"That's all.", "Anything else?", "How much is it?", "A little milk."}, 4, 1},
|
|
};
|
|
static const char *en_y1_l5_readq_hints[] = {
|
|
"four euros a kilo.",
|
|
"haven't got any bread today.",
|
|
"Six, please.",
|
|
"Anything else? nabízí další nákup.",
|
|
};
|
|
|
|
static const TypedQ en_y1_l5_gaps[] = {
|
|
{"We haven't got ___ bread today.", "any", "Zápor: any."},
|
|
{"There are ___ rolls in the bag.", "some", "Kladná věta: some."},
|
|
{"How ___ apples do you want?", "many", "Apples se dají počítat."},
|
|
{"How ___ milk is in the bottle?", "much", "Milk je nepočitatelné."},
|
|
};
|
|
|
|
static const NetSlide en_y1_l6_slides[] = {
|
|
{
|
|
"1 / 2 • Past simple", "Co se stalo a je dokončené", "Tip: zápor a otázka používají did, sloveso zůstává v základním tvaru.",
|
|
{
|
|
"Pravidelná: play → played, visit → visited, try → tried, stop → stopped.",
|
|
"Nepravidelná: go → went, take → took, swim → swam, buy → bought.",
|
|
"I didn't stay in a hotel. Did you visit the island?",
|
|
"Signály: yesterday, last July, ago, in 2019, when I was ten.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Vyprávění", "Jedna událost za druhou", "Tip: then, after that a one day drží příběh pohromadě.",
|
|
{
|
|
"Začněte kdy a kam: Last July we went to Croatia.",
|
|
"Pak doprava, počasí a jedna konkrétní příhoda.",
|
|
"Nepravidelná slovesa se neučí po jednom u testu, ale ve větě.",
|
|
"Na konci dojem: It was the best week of the year.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l6_listen = "Last July we went to Croatia. We travelled by train and then by bus because the flight was too expensive. The weather was hot every day. I swam in the morning and my brother tried surfing. He fell off the board a lot, but he loved it. One day we visited a small island. We didn't stay in a hotel. We stayed with our uncle near the beach. I took hundreds of photos.";
|
|
|
|
static const ChoiceQ en_y1_l6_listenq[] = {
|
|
{"Where did they go?", {"Italy", "Croatia", "Greece", "Spain"}, 4, 1},
|
|
{"How did they travel?", {"By plane", "By train and bus", "By car", "By ferry only"}, 4, 1},
|
|
{"What did the brother try?", {"Swimming", "Surfing", "Cooking", "Driving"}, 4, 1},
|
|
{"Where did they stay?", {"In a hotel", "On the island", "With their uncle", "On the train"}, 4, 2},
|
|
};
|
|
static const char *en_y1_l6_listenq_hints[] = {
|
|
"went to Croatia.",
|
|
"by train and then by bus.",
|
|
"tried surfing.",
|
|
"stayed with our uncle.",
|
|
};
|
|
|
|
static const ChoiceQ en_y1_l6_quiz[] = {
|
|
{"go → ___", {"goed", "went", "gone", "going"}, 4, 1},
|
|
{"I ___ a lot of photos.", {"taked", "took", "taken", "token"}, 4, 1},
|
|
{"She ___ in the sea every morning.", {"swimmed", "swam", "swum", "swims"}, 4, 1},
|
|
{"We ___ stay in a hotel.", {"don't", "didn't", "wasn't", "haven't"}, 4, 1},
|
|
};
|
|
static const char *en_y1_l6_quiz_hints[] = {
|
|
"go, went, gone.",
|
|
"take, took, taken.",
|
|
"Minulý tvar swim je swam.",
|
|
"Zápor minulého času: didn't + sloveso.",
|
|
};
|
|
|
|
static const NetSlide en_y1_l7_slides[] = {
|
|
{
|
|
"1 / 2 • Budoucnost", "Plán, nebo rozhodnutí teď", "Tip: going to má důkaz nebo plán. Will je rozhodnutí v tu chvíli nebo odhad.",
|
|
{
|
|
"We've got tickets. We're going to leave at six. To je plán.",
|
|
"Look at those clouds. It's going to rain. To je důkaz.",
|
|
"The phone is ringing. I'll answer it. Rozhodnutí teď.",
|
|
"I think I'll stay at home. Will jako názor, ne jistý plán.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Zpráva", "Neformální styl", "Tip: Hi, kontraktované tvary a na konci otázka kamarádovi.",
|
|
{
|
|
"Začněte Hi a jménem, ne Dear Sir.",
|
|
"Napište kdy, co a proč. Jedna věta s because stačí.",
|
|
"I'm going to… je v takové zprávě přirozené.",
|
|
"Konec: Want to come? Write back.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y1_l7_gaps[] = {
|
|
{"Look at those clouds. It ___ rain.", "is going to|'s going to", "Je vidět důkaz: going to."},
|
|
{"I think I ___ stay at home tonight.", "will|'ll", "Názor v tu chvíli: will."},
|
|
{"The tickets are in my bag. We ___ leave at six.", "are going to|'re going to", "Už je to domluvené."},
|
|
{"Don't worry. I ___ help you with the bags.", "will|'ll", "Rozhodnutí teď: will."},
|
|
};
|
|
|
|
static const char *en_y1_l7_write[] = {
|
|
"Write a short message to a friend about next weekend. Use at least 25 words. Say what you are going to do, mention the weekend, and give a reason with because.",
|
|
"Hi Lena, next weekend I am going to visit my cousins in Pilsen. We are going to the cinema on Saturday because a new film is on. On Sunday we are going to cook lunch together. Do you want to come with me? Write back soon.",
|
|
"going|weekend|because",
|
|
"25",
|
|
};
|
|
|
|
static const NetSlide en_y1_l8_slides[] = {
|
|
{
|
|
"1 / 2 • Co test bere", "A2 v jedné sadě", "Tip: nejdřív otázky, pak text nebo nahrávku. U psaní počítejte slova.",
|
|
{
|
|
"Čtení: najděte v textu čas, místo a důvod, nehádejte z jednoho slova.",
|
|
"Poslech: jména a čísla si poznamenejte hned.",
|
|
"Gramatika: be, přítomné časy, some/any, minulý čas, will a going to.",
|
|
"Psaní: krátký souvislý text, ne jen odrážky.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Jak opravovat", "Nejčastější čechismy", "Tip: po kontrole si přečtěte nápovědy, i když je věta správně.",
|
|
{
|
|
"I am 16, ne I have 16 years.",
|
|
"She likes, ne she like.",
|
|
"Did you went je špatně. Did you go.",
|
|
"There is a book, ne It is a book on the table, když věc uvádíte.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y1_l8_read = "Klara lives in a flat with her parents and a small dog. On weekdays she walks to school because it is only ten minutes away. She loves art. Last Friday her class visited a gallery and she bought a poster. This Saturday she is meeting her cousin at the station. They are going to a concert in the evening.";
|
|
|
|
static const ChoiceQ en_y1_l8_readq[] = {
|
|
{"How does Klara get to school?", {"By tram", "She walks", "Her dad drives", "By train"}, 4, 1},
|
|
{"What did she buy at the gallery?", {"A dog", "A ticket", "A poster", "A flat"}, 4, 2},
|
|
{"Who is she meeting on Saturday?", {"Her parents", "Her art teacher", "Her cousin", "The singer"}, 4, 2},
|
|
};
|
|
static const char *en_y1_l8_readq_hints[] = {
|
|
"she walks to school.",
|
|
"she bought a poster.",
|
|
"meeting her cousin.",
|
|
};
|
|
|
|
static const char *en_y1_l8_listen = "Hi, it's Marek. I missed you after school. I'm at the sports centre. The match starts at four, not at three, so don't hurry. Can you bring my blue jacket? It's on the chair in the kitchen. See you there.";
|
|
|
|
static const ChoiceQ en_y1_l8_listenq[] = {
|
|
{"Where is Marek?", {"At school", "At the sports centre", "In the kitchen", "On the tram"}, 4, 1},
|
|
{"What time does the match start?", {"At three", "At four", "At five", "At ten"}, 4, 1},
|
|
{"What should his friend bring?", {"A ticket", "A blue jacket", "Lunch", "A poster"}, 4, 1},
|
|
};
|
|
static const char *en_y1_l8_listenq_hints[] = {
|
|
"at the sports centre.",
|
|
"starts at four, not at three.",
|
|
"bring my blue jacket.",
|
|
};
|
|
|
|
static const char *en_y1_l8_write[] = {
|
|
"Write at least 30 words about your family. Use is or are, and the words family and because.",
|
|
"My family is not very big. I live with my parents and my younger sister. She is twelve and she is funny. We get on well because we both like films. My dad is a driver and my mum is a nurse. I am happy at home.",
|
|
"family|because",
|
|
"30",
|
|
};
|
|
|
|
static const ChoiceQ en_y1_l8_quiz[] = {
|
|
{"She ___ coffee.", {"don't like", "doesn't like", "not like", "isn't like"}, 4, 1},
|
|
{"There ___ any milk.", {"isn't", "aren't", "hasn't", "don't"}, 4, 0},
|
|
{"Yesterday we ___ to the lake.", {"go", "went", "gone", "going"}, 4, 1},
|
|
{"I've got the tickets. We ___ leave at noon.", {"will", "are going to", "did", "are"}, 4, 1},
|
|
};
|
|
static const char *en_y1_l8_quiz_hints[] = {
|
|
"3. osoba: doesn't like.",
|
|
"Milk je jednotné: there isn't.",
|
|
"Minulý tvar go je went.",
|
|
"Plán s důkazem: going to.",
|
|
};
|
|
|
|
static const NetSlide en_y2_l1_slides[] = {
|
|
{
|
|
"1 / 2 • Stupňování", "Porovnat dvě věci i celou skupinu", "Tip: kratší přídavná jména berou -er/-est, delší more/most.",
|
|
{
|
|
"cheap → cheaper → the cheapest. Expensive → more expensive → the most expensive.",
|
|
"Nepravidelné: good → better → the best, bad → worse → the worst, far → further → the furthest.",
|
|
"as … as: The bus is as fast as the train today.",
|
|
"than stojí po komparativu: This hostel is cheaper than the hotel.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Past continuous", "Děje, který probíhal, když se stalo něco jiného", "Tip: průběhový čas je pozadí, prostý je krátká událost.",
|
|
{
|
|
"I was reading when the train stopped.",
|
|
"While we were waiting, it started to rain.",
|
|
"Zápor: We weren't sleeping. Otázka: Were you driving?",
|
|
"Nepleťte si ho s minulým prostým: I walked home popisuje celou cestu.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y2_l1_gaps[] = {
|
|
{"This ticket is ___ (cheap) than the night train.", "cheaper", "Krátké přídavné jméno: -er."},
|
|
{"It was the ___ (bad) hotel in the town.", "worst", "bad, worse, the worst."},
|
|
{"Prague is not as ___ as London.", "big", "as + základní tvar + as."},
|
|
{"I ___ (read) when the bus suddenly stopped.", "was reading", "Pozadí: past continuous."},
|
|
{"While we ___ (wait), a street musician started to play.", "were waiting", "While + průběhový děj."},
|
|
};
|
|
|
|
static const ChoiceQ en_y2_l1_quiz[] = {
|
|
{"far → ___ → the furthest", {"farer", "further", "more far", "farthest only"}, 4, 1},
|
|
{"Which sentence is correct?", {"This café is more cheap than that one.", "This café is cheaper than that one.", "This café is the cheaper than that one.", "This café is cheap than that one."}, 4, 1},
|
|
{"She ___ a map when she missed the stop.", {"looked", "was looking", "looks", "is looking"}, 4, 1},
|
|
{"good → better → ___", {"the goodest", "the better", "the best", "the most good"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l1_quiz_hints[] = {
|
|
"far, further, the furthest. Farthest je taky možné, ale further je v učebnici první.",
|
|
"cheap → cheaper than.",
|
|
"Dělo se to v okamžiku, kdy zmeškala zastávku.",
|
|
"the best.",
|
|
};
|
|
|
|
static const NetSlide en_y2_l2_slides[] = {
|
|
{
|
|
"1 / 2 • Modální slovesa", "Rada, povinnost, zákaz", "Tip: must je silný pocit mluvčího, have to je pravidlo zvenku.",
|
|
{
|
|
"You should rest. You shouldn't go to school tomorrow. To je rada.",
|
|
"I must call the doctor. Mluvčí cítí, že to je nutné.",
|
|
"You have to show your insurance card. To chce ordinace.",
|
|
"Mustn't je zákaz. Don't have to znamená, že to není nutné.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Tělo a příznaky", "Jak to říct u přepážky", "Tip: I've got a sore throat zní přirozeněji než I have pain in throat.",
|
|
{
|
|
"a headache, a sore throat, a cough, a temperature, a rash.",
|
|
"It hurts when I swallow. I feel dizzy.",
|
|
"How long have you had it? — Since Monday. / For three days.",
|
|
"Take these tablets twice a day. Drink plenty of water.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l2_read = "The school clinic is open from seven to three. If you feel ill, you should tell your teacher first. You have to bring your insurance card. You must not come to school with a high temperature. Students with a cough should wear a mask in the waiting room. You don't have to make an appointment for a small cut, but you should come before noon. The nurse can give you a painkiller. She can't give you antibiotics.";
|
|
|
|
static const ChoiceQ en_y2_l2_readq[] = {
|
|
{"What do you have to bring?", {"A mask", "An insurance card", "Antibiotics", "An appointment"}, 4, 1},
|
|
{"What is forbidden?", {"Coming with a high temperature", "Telling the teacher", "Wearing a mask", "Coming before noon"}, 4, 0},
|
|
{"You don't have to make an appointment if…", {"you need antibiotics", "you have a small cut", "you have a temperature", "you arrive at four"}, 4, 1},
|
|
{"What can't the nurse give you?", {"Water", "A painkiller", "Antibiotics", "A mask"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l2_readq_hints[] = {
|
|
"have to bring your insurance card.",
|
|
"must not come with a high temperature.",
|
|
"for a small cut.",
|
|
"She can't give you antibiotics.",
|
|
};
|
|
|
|
static const ChoiceQ en_y2_l2_quiz[] = {
|
|
{"You ___ shout in the waiting room. It's a rule.", {"don't have to", "mustn't", "shouldn't to", "haven't"}, 4, 1},
|
|
{"You ___ wear a tie. Nobody minds.", {"mustn't", "don't have to", "must", "should to"}, 4, 1},
|
|
{"I've got a headache. You ___ drink some water and rest.", {"should", "must to", "have", "are"}, 4, 0},
|
|
{"Visitors ___ show a card. The clinic asks for it.", {"have to", "should to", "don't must", "are have"}, 4, 0},
|
|
};
|
|
static const char *en_y2_l2_quiz_hints[] = {
|
|
"Zákaz: mustn't.",
|
|
"Není to nutné: don't have to.",
|
|
"Rada: should.",
|
|
"Pravidlo zvenku: have to.",
|
|
};
|
|
|
|
static const NetSlide en_y2_l3_slides[] = {
|
|
{
|
|
"1 / 2 • Present perfect", "Zkušenost a děj až do teď", "Tip: have/has + příčestí. Otázka na zkušenost začíná Have you ever…?",
|
|
{
|
|
"I have worked in a café. She has never had a paid job.",
|
|
"Ever v otázce, never v záporném významu: Have you ever used a till?",
|
|
"For three months = jak dlouho. Since May = od kdy.",
|
|
"Just, already, yet: I've just finished. I haven't finished yet.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Pohovor", "Krátké odpovědi", "Tip: odpovězte a přidejte jednu konkrétní větu, ať to není jen yes.",
|
|
{
|
|
"I'm reliable and I get on well with people.",
|
|
"I have looked after my neighbours' children.",
|
|
"I can work on Saturdays, but I can't work on Sunday mornings.",
|
|
"Could you tell me what the shift is?",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l3_listen = "Manager: Have you ever worked in a shop? Tereza: Not in a shop, but I have helped in my uncle's bakery since May. Manager: What do you do there? Tereza: I have served customers and I have learned to use the till. I haven't baked bread yet. Manager: Can you start next Saturday? Tereza: Yes. I have already asked my uncle, and he says it's fine. I can't work on Sunday mornings because I have a match.";
|
|
|
|
static const ChoiceQ en_y2_l3_listenq[] = {
|
|
{"Where has Tereza helped?", {"In a supermarket", "In her uncle's bakery", "In a hotel", "At school"}, 4, 1},
|
|
{"Since when?", {"Since March", "Since May", "Since Saturday", "For a year"}, 4, 1},
|
|
{"What hasn't she done yet?", {"Served customers", "Used the till", "Baked bread", "Asked her uncle"}, 4, 2},
|
|
{"Why can't she work on Sunday mornings?", {"The bakery is closed", "She has a match", "She is ill", "She has no till"}, 4, 1},
|
|
};
|
|
static const char *en_y2_l3_listenq_hints[] = {
|
|
"in my uncle's bakery.",
|
|
"since May.",
|
|
"I haven't baked bread yet.",
|
|
"because I have a match.",
|
|
};
|
|
|
|
static const TypedQ en_y2_l3_gaps[] = {
|
|
{"She ___ (live) here since 2019.", "has lived|'s lived", "Since + předpřítomný čas."},
|
|
{"I have known him ___ three years.", "for", "For + délka."},
|
|
{"Have you ___ (be) to London?", "been", "Been to = mít zkušenost."},
|
|
{"We haven't finished ___.", "yet", "Yet v záporu na konci."},
|
|
{"He has ___ eaten, so he isn't hungry.", "already|just", "Already nebo just."},
|
|
};
|
|
|
|
static const NetSlide en_y2_l4_slides[] = {
|
|
{
|
|
"1 / 2 • Vztažné věty", "Která osoba, která věc", "Tip: who pro lidi, which pro věci. That jde často pro obojí v definující větě.",
|
|
{
|
|
"The actor who plays the captain is brilliant.",
|
|
"A lighthouse which stands on a black rock.",
|
|
"V definující větě se čárka nepíše: The boy who lives next door.",
|
|
"Nedefinující věta čárku má a that se v ní nepoužívá: Prague, which I love, …",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Recenze", "Názor, ne jen děj", "Tip: neprozrazujte konec. Napište, pro koho film je.",
|
|
{
|
|
"Jedna věta o ději, jedna o postavě, jedna o tom, co se povedlo.",
|
|
"I would recommend it to anyone who likes quiet films.",
|
|
"The ending, which I will not describe, stays with you.",
|
|
"Hodnocení ať je konkrétní: the music is too loud, the script is sharp.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l4_write[] = {
|
|
"Write a short review of a film or a book in at least 40 words. Use who once and which once, and say who you would recommend it to.",
|
|
"The Lighthouse Keeper is a quiet film which follows a woman on a small island. The actor who plays her hardly speaks, but her face tells the story. The sea, which is almost a character, is beautiful and dangerous. I would recommend it to anyone who likes slow films. The ending is sad but honest.",
|
|
"who|which|recommend",
|
|
"40",
|
|
};
|
|
|
|
static const ChoiceQ en_y2_l4_quiz[] = {
|
|
{"The nurse ___ helped me was very calm.", {"which", "who", "where", "whose it"}, 4, 1},
|
|
{"The app ___ crashed is useless.", {"who", "which", "where", "whom"}, 4, 1},
|
|
{"Prague, ___ is my home city, is full of tourists in July.", {"that", "which", "who", "what"}, 4, 1},
|
|
{"That's the boy ___ dog ran into the road.", {"who", "which", "whose", "that his"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l4_quiz_hints[] = {
|
|
"Člověk: who.",
|
|
"Věc: which.",
|
|
"S čárkou that nepatří. Which.",
|
|
"Čí: whose.",
|
|
};
|
|
|
|
static const NetSlide en_y2_l5_slides[] = {
|
|
{
|
|
"1 / 2 • Too / enough", "Příliš a dost", "Tip: too stojí před přídavným jménem, enough za ním.",
|
|
{
|
|
"It's too cold to swim. The water isn't warm enough.",
|
|
"Too many people, too much rain.",
|
|
"Enough + podstatné jméno: enough water. Nebo za přídavným jménem: old enough.",
|
|
"Not enough time je častější než too little time.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Předpověď", "Co říct, když se díváte z okna", "Tip: mraky, které vidíte, vedou k going to. Odhad bez důkazu k will.",
|
|
{
|
|
"Those clouds are black. It's going to storm.",
|
|
"I think it will be sunny on Sunday. To je jen odhad.",
|
|
"If it rains, we'll stay in the cabin.",
|
|
"Slovník: foggy, chilly, pouring, a heatwave, a breeze.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l5_read = "We wanted to cycle to the lake, but the morning was too foggy to start. By ten the sun was out and the path was dry enough. There were too many cyclists near the dam, so we took a quieter road. We didn't have enough water, which was a mistake. At the lake a guard said, \"Look at that cloud. It's going to pour. I think the storm will last an hour.\" We were not fast enough. We got soaked.";
|
|
|
|
static const ChoiceQ en_y2_l5_readq[] = {
|
|
{"Why didn't they start early?", {"The bikes were broken", "It was too foggy", "The lake was closed", "They had no map"}, 4, 1},
|
|
{"Why did they change the road?", {"There were too many cyclists", "They were lost", "It was pouring", "The guard sent them back"}, 4, 0},
|
|
{"What mistake did they make?", {"They forgot the bikes", "They didn't have enough water", "They started at night", "They swam"}, 4, 1},
|
|
{"What did the guard predict from the cloud?", {"Fog", "A heatwave", "Rain", "Snow"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l5_readq_hints[] = {
|
|
"too foggy to start.",
|
|
"too many cyclists near the dam.",
|
|
"didn't have enough water.",
|
|
"It's going to pour.",
|
|
};
|
|
|
|
static const TypedQ en_y2_l5_gaps[] = {
|
|
{"The rucksack is ___ heavy to carry.", "too", "Too + přídavné jméno."},
|
|
{"She isn't tall ___ to reach the shelf.", "enough", "Enough za přídavným jménem."},
|
|
{"There is too ___ sugar in this tea.", "much", "Nepočitatelné: too much."},
|
|
{"Look at the sky. It ___ snow.", "is going to|'s going to", "Viditelný důkaz."},
|
|
};
|
|
|
|
static const NetSlide en_y2_l6_slides[] = {
|
|
{
|
|
"1 / 2 • Dva časy", "Kdy je děj uzavřený", "Tip: jakmile zazní yesterday, last year nebo in 2019, patří minulý čas.",
|
|
{
|
|
"I have been to the festival three times. Neříkám kdy.",
|
|
"I went in 2023. Tehdy pršelo. To už je uzavřené.",
|
|
"Have you ever slept in a tent? — Yes. I slept in one last June.",
|
|
"Been to znamená, že už je člověk zpátky. Gone to znamená, že je pořád pryč.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Reportáž", "Co se děje na místě", "Tip: reportér míchá „už se stalo“ a „bylo to včera večer“.",
|
|
{
|
|
"The gates have just opened.",
|
|
"Last night the main band played for two hours.",
|
|
"Have you seen the lanterns yet?",
|
|
"A local baker has made a cake in the shape of a violin.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l6_listen = "This is Nora at the river festival. The gates have just opened and hundreds of people have already come in. I have never seen so many lanterns. Last night the main band played for two hours, but tonight's singer hasn't arrived yet. A local baker has made a cake in the shape of a violin. I tried a piece yesterday. It was delicious. Have you ever been here? I came for the first time in 2022, and I have come back every summer since then.";
|
|
|
|
static const ChoiceQ en_y2_l6_listenq[] = {
|
|
{"What has just happened?", {"The band has left", "The gates have opened", "It has started to snow", "The baker has closed"}, 4, 1},
|
|
{"When did the main band play?", {"Just now", "Last night", "In 2022", "Every summer"}, 4, 1},
|
|
{"What hasn't happened yet?", {"People have come in", "Tonight's singer has arrived", "Nora tried the cake", "The gates opened"}, 4, 1},
|
|
{"When did Nora come for the first time?", {"Yesterday", "Last night", "In 2022", "This morning"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l6_listenq_hints[] = {
|
|
"The gates have just opened.",
|
|
"Last night the main band played.",
|
|
"hasn't arrived yet.",
|
|
"for the first time in 2022.",
|
|
};
|
|
|
|
static const ChoiceQ en_y2_l6_quiz[] = {
|
|
{"I ___ this play in 2019.", {"have seen", "saw", "seen", "have saw"}, 4, 1},
|
|
{"She has ___ to Paris. She is still there.", {"been", "gone", "went", "going"}, 4, 1},
|
|
{"___ you ever slept in a tent?", {"Did", "Have", "Do", "Were"}, 4, 1},
|
|
{"We ___ the lanterns yesterday.", {"have seen", "saw", "seen", "have watch"}, 4, 1},
|
|
};
|
|
static const char *en_y2_l6_quiz_hints[] = {
|
|
"Rok uzavírá děj: saw.",
|
|
"Pořád je pryč: gone.",
|
|
"Ever + present perfect: Have you ever…?",
|
|
"Yesterday → past simple.",
|
|
};
|
|
|
|
static const NetSlide en_y2_l7_slides[] = {
|
|
{
|
|
"1 / 2 • Podmínky", "Reálná a hypotetická", "Tip: v if větě není will. If it rains, we will stay in.",
|
|
{
|
|
"1. kondicionál: If I finish early, I will call you. Je to možné.",
|
|
"2. kondicionál: If I had a car, I would drive. Teď auto nemám.",
|
|
"V formální druhé podmínce je were: If I were you, I would apologise.",
|
|
"Unless = if not: We'll miss the bus unless we leave now.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Vlastní věta", "Jedna reálná, jedna vysněná", "Tip: would se v if větě druhé podmínky neopakuje na obou stranách špatně. If I would have je chyba.",
|
|
{
|
|
"Napište situaci, která se může stát tento týden.",
|
|
"Pak situaci, která teď pravda není.",
|
|
"Would like není druhá podmínka. To je jen přání: I'd like a tea.",
|
|
"Krátký text ať má oba typy, ať je rozdíl vidět.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y2_l7_gaps[] = {
|
|
{"If it ___ (rain), we will stay in the tent.", "rains", "1. podmínka: přítomný čas v if."},
|
|
{"If I ___ (be) you, I would tell the truth.", "were|was", "Were je přesnější, was se taky slyší."},
|
|
{"She would travel more if she ___ (have) time.", "had", "2. podmínka: minulý tvar."},
|
|
{"We'll be late ___ we hurry.", "unless", "Unless = if not."},
|
|
};
|
|
|
|
static const char *en_y2_l7_write[] = {
|
|
"Write at least 35 words. Include one real plan with if and will, and one unreal dream with would. Use the word if twice.",
|
|
"If I finish my project tonight, I will go climbing with Eva on Saturday. We will take the early bus if the weather is fine. If I had more free time, I would learn the guitar. I would also travel by night train if tickets were cheaper. If is a small word with two very different lives.",
|
|
"if|will|would",
|
|
"35",
|
|
};
|
|
|
|
static const NetSlide en_y2_l8_slides[] = {
|
|
{
|
|
"1 / 2 • B1", "Co už má držet pohromadě", "Tip: u předpřítomného času hledejte ever, yet, since. U minulého yesterday a rok.",
|
|
{
|
|
"Stupňování, past continuous, modální slovesa rady a povinnosti.",
|
|
"Present perfect proti past simple.",
|
|
"Who a which, too a enough, první a druhá podmínka.",
|
|
"Psaní: krátký souvislý názor, ne odrážkový seznam.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Strategie", "Jedna věta navíc", "Tip: v psaní ať je důvod. Because nebo so text zvedne.",
|
|
{
|
|
"U čtení škrtněte odpověď, která v textu vůbec není.",
|
|
"U poslechu si čísla zapište číslicí.",
|
|
"Mustn't není don't have to.",
|
|
"If I would have time je chyba. If I had time, I would…",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y2_l8_read = "The night bus to Brno is cheaper than the train, but it is also slower. Last Friday I was sleeping when the driver stopped at a dark petrol station. A woman who had missed her connection asked if she could sit next to me. She has travelled this route since March because her new job starts at six. If the bus is late, she has to run. She says she would move closer if flats were cheaper.";
|
|
|
|
static const ChoiceQ en_y2_l8_readq[] = {
|
|
{"The bus is ___ than the train.", {"faster and cheaper", "cheaper and slower", "the best", "as fast"}, 4, 1},
|
|
{"What was the writer doing when the bus stopped?", {"Reading", "Sleeping", "Running", "Driving"}, 4, 1},
|
|
{"Why has the woman travelled this route since March?", {"She likes petrol stations", "Her job starts early", "Flats are cheap", "She missed a concert"}, 4, 1},
|
|
};
|
|
static const char *en_y2_l8_readq_hints[] = {
|
|
"cheaper, but slower.",
|
|
"I was sleeping when the driver stopped.",
|
|
"her new job starts at six.",
|
|
};
|
|
|
|
static const char *en_y2_l8_listen = "Doctor: How long have you had this cough? Adam: Since Sunday. I have also had a sore throat for two days. Doctor: You should rest and drink water. You don't have to stay in bed all day, but you mustn't play football this week. If you still feel ill on Friday, come back.";
|
|
|
|
static const ChoiceQ en_y2_l8_listenq[] = {
|
|
{"Since when has Adam had the cough?", {"Since Friday", "Since Sunday", "For a month", "Since March"}, 4, 1},
|
|
{"What mustn't he do?", {"Drink water", "Rest", "Play football", "Come back"}, 4, 2},
|
|
{"When should he come back?", {"If he is still ill on Friday", "Every day", "Never", "On Sunday morning"}, 4, 0},
|
|
};
|
|
static const char *en_y2_l8_listenq_hints[] = {
|
|
"Since Sunday.",
|
|
"mustn't play football.",
|
|
"If you still feel ill on Friday.",
|
|
};
|
|
|
|
static const char *en_y2_l8_write[] = {
|
|
"Write at least 35 words about a trip or a job you would like. Use would and because.",
|
|
"I would like to work in a small bookshop by the station because I love quiet mornings. I would talk to customers and I would also read in the breaks. If I had the job, I would cycle there. I have never worked in a shop, but I have helped at school events.",
|
|
"would|because",
|
|
"35",
|
|
};
|
|
|
|
static const ChoiceQ en_y2_l8_quiz[] = {
|
|
{"This hostel is ___ than the hotel.", {"cheaper", "more cheap", "the cheapest", "cheap"}, 4, 0},
|
|
{"I have lived here ___ 2020.", {"for", "since", "ago", "during"}, 4, 1},
|
|
{"You ___ wear a helmet. It's the law.", {"must to", "have to", "don't have", "should to"}, 4, 1},
|
|
{"If I ___ richer, I would take the train.", {"am", "will be", "were", "would be"}, 4, 2},
|
|
};
|
|
static const char *en_y2_l8_quiz_hints[] = {
|
|
"cheap → cheaper.",
|
|
"Since + bod v čase.",
|
|
"Pravidlo: have to.",
|
|
"2. podmínka: were.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l1_slides[] = {
|
|
{
|
|
"1 / 2 • Passive", "Když je důležitější děj než původce", "Tip: be + příčestí. Čas nese sloveso be, ne příčestí.",
|
|
{
|
|
"English is spoken here. The window was broken last night.",
|
|
"Původce s by, jen když na něm záleží: The book was written by a nurse.",
|
|
"Modální trpný rod: The form must be signed. It can be recycled.",
|
|
"Nelze trpně vyjádřit každé sloveso. Happen trpný rod nemá.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Popis procesu", "Od suroviny k věci", "Tip: first, then, after that, finally. Původce často chybí, protože je obecný.",
|
|
{
|
|
"The beans are picked by hand. They are dried in the sun.",
|
|
"The jars were labelled yesterday.",
|
|
"Waste paper is collected every Thursday.",
|
|
"A new bridge is being built. To už je průběhový trpný rod, zatím stačí ho poznat.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y3_l1_gaps[] = {
|
|
{"This bread ___ (bake) every morning.", "is baked", "Přítomný trpný rod."},
|
|
{"The letters ___ (send) yesterday.", "were sent", "Minulý trpný rod, množné číslo."},
|
|
{"The poem ___ (write) by a student.", "was written", "Write → written."},
|
|
{"These bottles can ___ (recycle).", "be recycled", "Modální sloveso + be + příčestí."},
|
|
{"The window ___ (not break) by the wind. Someone hit it.", "wasn't broken|was not broken", "Zápor minulého trpného rodu."},
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l1_quiz[] = {
|
|
{"Which sentence is passive?", {"Someone stole my bike.", "My bike was stolen.", "My bike stole.", "Someone was steal my bike."}, 4, 1},
|
|
{"The news ___ at ten.", {"is reading", "are read", "is read", "read"}, 4, 2},
|
|
{"You ___ wear a badge. The factory requires it, in the passive of must.", {"must be worn a badge", "A badge must be worn", "A badge must worn", "A badge is must wear"}, 4, 1},
|
|
{"They built the school in 1998. → The school ___ in 1998.", {"built", "was built", "was build", "has built"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l1_quiz_hints[] = {
|
|
"was + stolen.",
|
|
"News je jednotné: is read.",
|
|
"A badge must be worn.",
|
|
"was built.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l2_slides[] = {
|
|
{
|
|
"1 / 2 • Reported speech", "Posun času", "Tip: said that, told me that. Tell potřebuje osobu, say ne.",
|
|
{
|
|
"„I am tired.“ → She said she was tired.",
|
|
"„I will help.“ → He said he would help.",
|
|
"„I have finished.“ → She told me she had finished.",
|
|
"„I can't come.“ → He said he couldn't come.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Kdy čas neposouvat", "Pořád to platí", "Tip: obecné pravdy a situace, které trvají, často zůstávají v přítomném čase.",
|
|
{
|
|
"The teacher said that water boils at 100 degrees.",
|
|
"She said she lives in Kolín, a pořád tam bydlí.",
|
|
"Zájmena se mění podle smyslu: „my book“ → he said his book.",
|
|
"Today → that day, tomorrow → the next day, yesterday → the day before. V testu to bude jen u jasných vět.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l2_read = "Our head teacher told the local paper that the school was changing. She said that students would start an hour later next term. One pupil told the reporter that he was pleased because he hated early buses. A parent said that she was worried. She said her daughter had joined three clubs and had very little time. The cook said that lunch would still be at noon. He added that the menu was going to include more vegetables.";
|
|
|
|
static const ChoiceQ en_y3_l2_readq[] = {
|
|
{"What did the head teacher say about the start of school?", {"It would start an hour later", "It would start at night", "It had already closed", "Clubs would end"}, 4, 0},
|
|
{"Why was the pupil pleased?", {"He liked buses", "He hated early buses", "He wanted less lunch", "He had three clubs"}, 4, 1},
|
|
{"What had the daughter done?", {"She had left school", "She had joined three clubs", "She had become a cook", "She had bought a bus"}, 4, 1},
|
|
{"Lunch, according to the cook, …", {"would move to the evening", "would still be at noon", "had been cancelled", "was only vegetables"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l2_readq_hints[] = {
|
|
"students would start an hour later.",
|
|
"because he hated early buses.",
|
|
"had joined three clubs.",
|
|
"would still be at noon.",
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l2_quiz[] = {
|
|
{"„I am hungry.“ → She said she ___ hungry.", {"is", "was", "has", "were be"}, 4, 1},
|
|
{"„I will call.“ → He said he ___ call.", {"will", "would", "called", "has"}, 4, 1},
|
|
{"Which verb needs a person?", {"say", "tell", "speak that", "talk that"}, 4, 1},
|
|
{"She said, „I can't swim.“ → She said she ___.", {"can't swim", "couldn't swim", "doesn't swim", "hasn't swum"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l2_quiz_hints[] = {
|
|
"am → was.",
|
|
"will → would.",
|
|
"tell somebody.",
|
|
"can → could. V nepřímé řeči o minulém rozhovoru.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l3_slides[] = {
|
|
{
|
|
"1 / 2 • Prostředí", "Konkrétní slova, ne jen nature", "Tip: drought, soil, volunteer, ban, shortcut. U maturitního tématu zabírají víc než slovo pollution samo.",
|
|
{
|
|
"A drought is a long time without rain. Soil is the earth plants grow in.",
|
|
"Unless it rains, the young trees will die.",
|
|
"If the town banned cars, the air would be cleaner. Teď je nezakázalo, proto would.",
|
|
"If people keep using the road, the soil will wash away. To se může stát.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Podcast", "Kdo co řekl", "Tip: u nepřímé řeči v poslechu si pamatujte sloveso řekl/řekla a pak obsah.",
|
|
{
|
|
"Ranger = strážce lesa.",
|
|
"Young trees were planted, but many may still die.",
|
|
"A shortcut šetří čas a někdy ničí místo.",
|
|
"Čísla si zapište: two thousand.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l3_listen = "Last month our class recorded a podcast called The Last Beech. A ranger said that the trees were thirsty because the summers had become hotter. She told us that volunteers had planted two thousand young trees, but she added that many would die unless it rained. If the town banned cars from the forest road, the air would be cleaner. If people keep using it as a shortcut, the soil will wash away.";
|
|
|
|
static const ChoiceQ en_y3_l3_listenq[] = {
|
|
{"What did the ranger say about the trees?", {"They were thirsty", "They had been cut down", "They were a shortcut", "They banned cars"}, 4, 0},
|
|
{"How many young trees had volunteers planted?", {"Two hundred", "Two thousand", "Twenty", "None"}, 4, 1},
|
|
{"The young trees will die unless…", {"people drive there", "it rains", "the podcast ends", "the soil is sold"}, 4, 1},
|
|
{"What would make the air cleaner?", {"Banning cars from the forest road", "Using the road as a shortcut", "Cutting the beeches", "Washing the soil"}, 4, 0},
|
|
};
|
|
static const char *en_y3_l3_listenq_hints[] = {
|
|
"the trees were thirsty.",
|
|
"two thousand.",
|
|
"unless it rained / unless it rains. V textu: unless it rained v nepřímé řeči.",
|
|
"If the town banned cars.",
|
|
};
|
|
|
|
static const TypedQ en_y3_l3_gaps[] = {
|
|
{"If we ___ (ban) cars here, the air would be cleaner.", "banned", "2. podmínka."},
|
|
{"The soil will wash away ___ people stop using the shortcut.", "unless", "Unless = if not. Pozor: věta chce if not ve významu dokud nepřestanou. Unless people stop = if they don't stop."},
|
|
{"Many young trees ___ (plant) last month.", "were planted", "Minulý trpný rod."},
|
|
{"She said the summers ___ (become) hotter.", "had become", "Posun předpřítomného času."},
|
|
};
|
|
|
|
static const NetSlide en_y3_l4_slides[] = {
|
|
{
|
|
"1 / 2 • Čtyři kroky", "Úvod, dvě strany, závěr", "Tip: v úvodu otázku neopakujte doslova. Převeďte ji vlastními slovy.",
|
|
{
|
|
"Úvod: o čem text je a že existují dva pohledy.",
|
|
"Jeden odstavec pro výhody, jeden pro nevýhody.",
|
|
"On the one hand … On the other hand …",
|
|
"Závěr: váš názor. In my opinion, I believe. Nepřidávejte úplně nový argument.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Spojky", "However není because", "Tip: however stojí mezi větami a odděluje se čárkou. Although spojuje věty v jednu.",
|
|
{
|
|
"School uniforms are cheaper. However, they limit personality.",
|
|
"Although uniforms save time, many students hate them.",
|
|
"Because dává důvod. So dává výsledek.",
|
|
"In conclusion shrnuje. Nepíše se In the conclusion.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l4_write[] = {
|
|
"Write a for-and-against paragraph of at least 50 words about school uniforms. Use however and because, and finish with your opinion using believe.",
|
|
"School uniforms are a common argument. They are practical because students do not have to decide what to wear, and families spend less money. However, a uniform hides personality and can feel childish at eighteen. Although it makes mornings faster, it does not make lessons better. I believe schools should keep a simple dress code, but they should not force one jacket on everyone.",
|
|
"however|because|believe",
|
|
"50",
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l4_quiz[] = {
|
|
{"Which linker shows contrast?", {"because", "however", "so", "for example"}, 4, 1},
|
|
{"___ uniforms save time, students still complain.", {"However", "Although", "So", "Believe"}, 4, 1},
|
|
{"Choose the best ending of an essay.", {"In conclusion, I have no idea.", "In conclusion, I believe a simple rule is enough.", "Because however so.", "To begin with, the essay starts now."}, 4, 1},
|
|
{"Because introduces…", {"a result only", "a reason", "a list of names", "a question"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l4_quiz_hints[] = {
|
|
"However staví protiklad.",
|
|
"Although spojuje dvě části jedné věty.",
|
|
"Závěr má názor, ne nový zmatek.",
|
|
"Because = důvod.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l5_slides[] = {
|
|
{
|
|
"1 / 2 • Dedukce", "Jisté, možné, vyloučené", "Tip: must je skoro jistota, might je možnost, can't je „to přece nejde“.",
|
|
{
|
|
"The lights are on. She must be at home.",
|
|
"He might be in the lab. I'm not sure.",
|
|
"That can't be Eva. Eva is in Vienna this week.",
|
|
"O minulosti: must have left, might have forgotten, can't have seen it.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Vynález", "Čtěte důkazy, ne nadpis", "Tip: u must have hledejte důkaz, který už nejde rozumně popřít.",
|
|
{
|
|
"A notebook with today's date is stronger than a guess.",
|
|
"Can't have znamená, že to odporuje faktu.",
|
|
"Might have nechává dvě možnosti otevřené.",
|
|
"Nepoužívejte can pro dedukci v kladné větě. Can umí, must musí být.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l5_read = "Someone left a strange machine in the physics lab. It was warm, so it must have been switched on recently. The only key can't have been used by the caretaker, because he is in hospital. Two students, Nora and Adam, know the code. Nora might have come back after the club, but her train ticket shows she was in Pardubice. Adam's notebook is on the bench and the handwriting matches the label. He must have built it.";
|
|
|
|
static const ChoiceQ en_y3_l5_readq[] = {
|
|
{"Why must the machine have been on recently?", {"It was noisy", "It was warm", "It was new", "It was labelled"}, 4, 1},
|
|
{"Why can't the caretaker have used the key?", {"He lost it", "He is in hospital", "He hates physics", "He was in Pardubice"}, 4, 1},
|
|
{"Where was Nora?", {"In the lab", "In Pardubice", "In hospital", "On the bench"}, 4, 1},
|
|
{"Who must have built the machine?", {"The caretaker", "Nora", "Adam", "Nobody"}, 4, 2},
|
|
};
|
|
static const char *en_y3_l5_readq_hints[] = {
|
|
"It was warm.",
|
|
"he is in hospital.",
|
|
"her ticket shows Pardubice.",
|
|
"The notebook and the handwriting point to Adam.",
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l5_quiz[] = {
|
|
{"The window is broken and his bag is gone. He ___ left in a hurry.", {"must have", "must", "can have", "should"}, 4, 0},
|
|
{"That ___ be Lea. Lea is abroad.", {"must", "can't", "should", "is"}, 4, 1},
|
|
{"I'm not sure. They ___ have missed the bus.", {"must", "can't", "might", "are"}, 4, 2},
|
|
{"Which sentence is a deduction, not a duty?", {"You must wear gloves.", "She must be tired.", "You must sign this.", "Visitors must wait."}, 4, 1},
|
|
};
|
|
static const char *en_y3_l5_quiz_hints[] = {
|
|
"Minulá skoro jistota: must have left.",
|
|
"Odporuje faktu: can't.",
|
|
"Možnost: might have.",
|
|
"She must be tired je úsudek.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l6_slides[] = {
|
|
{
|
|
"1 / 2 • Reported questions", "Otázka se v nepřímé řeči narovná", "Tip: žádný otazník a pořadí podmětu a slovesa jako v oznamovací větě.",
|
|
{
|
|
"„Where do you live?“ → She asked me where I lived.",
|
|
"„Did you see it?“ → He asked if I had seen it.",
|
|
"Whether a if jsou u zjišťovacích otázek obě možné.",
|
|
"Tázací výraz zůstává: what, where, why, how long.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Redakce", "Novinář se ptá starosty", "Tip: v poslechu odlište otázku reportéra od odpovědi starosty.",
|
|
{
|
|
"Asked if the bridge was safe.",
|
|
"Wondered how long the repairs would take.",
|
|
"The mayor said he didn't know yet.",
|
|
"Slovesa ask, wonder, want to know.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l6_listen = "Reporter: Mayor, is the old bridge safe? Mayor: I can't promise that. An engineer told me that two cables were weak. Reporter: How long will the repairs take? Mayor: She asked the firm the same question yesterday. They said they didn't know yet. Reporter: Did anyone complain? Mayor: A shopkeeper asked me why the bus stop had moved. I asked her if she could wait until Friday. Reporter: Will you close the bridge? Mayor: We might. I have asked the police whether they can send officers tonight.";
|
|
|
|
static const ChoiceQ en_y3_l6_listenq[] = {
|
|
{"What did the engineer tell the mayor?", {"The bridge was new", "Two cables were weak", "The shop was closed", "Friday was impossible"}, 4, 1},
|
|
{"What didn't the firm know?", {"The mayor's name", "How long the repairs would take", "Where the bus stop was", "Who the police were"}, 4, 1},
|
|
{"What did the shopkeeper ask?", {"Why the bus stop had moved", "If the mayor could swim", "Where the cables were made", "Whether Friday was a holiday"}, 4, 0},
|
|
{"Who might come tonight?", {"The firm", "The shopkeeper", "Police officers", "The engineer only"}, 4, 2},
|
|
};
|
|
static const char *en_y3_l6_listenq_hints[] = {
|
|
"two cables were weak.",
|
|
"They said they didn't know yet. Šlo o délku oprav.",
|
|
"why the bus stop had moved.",
|
|
"whether they can send officers tonight.",
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l6_quiz[] = {
|
|
{"„Where do you live?“ → He asked me where I ___.", {"did live", "lived", "do live", "living"}, 4, 1},
|
|
{"„Are you ready?“ → She asked if I ___.", {"was ready", "am I ready", "ready was", "did ready"}, 4, 0},
|
|
{"Which sentence is wrong?", {"He asked where she was.", "He asked where was she.", "He asked if she was tired.", "He wanted to know why she had left."}, 4, 1},
|
|
{"Whether means about the same as…", {"because", "if", "however", "whose"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l6_quiz_hints[] = {
|
|
"Pořadí oznamovací věty: where I lived.",
|
|
"if I was ready.",
|
|
"V nepřímé otázce není inverze.",
|
|
"Whether ≈ if v nepřímé zjišťovací otázce.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l7_slides[] = {
|
|
{
|
|
"1 / 2 • Částice mění význam", "Look není look after", "Tip: frázové sloveso se učte jako jednu jednotku, s českým protějškem ve větě.",
|
|
{
|
|
"look after = starat se, look for = hledat, look forward to = těšit se.",
|
|
"give up = vzdát se, find out = zjistit, run out of = dojít zásoba.",
|
|
"turn off = vypnout, take off = sundat nebo vzlétnout, get on = nastoupit i vycházet.",
|
|
"Look forward to je následované -ing: I look forward to seeing you.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Příběh", "Jedno sloveso, jedna situace", "Tip: když částici neznáte, představte si gesto. Off je pryč, up je do konce.",
|
|
{
|
|
"The bus took off není o oblečení. U letadla ano, u autobusu spíš pulled away.",
|
|
"Take off a coat = sundat. Take off = vzlétnout. Kontext rozhoduje.",
|
|
"Get on with somebody = vycházet s někým.",
|
|
"Run out of time je u testu častější než run out time.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y3_l7_gaps[] = {
|
|
{"Can you look ___ my dog this weekend?", "after", "Look after = postarat se."},
|
|
{"We are looking ___ to the trip.", "forward", "Look forward to."},
|
|
{"Don't give ___. The last chapter is the best.", "up", "Give up = vzdát to."},
|
|
{"I need to find ___ who left the note.", "out", "Find out = zjistit."},
|
|
{"We've run ___ of milk.", "out", "Run out of."},
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l7_quiz[] = {
|
|
{"Please turn ___ the lights.", {"off", "after", "forward", "out of"}, 4, 0},
|
|
{"She gets ___ well with her neighbours.", {"on", "off", "up", "after"}, 4, 0},
|
|
{"He took ___ his wet coat.", {"off", "up to", "after", "forward"}, 4, 0},
|
|
{"I look forward to ___ you.", {"see", "seeing", "saw", "seen"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l7_quiz_hints[] = {
|
|
"Turn off = vypnout.",
|
|
"Get on with = vycházet.",
|
|
"Sundat: take off.",
|
|
"To je předložka, následuje -ing.",
|
|
};
|
|
|
|
static const NetSlide en_y3_l8_slides[] = {
|
|
{
|
|
"1 / 2 • B1+", "Trpný rod, řeč, podmínky, dedukce", "Tip: u trpného rodu hledejte be. U nepřímé otázky žádnou inverzi.",
|
|
{
|
|
"was written, must be signed, is spoken.",
|
|
"said she would, asked where I lived.",
|
|
"If they banned cars, the air would be cleaner.",
|
|
"must have, might have, can't have.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Úvaha ve zkratce", "However a because v jednom textu", "Tip: jedna výhoda, jeden háček, jedna věta s názorem.",
|
|
{
|
|
"Neopakujte zadání první větou.",
|
|
"Phrasal verbs nechte ve správné částici. Look after není look for.",
|
|
"Told me, ne said me.",
|
|
"In conclusion je až na konci, ne v úvodu.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y3_l8_read = "A repair café opened in a former bakery. Broken radios are mended there on Saturdays. The founder said that people would rather repair than buy if they were shown how. She told a reporter that twenty kettles had been saved in March. Visitors have to bring the broken object, but they don't have to pay. If the café closed, a lot of working parts would be thrown away.";
|
|
|
|
static const ChoiceQ en_y3_l8_readq[] = {
|
|
{"What happens to radios there?", {"They are sold", "They are mended", "They are banned", "They are thrown away at once"}, 4, 1},
|
|
{"How many kettles had been saved in March?", {"Twelve", "Twenty", "Two thousand", "None"}, 4, 1},
|
|
{"What would happen if the café closed?", {"Parts would be thrown away", "Radios would be cheaper", "People would pay more", "The bakery would reopen as a shop"}, 4, 0},
|
|
};
|
|
static const char *en_y3_l8_readq_hints[] = {
|
|
"are mended.",
|
|
"twenty kettles.",
|
|
"working parts would be thrown away.",
|
|
};
|
|
|
|
static const char *en_y3_l8_listen = "Editor: Did the mayor answer you? Journalist: I asked him whether the bridge was safe. He said he didn't know. I also asked how long the repairs would take. He told me that the firm hadn't decided. A resident asked me why the paper hadn't printed a map. I said we would print one tomorrow.";
|
|
|
|
static const ChoiceQ en_y3_l8_listenq[] = {
|
|
{"What did the journalist ask about safety?", {"Whether the bridge was safe", "If the paper was closed", "Where the mayor lived", "Why kettles break"}, 4, 0},
|
|
{"What hadn't the firm done?", {"Decided", "Printed a map", "Closed the paper", "Asked the resident"}, 4, 0},
|
|
{"What did the journalist promise?", {"To close the bridge", "To print a map tomorrow", "To repair the cables", "To interview a baker"}, 4, 1},
|
|
};
|
|
static const char *en_y3_l8_listenq_hints[] = {
|
|
"whether the bridge was safe.",
|
|
"hadn't decided.",
|
|
"we would print one tomorrow.",
|
|
};
|
|
|
|
static const char *en_y3_l8_write[] = {
|
|
"In at least 40 words, give one reason for repairing things and one objection. Use because and however.",
|
|
"Repairing things matters because a kettle can work for years after a small fix. However, some people do not have the tools or the time, so a café where volunteers help is a fair idea. I believe every town should have one quiet room for broken objects. It is slower than shopping, but it is kinder.",
|
|
"because|however",
|
|
"40",
|
|
};
|
|
|
|
static const ChoiceQ en_y3_l8_quiz[] = {
|
|
{"The cake ___ by a student.", {"baked", "was baked", "was bake", "has bake"}, 4, 1},
|
|
{"She asked me where I ___.", {"did live", "lived", "do live", "living"}, 4, 1},
|
|
{"He ___ be at school. I just saw him there.", {"can't", "must", "mustn't", "should to"}, 4, 1},
|
|
{"Please look ___ the tickets. I can't find them.", {"for", "forward", "after", "up of"}, 4, 0},
|
|
};
|
|
static const char *en_y3_l8_quiz_hints[] = {
|
|
"was baked.",
|
|
"where I lived.",
|
|
"Skoro jistota: must.",
|
|
"Look for = hledat. Look after by bylo hlídat.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l1_slides[] = {
|
|
{
|
|
"1 / 2 • Ústní zkouška", "Čtyři minuty nejsou román", "Tip: katalog CERMAT chce souvislý projev, popis obrázku, porovnání a reakci na otázky. Ne seznam slov.",
|
|
{
|
|
"Úvod jednou větou: I'd like to talk about my town, which is smaller than it looks.",
|
|
"Obecné plus osobní: Many people commute. I cycle, because the centre is close.",
|
|
"Když slovo chybí, opis: the thing you use to open a tin.",
|
|
"Na obrázku: In the foreground, in the background, it looks as if.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Kolokace", "Make, do, have, take", "Tip: české „dělat“ se rozpadá. Do homework, make a mistake, take a photo, have a rest.",
|
|
{
|
|
"Make a decision, make friends, make the bed.",
|
|
"Do the washing-up, do a course, do someone a favour.",
|
|
"Take part in, take care of, take an exam.",
|
|
"Have a look, have a word with, have trouble with.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y4_l1_gaps[] = {
|
|
{"I need to ___ a decision before Friday.", "make", "Make a decision."},
|
|
{"She ___ her homework on the train.", "does|did", "Do homework."},
|
|
{"Can I ___ a photo of the bridge?", "take", "Take a photo."},
|
|
{"Let's ___ a rest. We've walked for hours.", "have", "Have a rest."},
|
|
{"He ___ part in the school play every year.", "takes|took", "Take part in."},
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l1_quiz[] = {
|
|
{"You don't know the word kettle. What helps?", {"Stop the exam", "Paraphrase it", "Switch to Czech for the rest", "Invent a Latin word and insist"}, 4, 1},
|
|
{"In the foreground means…", {"at the back", "at the front of the picture", "outside the frame", "in the past"}, 4, 1},
|
|
{"Which collocation is right?", {"do a mistake", "make a mistake", "take a mistake", "have a mistake"}, 4, 1},
|
|
{"A strong speaking answer…", {"is a list of single words", "adds a personal example", "translates the question", "avoids all verbs"}, 4, 1},
|
|
};
|
|
static const char *en_y4_l1_quiz_hints[] = {
|
|
"Opis je lepší než ticho.",
|
|
"Foreground = popředí.",
|
|
"Make a mistake.",
|
|
"Obecné plus vlastní příklad.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l2_slides[] = {
|
|
{
|
|
"1 / 2 • Kostra", "Komu, proč, co chcete, jak se loučíte", "Tip: neznámé jméno → Dear Sir or Madam a Yours faithfully. Známé jméno → Dear Ms Novák a Yours sincerely.",
|
|
{
|
|
"I am writing to apply for… / to complain about…",
|
|
"I would be grateful if you could…",
|
|
"Kontrakce v čistě formálním textu omezte: I am, not I'm.",
|
|
"Na konci celé jméno. Žádné Cheers ani xoxo.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Stížnost", "Fakta, dopad, žádost", "Tip: zlost text oslabuje. Datum, číslo spoje a klidná žádost ho posílí.",
|
|
{
|
|
"The train on 3 May, which I had booked, arrived 90 minutes late.",
|
|
"As a result I missed the interview.",
|
|
"I would like a refund or an explanation.",
|
|
"I look forward to your reply.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y4_l2_write[] = {
|
|
"Write a formal email of at least 55 words to a railway company. Complain about a delay. Start with Dear, use would, and end with sincerely or faithfully.",
|
|
"Dear Sir or Madam, I am writing to complain about the night train to Berlin on 3 May. It arrived ninety minutes late, so I missed a morning interview. I would be grateful if you could explain the delay and offer a refund. I have attached my ticket. Please reply to this address. Yours faithfully, Tereza Malá.",
|
|
"dear|would|faithfully",
|
|
"55",
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l2_quiz[] = {
|
|
{"You do not know the person's name. You end with…", {"Yours faithfully", "Yours sincerely", "Cheers", "Love"}, 4, 0},
|
|
{"Dear Ms Novák, … ___", {"Yours faithfully", "Yours sincerely", "Hi again", "Bye"}, 4, 1},
|
|
{"Which opening is formal?", {"Hey!!!", "I am writing to apply for the post.", "I wanna the job.", "What's up"}, 4, 1},
|
|
{"A formal request sounds like…", {"Give me a refund now.", "I would be grateful if you could look into this.", "You guys messed up.", "Send money pls."}, 4, 1},
|
|
};
|
|
static const char *en_y4_l2_quiz_hints[] = {
|
|
"Neznámé jméno: faithfully. Po Dear Sir or Madam.",
|
|
"Jméno znáte: sincerely.",
|
|
"I am writing to…",
|
|
"I would be grateful if you could…",
|
|
};
|
|
|
|
static const NetSlide en_y4_l3_slides[] = {
|
|
{
|
|
"1 / 2 • Čtení u maturity", "Nečtěte každé slovo stejně pomalu", "Tip: u výběru ze čtyř možností nejdřív zjistěte, na co se otázka ptá, a teprve pak hledejte odstavec.",
|
|
{
|
|
"Hlavní myšlenka bývá v úvodu nebo v závěru, ne v jednom příkladu.",
|
|
"Distraktor často opakuje slovo z textu, ale v jiném vztahu.",
|
|
"Which surprises… uvádí postoj, ne jen fakt o ceně.",
|
|
"Not given v tomhle cvičení není. Jedna možnost je opřená o text.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Slovník z kontextu", "Boarding gate a carriage", "Tip: neznámé slovo ohraničte větou před ním a za ním.",
|
|
{
|
|
"A boarding gate je letištní východ k letadlu. Text ho staví proti posteli ve vlaku.",
|
|
"A carriage je vůz vlaku.",
|
|
"Demand = poptávka. If demand stays high, přidají vozy.",
|
|
"Deleted journey by byl let, který člověk chce mít co nejkratší.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y4_l3_read = "When the night train from Prague to Berlin returned last spring, stations filled with people who prefer a bed to a boarding gate. A single ticket is often more expensive than a flight, which surprises anyone who thinks trains are always the cheap choice. Still, passengers say they arrive calmer. They can read, talk and avoid the bright shops of an airport. Critics point out that a delay of two hours is common and that the cabins are small. The railway has promised that new carriages will be added if demand stays high. A student I spoke to had taken the train three times. She said she would fly only if she missed the evening departure. For her, the journey is part of the trip, not a problem to be deleted.";
|
|
|
|
static const ChoiceQ en_y4_l3_readq[] = {
|
|
{"What is the main point?", {"Flights have been cancelled", "Some people choose the night train even when it costs more", "Berlin has closed its station", "Students may not travel"}, 4, 1},
|
|
{"What surprises some readers?", {"That a train ticket can cost more than a flight", "That stations are empty", "That nobody reads", "That the train is free"}, 4, 0},
|
|
{"What do critics mention?", {"Free meals", "Delays and small cabins", "Too many books", "A lack of stations"}, 4, 1},
|
|
{"The student would fly only if…", {"the ticket was cheap", "she missed the evening departure", "the cabins were small", "she hated reading"}, 4, 1},
|
|
{"New carriages will be added if…", {"critics agree", "demand stays high", "flights are banned", "students complain"}, 4, 1},
|
|
};
|
|
static const char *en_y4_l3_readq_hints[] = {
|
|
"Lístek bývá dražší než let, a přesto lidé vlak volí.",
|
|
"more expensive than a flight, which surprises…",
|
|
"a delay of two hours, cabins are small.",
|
|
"only if she missed the evening departure.",
|
|
"if demand stays high.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l4_slides[] = {
|
|
{
|
|
"1 / 2 • Poslech u maturity", "Dvě přehrání stačí, když víte co", "Tip: při prvním poslechu chyťte kostru, při druhém doplňte past, podmínku a zápor.",
|
|
{
|
|
"Otázky si přečtěte dřív. Podtrhněte tázací slovo.",
|
|
"Čísla a never/already mění význam celé věty.",
|
|
"Wouldn't force není couldn't.",
|
|
"I didn't give him any medicine je důležité právě proto, že je zápor.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Práce s dětmi", "Slovník pohovoru", "Tip: deal with an emergency, refuse, offer, look forward to.",
|
|
{
|
|
"For two years je délka, ne bod v čase.",
|
|
"A quieter task je alternativa, ne trest.",
|
|
"Although přiznává nevýhodu a názor nemění.",
|
|
"Boots jsou důkaz, že s deštěm počítá. Proto going to / already.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y4_l4_listen = "Interviewer: Why did you apply to the summer camp in Wales? Hana: I have worked with children for two years, and I wanted a job where English is the only language. Interviewer: What would you do if a child refused to join an activity? Hana: I wouldn't force them. I would ask why, and I might offer a quieter task. Interviewer: Have you ever dealt with an emergency? Hana: Yes. Last August a boy cut his foot. I cleaned the cut and called the nurse. I didn't give him any medicine. Interviewer: The camp is rainy. Is that a problem? Hana: Not really. I have already bought boots. I look forward to the hills, although I know the work will be tiring.";
|
|
|
|
static const ChoiceQ en_y4_l4_listenq[] = {
|
|
{"Why does Hana want the job?", {"She has never met children", "She wants a job where only English is spoken", "She hates hills", "She wants to sell boots"}, 4, 1},
|
|
{"How long has she worked with children?", {"For two weeks", "For two years", "Since last August only", "She hasn't"}, 4, 1},
|
|
{"What would she do if a child refused an activity?", {"Force them", "Send them home", "Ask why and maybe offer a quieter task", "Give them medicine"}, 4, 2},
|
|
{"What didn't she do in the emergency?", {"Clean the cut", "Call the nurse", "Give medicine", "Help the boy"}, 4, 2},
|
|
{"How does she feel about the rain?", {"She has already bought boots and still looks forward to the hills", "She will refuse the job", "She has never seen rain", "She hates children"}, 4, 0},
|
|
};
|
|
static const char *en_y4_l4_listenq_hints[] = {
|
|
"where English is the only language.",
|
|
"for two years.",
|
|
"I wouldn't force them. I might offer a quieter task.",
|
|
"I didn't give him any medicine.",
|
|
"already bought boots, look forward to the hills.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l5_slides[] = {
|
|
{
|
|
"1 / 2 • Názor", "Nejdřív stanovisko, pak důvody", "Tip: u názorové eseje čtenář nemá hádat, na čí straně jste. Řekněte to v úvodu.",
|
|
{
|
|
"I believe that… / In my opinion…",
|
|
"First reason, second reason, a short answer to the other side.",
|
|
"Although some people argue that…, I still think…",
|
|
"Závěr ať zní jako závěr, ne jako třetí nový důvod.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Rozsah", "Radši čtyři hutné věty než deset prázdných", "Tip: u písemné práce se počítají slova. Opakování zadání se nepočítá jako myšlenka.",
|
|
{
|
|
"Každý důvod ať má příklad z běžného života.",
|
|
"Nepoužívejte etc. Místo toho jedno konkrétní slovo.",
|
|
"Spojky: firstly, in addition, on the other hand, in conclusion.",
|
|
"Kontraktované tvary jsou v názorové eseji v pořádku, když text není stížnost úřadu.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y4_l5_write[] = {
|
|
"Write an opinion of at least 60 words: should students have a gap year before university? Use believe, although and in conclusion.",
|
|
"I believe a gap year can help, but only when it has a plan. Although some students waste the time, others work, travel or look after a relative and return calmer. A year in a job also shows whether a degree is really necessary. On the other hand, a long break can make it harder to study again. In conclusion, a gap year is useful if the person can explain what they will do with it.",
|
|
"believe|although|conclusion",
|
|
"60",
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l5_quiz[] = {
|
|
{"Where should your opinion appear in this kind of essay?", {"Only in a footnote", "In the introduction and again at the end", "Never", "Only in the title"}, 4, 1},
|
|
{"Although introduces…", {"a concession", "a list of books", "a greeting", "a date"}, 4, 0},
|
|
{"In conclusion should…", {"start a brand-new topic", "sum up", "replace the introduction", "ask the examiner a question"}, 4, 1},
|
|
{"Which is the best topic sentence?", {"Gap year gap year gap year.", "A gap year is worth it when it has a clear plan.", "Hello my name is and I will write.", "Etc. etc. etc."}, 4, 1},
|
|
};
|
|
static const char *en_y4_l5_quiz_hints[] = {
|
|
"Úvod i závěr.",
|
|
"Ústupka: something true that does not win.",
|
|
"Shrnutí.",
|
|
"Věta, která už nese názor.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l6_slides[] = {
|
|
{
|
|
"1 / 2 • Okruhy", "Ne izolovaná slovíčka", "Tip: ústní zkouška sahá na osobu, rodinu, domov, školu, volný čas, kulturu, sport, cestování, zdraví, jídlo, služby, práci, společnost a přírodu.",
|
|
{
|
|
"Heavy rain, strong coffee, fast food, junk food. Ne strong rain.",
|
|
"A balanced diet, processed food, a food allergy.",
|
|
"Public transport, rush hour, a traffic jam, a return ticket.",
|
|
"Renewable energy, a carbon footprint, a heatwave, a drought.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Společnost a práce", "Fráze, které unesou odstavec", "Tip: apply for a job, hand in a notice, earn a living, from home.",
|
|
{
|
|
"A gap year, an apprenticeship, a degree, tuition fees.",
|
|
"Freedom of speech, a stereotype, volunteer work.",
|
|
"Break the law, pay a fine, a witness.",
|
|
"Mental health, a check-up, be in pain. Ne have pain in the leg jako jediná možnost: My leg hurts.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y4_l6_gaps[] = {
|
|
{"There was heavy ___ all night.", "rain", "Heavy rain, ne strong rain."},
|
|
{"I'd like a ___ ticket to Brno.", "return", "Return ticket = zpáteční."},
|
|
{"She applied ___ the post of guide.", "for", "Apply for."},
|
|
{"Solar power is ___ energy.", "renewable", "Renewable energy."},
|
|
{"He has a nut ___, so he can't eat the cake.", "allergy", "A food allergy."},
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l6_quiz[] = {
|
|
{"Which pair is right?", {"strong rain / heavy coffee", "heavy rain / strong coffee", "fast coffee / junk rain", "a traffic diet"}, 4, 1},
|
|
{"Rush hour is…", {"a quiet morning", "the busiest time to travel", "a kind of ticket", "a school subject"}, 4, 1},
|
|
{"An apprenticeship is…", {"a fine", "training for a job", "a heatwave", "a stereotype"}, 4, 1},
|
|
{"My leg ___.", {"hurts", "is pain", "has hurted", "does hurtness"}, 4, 0},
|
|
};
|
|
static const char *en_y4_l6_quiz_hints[] = {
|
|
"Heavy rain, strong coffee.",
|
|
"Špička.",
|
|
"Praktická příprava na řemeslo nebo práci.",
|
|
"My leg hurts.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l7_slides[] = {
|
|
{
|
|
"1 / 2 • Články a časy", "To, co se v testu sype", "Tip: the night train, a night train, night trains. Člen podle toho, jestli čtenář ví který.",
|
|
{
|
|
"I have lived here since May. I lived there in 2018.",
|
|
"If I were you, I would wait. If it rains, we will wait.",
|
|
"The book was written in 1962. People speak English here → English is spoken here.",
|
|
"Used to: I used to walk. Zvyk, který už neplatí. Didn't use to.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Věta", "Slovosled a shoda", "Tip: never dávejte před sloveso, ale za am/is/are: She is never late. She never arrives late.",
|
|
{
|
|
"A little time, a few minutes. Much v záporu a otázce, a lot of v kladné větě je bezpečné.",
|
|
"Suggest + -ing nebo suggest that. Suggest me to go je chyba.",
|
|
"Enjoy, avoid, mind, can't help + -ing.",
|
|
"Want, decide, promise, hope + to.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const TypedQ en_y4_l7_gaps[] = {
|
|
{"I ___ (live) in this flat since May.", "have lived|'ve lived", "Since → present perfect."},
|
|
{"She suggested ___ (take) the night train.", "taking", "Suggest + -ing."},
|
|
{"If I ___ you, I would book earlier.", "were|was", "If I were you."},
|
|
{"These letters must ___ (sign) today.", "be signed", "Must be + příčestí."},
|
|
{"I ___ to get up at five. I don't anymore.", "used", "Used to."},
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l7_quiz[] = {
|
|
{"She enjoys ___.", {"to swim", "swimming", "swim", "swam"}, 4, 1},
|
|
{"I have ___ finished.", {"yet", "just", "since", "ago"}, 4, 1},
|
|
{"English ___ all over the building.", {"speaks", "is spoken", "is spoke", "speak"}, 4, 1},
|
|
{"There isn't ___ time.", {"many", "much", "a few", "several"}, 4, 1},
|
|
{"He asked me where ___.", {"did I live", "I lived", "do I lived", "lived I"}, 4, 1},
|
|
{"You ___ shout. The baby is asleep. It is forbidden.", {"don't have to", "mustn't", "might", "used to"}, 4, 1},
|
|
};
|
|
static const char *en_y4_l7_quiz_hints[] = {
|
|
"Enjoy + -ing.",
|
|
"Just before the participle. Yet belongs at the end in negatives.",
|
|
"Trpný rod.",
|
|
"Time je nepočitatelné: much.",
|
|
"Bez inverze.",
|
|
"Zákaz: mustn't.",
|
|
};
|
|
|
|
static const NetSlide en_y4_l8_slides[] = {
|
|
{
|
|
"1 / 2 • Celá zkouška", "Tři části, jeden mozek", "Tip: didaktický test míchá poslech, čtení a jazykovou kompetenci. Písemná práce je zvlášť. Tady je zmenšený model.",
|
|
{
|
|
"Nejdřív přečtěte zadání psaní, ať víte, kolik času si necháte.",
|
|
"U čtení nehledejte stejná slova. Hledejte stejný význam.",
|
|
"U poslechu zápor bývá ta správná odpověď.",
|
|
"Když váháte mezi dvěma, vyhoďte tu, která přidává informaci v textu neslyšenou.",
|
|
NULL,
|
|
},
|
|
},
|
|
{
|
|
"2 / 2 • Písemná práce", "Účel, čtenář, rozsah", "Tip: e-mail kamarádovi a stížnost úřadu se nepíšou stejným jazykem. Tady jde o kamaráda.",
|
|
{
|
|
"Řekněte proč píšete hned v první větě.",
|
|
"Dejte tam čas a místo, ať text není mlha.",
|
|
"Jedna věta s because a jedna s if textu pomůžou.",
|
|
"Na konci otázka, která zní jako opravdový zájem.",
|
|
NULL,
|
|
},
|
|
},
|
|
};
|
|
|
|
static const char *en_y4_l8_read = "The town library now lends tools as well as books. Hammers, sewing machines and a cake tin can be borrowed for a week. The idea came from a librarian who was tired of people buying things they would use once. She said the workshop had been visited by more teenagers than the reading room. Critics argue that a library should stay quiet. She replies that a library should be useful. If the experiment works, other branches will copy it. Users have to return each object clean, and they must not lend it to anyone else.";
|
|
|
|
static const ChoiceQ en_y4_l8_readq[] = {
|
|
{"What can people borrow besides books?", {"Cars", "Tools", "Flats", "Tickets to Berlin"}, 4, 1},
|
|
{"Why did the idea start?", {"People were buying things they would use once", "The reading room was too popular", "Teenagers hated books", "The tools were illegal"}, 4, 0},
|
|
{"Who has visited the workshop more, according to her?", {"Critics", "Teenagers, more than the reading room", "Other branches", "Nobody"}, 4, 1},
|
|
{"What must users not do?", {"Return the object", "Clean it", "Lend it to someone else", "Visit the library"}, 4, 2},
|
|
};
|
|
static const char *en_y4_l8_readq_hints[] = {
|
|
"Hammers, sewing machines, a cake tin.",
|
|
"buying things they would use once.",
|
|
"more teenagers than the reading room.",
|
|
"must not lend it to anyone else.",
|
|
};
|
|
|
|
static const char *en_y4_l8_listen = "Welcome to the night-train podcast. The 22:40 to Berlin has been delayed by forty minutes because a tree is on the line near Ústí. Passengers who already have a seat can wait in carriage four, where tea is being served. If you have not checked in, please do it on your phone. We would be grateful if you kept the corridor clear. The delay might be shorter. We will know more at ten.";
|
|
|
|
static const ChoiceQ en_y4_l8_listenq[] = {
|
|
{"How long is the delay?", {"14 minutes", "40 minutes", "4 hours", "22 minutes"}, 4, 1},
|
|
{"Why?", {"Snow", "A tree on the line", "A missing driver", "A festival"}, 4, 1},
|
|
{"Where can passengers with a seat wait?", {"Carriage four", "The airport", "Ústí station only", "The corridor"}, 4, 0},
|
|
{"What should people without a check-in do?", {"Buy tea", "Check in on their phone", "Leave the train", "Call the mayor"}, 4, 1},
|
|
};
|
|
static const char *en_y4_l8_listenq_hints[] = {
|
|
"forty minutes.",
|
|
"a tree is on the line.",
|
|
"carriage four.",
|
|
"do it on your phone.",
|
|
};
|
|
|
|
static const char *en_y4_l8_write[] = {
|
|
"Write at least 45 words to a friend. Invite them to borrow something from a library of things. Use because and if.",
|
|
"Hi Adam, the library now lends tools, and I think you would like it because you always need a drill for one afternoon. If you come on Saturday, I will show you how it works. You have to bring your card and return everything clean. We could borrow a cake tin and bake something after. Let me know if you are free.",
|
|
"because|if",
|
|
"45",
|
|
};
|
|
|
|
static const ChoiceQ en_y4_l8_quiz[] = {
|
|
{"Tea ___ in carriage four.", {"serves", "is being served", "is serving", "has serve"}, 4, 1},
|
|
{"We would be grateful if you ___ the corridor clear.", {"keep", "kept", "keeping", "to keep"}, 4, 1},
|
|
{"She said the workshop ___ by more teenagers.", {"visited", "had been visited", "has visit", "is visiting"}, 4, 1},
|
|
{"Users ___ return the tools clean.", {"have to", "must to", "don't must", "are have"}, 4, 0},
|
|
};
|
|
static const char *en_y4_l8_quiz_hints[] = {
|
|
"Průběhový trpný rod.",
|
|
"Would be grateful if + minulý tvar.",
|
|
"Had been visited.",
|
|
"Have to.",
|
|
};
|
|
|
|
static const EnLesson en_lessons[EN_YEARS][EN_N] = {
|
|
{
|
|
{
|
|
.slides = en_y1_l1_slides,
|
|
.n_slides = (int)(sizeof en_y1_l1_slides / sizeof en_y1_l1_slides[0]),
|
|
.gaps = en_y1_l1_gaps,
|
|
.n_gaps = (int)(sizeof en_y1_l1_gaps / sizeof en_y1_l1_gaps[0]),
|
|
.quiz = en_y1_l1_quiz,
|
|
.quiz_hints = en_y1_l1_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y1_l1_quiz / sizeof en_y1_l1_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l2_slides,
|
|
.n_slides = (int)(sizeof en_y1_l2_slides / sizeof en_y1_l2_slides[0]),
|
|
.reading = "My school day starts early. I get up at half past six, have breakfast and catch the tram. Lessons begin at eight. On Monday we have maths, English and biology. I like biology because we do experiments, but I don't like maths. We have lunch at half past twelve in the canteen. After school I do my homework or meet friends. I never go to bed after ten on a school night.",
|
|
.readq = en_y1_l2_readq,
|
|
.read_hints = en_y1_l2_readq_hints,
|
|
.n_read = (int)(sizeof en_y1_l2_readq / sizeof en_y1_l2_readq[0]),
|
|
.gaps = en_y1_l2_gaps,
|
|
.n_gaps = (int)(sizeof en_y1_l2_gaps / sizeof en_y1_l2_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l3_slides,
|
|
.n_slides = (int)(sizeof en_y1_l3_slides / sizeof en_y1_l3_slides[0]),
|
|
.listening = "Hi Tom, it's Anna. Are you free on Saturday? I'm meeting Eva at the station at ten. We're going to the market first, and then we're having lunch in that new café by the river. In the afternoon I'm playing volleyball with my class in the park. Do you want to come to the café? Call me back tonight.",
|
|
.listenq = en_y1_l3_listenq,
|
|
.listen_hints = en_y1_l3_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y1_l3_listenq / sizeof en_y1_l3_listenq[0]),
|
|
.gaps = en_y1_l3_gaps,
|
|
.n_gaps = (int)(sizeof en_y1_l3_gaps / sizeof en_y1_l3_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l4_slides,
|
|
.n_slides = (int)(sizeof en_y1_l4_slides / sizeof en_y1_l4_slides[0]),
|
|
.write_prompt = "Describe your room in at least 30 words. Say what is in it and where things are. Use on and a piece of furniture such as a bed, and mention a window.",
|
|
.write_model = "My room is small but bright. There is a bed next to the window and a wooden desk under a shelf. My books are on the desk and my school bag is under the chair. There are two posters on the wall. I like the room because it is quiet in the evening.",
|
|
.write_keys = "bed|window|on",
|
|
.write_min = 30,
|
|
.quiz = en_y1_l4_quiz,
|
|
.quiz_hints = en_y1_l4_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y1_l4_quiz / sizeof en_y1_l4_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l5_slides,
|
|
.n_slides = (int)(sizeof en_y1_l5_slides / sizeof en_y1_l5_slides[0]),
|
|
.reading = "On Saturday morning the market by the river is busy. A woman asks, \"How much is this cheese?\" The seller says, \"It's four euros a kilo.\" Then she asks, \"Have you got any bread?\" He answers, \"Sorry, we haven't got any bread today, but we've got some fresh rolls.\" \"How many rolls do you want?\" \"Six, please, and a little milk.\" She also buys a few apples. \"Anything else?\" \"No, that's all.\"",
|
|
.readq = en_y1_l5_readq,
|
|
.read_hints = en_y1_l5_readq_hints,
|
|
.n_read = (int)(sizeof en_y1_l5_readq / sizeof en_y1_l5_readq[0]),
|
|
.gaps = en_y1_l5_gaps,
|
|
.n_gaps = (int)(sizeof en_y1_l5_gaps / sizeof en_y1_l5_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l6_slides,
|
|
.n_slides = (int)(sizeof en_y1_l6_slides / sizeof en_y1_l6_slides[0]),
|
|
.listening = "Last July we went to Croatia. We travelled by train and then by bus because the flight was too expensive. The weather was hot every day. I swam in the morning and my brother tried surfing. He fell off the board a lot, but he loved it. One day we visited a small island. We didn't stay in a hotel. We stayed with our uncle near the beach. I took hundreds of photos.",
|
|
.listenq = en_y1_l6_listenq,
|
|
.listen_hints = en_y1_l6_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y1_l6_listenq / sizeof en_y1_l6_listenq[0]),
|
|
.quiz = en_y1_l6_quiz,
|
|
.quiz_hints = en_y1_l6_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y1_l6_quiz / sizeof en_y1_l6_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y1_l7_slides,
|
|
.n_slides = (int)(sizeof en_y1_l7_slides / sizeof en_y1_l7_slides[0]),
|
|
.gaps = en_y1_l7_gaps,
|
|
.n_gaps = (int)(sizeof en_y1_l7_gaps / sizeof en_y1_l7_gaps[0]),
|
|
.write_prompt = "Write a short message to a friend about next weekend. Use at least 25 words. Say what you are going to do, mention the weekend, and give a reason with because.",
|
|
.write_model = "Hi Lena, next weekend I am going to visit my cousins in Pilsen. We are going to the cinema on Saturday because a new film is on. On Sunday we are going to cook lunch together. Do you want to come with me? Write back soon.",
|
|
.write_keys = "going|weekend|because",
|
|
.write_min = 25,
|
|
},
|
|
{
|
|
.slides = en_y1_l8_slides,
|
|
.n_slides = (int)(sizeof en_y1_l8_slides / sizeof en_y1_l8_slides[0]),
|
|
.reading = "Klara lives in a flat with her parents and a small dog. On weekdays she walks to school because it is only ten minutes away. She loves art. Last Friday her class visited a gallery and she bought a poster. This Saturday she is meeting her cousin at the station. They are going to a concert in the evening.",
|
|
.readq = en_y1_l8_readq,
|
|
.read_hints = en_y1_l8_readq_hints,
|
|
.n_read = (int)(sizeof en_y1_l8_readq / sizeof en_y1_l8_readq[0]),
|
|
.listening = "Hi, it's Marek. I missed you after school. I'm at the sports centre. The match starts at four, not at three, so don't hurry. Can you bring my blue jacket? It's on the chair in the kitchen. See you there.",
|
|
.listenq = en_y1_l8_listenq,
|
|
.listen_hints = en_y1_l8_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y1_l8_listenq / sizeof en_y1_l8_listenq[0]),
|
|
.write_prompt = "Write at least 30 words about your family. Use is or are, and the words family and because.",
|
|
.write_model = "My family is not very big. I live with my parents and my younger sister. She is twelve and she is funny. We get on well because we both like films. My dad is a driver and my mum is a nurse. I am happy at home.",
|
|
.write_keys = "family|because",
|
|
.write_min = 30,
|
|
.quiz = en_y1_l8_quiz,
|
|
.quiz_hints = en_y1_l8_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y1_l8_quiz / sizeof en_y1_l8_quiz[0]),
|
|
}
|
|
},
|
|
{
|
|
{
|
|
.slides = en_y2_l1_slides,
|
|
.n_slides = (int)(sizeof en_y2_l1_slides / sizeof en_y2_l1_slides[0]),
|
|
.gaps = en_y2_l1_gaps,
|
|
.n_gaps = (int)(sizeof en_y2_l1_gaps / sizeof en_y2_l1_gaps[0]),
|
|
.quiz = en_y2_l1_quiz,
|
|
.quiz_hints = en_y2_l1_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y2_l1_quiz / sizeof en_y2_l1_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l2_slides,
|
|
.n_slides = (int)(sizeof en_y2_l2_slides / sizeof en_y2_l2_slides[0]),
|
|
.reading = "The school clinic is open from seven to three. If you feel ill, you should tell your teacher first. You have to bring your insurance card. You must not come to school with a high temperature. Students with a cough should wear a mask in the waiting room. You don't have to make an appointment for a small cut, but you should come before noon. The nurse can give you a painkiller. She can't give you antibiotics.",
|
|
.readq = en_y2_l2_readq,
|
|
.read_hints = en_y2_l2_readq_hints,
|
|
.n_read = (int)(sizeof en_y2_l2_readq / sizeof en_y2_l2_readq[0]),
|
|
.quiz = en_y2_l2_quiz,
|
|
.quiz_hints = en_y2_l2_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y2_l2_quiz / sizeof en_y2_l2_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l3_slides,
|
|
.n_slides = (int)(sizeof en_y2_l3_slides / sizeof en_y2_l3_slides[0]),
|
|
.listening = "Manager: Have you ever worked in a shop? Tereza: Not in a shop, but I have helped in my uncle's bakery since May. Manager: What do you do there? Tereza: I have served customers and I have learned to use the till. I haven't baked bread yet. Manager: Can you start next Saturday? Tereza: Yes. I have already asked my uncle, and he says it's fine. I can't work on Sunday mornings because I have a match.",
|
|
.listenq = en_y2_l3_listenq,
|
|
.listen_hints = en_y2_l3_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y2_l3_listenq / sizeof en_y2_l3_listenq[0]),
|
|
.gaps = en_y2_l3_gaps,
|
|
.n_gaps = (int)(sizeof en_y2_l3_gaps / sizeof en_y2_l3_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l4_slides,
|
|
.n_slides = (int)(sizeof en_y2_l4_slides / sizeof en_y2_l4_slides[0]),
|
|
.write_prompt = "Write a short review of a film or a book in at least 40 words. Use who once and which once, and say who you would recommend it to.",
|
|
.write_model = "The Lighthouse Keeper is a quiet film which follows a woman on a small island. The actor who plays her hardly speaks, but her face tells the story. The sea, which is almost a character, is beautiful and dangerous. I would recommend it to anyone who likes slow films. The ending is sad but honest.",
|
|
.write_keys = "who|which|recommend",
|
|
.write_min = 40,
|
|
.quiz = en_y2_l4_quiz,
|
|
.quiz_hints = en_y2_l4_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y2_l4_quiz / sizeof en_y2_l4_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l5_slides,
|
|
.n_slides = (int)(sizeof en_y2_l5_slides / sizeof en_y2_l5_slides[0]),
|
|
.reading = "We wanted to cycle to the lake, but the morning was too foggy to start. By ten the sun was out and the path was dry enough. There were too many cyclists near the dam, so we took a quieter road. We didn't have enough water, which was a mistake. At the lake a guard said, \"Look at that cloud. It's going to pour. I think the storm will last an hour.\" We were not fast enough. We got soaked.",
|
|
.readq = en_y2_l5_readq,
|
|
.read_hints = en_y2_l5_readq_hints,
|
|
.n_read = (int)(sizeof en_y2_l5_readq / sizeof en_y2_l5_readq[0]),
|
|
.gaps = en_y2_l5_gaps,
|
|
.n_gaps = (int)(sizeof en_y2_l5_gaps / sizeof en_y2_l5_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l6_slides,
|
|
.n_slides = (int)(sizeof en_y2_l6_slides / sizeof en_y2_l6_slides[0]),
|
|
.listening = "This is Nora at the river festival. The gates have just opened and hundreds of people have already come in. I have never seen so many lanterns. Last night the main band played for two hours, but tonight's singer hasn't arrived yet. A local baker has made a cake in the shape of a violin. I tried a piece yesterday. It was delicious. Have you ever been here? I came for the first time in 2022, and I have come back every summer since then.",
|
|
.listenq = en_y2_l6_listenq,
|
|
.listen_hints = en_y2_l6_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y2_l6_listenq / sizeof en_y2_l6_listenq[0]),
|
|
.quiz = en_y2_l6_quiz,
|
|
.quiz_hints = en_y2_l6_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y2_l6_quiz / sizeof en_y2_l6_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y2_l7_slides,
|
|
.n_slides = (int)(sizeof en_y2_l7_slides / sizeof en_y2_l7_slides[0]),
|
|
.gaps = en_y2_l7_gaps,
|
|
.n_gaps = (int)(sizeof en_y2_l7_gaps / sizeof en_y2_l7_gaps[0]),
|
|
.write_prompt = "Write at least 35 words. Include one real plan with if and will, and one unreal dream with would. Use the word if twice.",
|
|
.write_model = "If I finish my project tonight, I will go climbing with Eva on Saturday. We will take the early bus if the weather is fine. If I had more free time, I would learn the guitar. I would also travel by night train if tickets were cheaper. If is a small word with two very different lives.",
|
|
.write_keys = "if|will|would",
|
|
.write_min = 35,
|
|
},
|
|
{
|
|
.slides = en_y2_l8_slides,
|
|
.n_slides = (int)(sizeof en_y2_l8_slides / sizeof en_y2_l8_slides[0]),
|
|
.reading = "The night bus to Brno is cheaper than the train, but it is also slower. Last Friday I was sleeping when the driver stopped at a dark petrol station. A woman who had missed her connection asked if she could sit next to me. She has travelled this route since March because her new job starts at six. If the bus is late, she has to run. She says she would move closer if flats were cheaper.",
|
|
.readq = en_y2_l8_readq,
|
|
.read_hints = en_y2_l8_readq_hints,
|
|
.n_read = (int)(sizeof en_y2_l8_readq / sizeof en_y2_l8_readq[0]),
|
|
.listening = "Doctor: How long have you had this cough? Adam: Since Sunday. I have also had a sore throat for two days. Doctor: You should rest and drink water. You don't have to stay in bed all day, but you mustn't play football this week. If you still feel ill on Friday, come back.",
|
|
.listenq = en_y2_l8_listenq,
|
|
.listen_hints = en_y2_l8_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y2_l8_listenq / sizeof en_y2_l8_listenq[0]),
|
|
.write_prompt = "Write at least 35 words about a trip or a job you would like. Use would and because.",
|
|
.write_model = "I would like to work in a small bookshop by the station because I love quiet mornings. I would talk to customers and I would also read in the breaks. If I had the job, I would cycle there. I have never worked in a shop, but I have helped at school events.",
|
|
.write_keys = "would|because",
|
|
.write_min = 35,
|
|
.quiz = en_y2_l8_quiz,
|
|
.quiz_hints = en_y2_l8_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y2_l8_quiz / sizeof en_y2_l8_quiz[0]),
|
|
}
|
|
},
|
|
{
|
|
{
|
|
.slides = en_y3_l1_slides,
|
|
.n_slides = (int)(sizeof en_y3_l1_slides / sizeof en_y3_l1_slides[0]),
|
|
.gaps = en_y3_l1_gaps,
|
|
.n_gaps = (int)(sizeof en_y3_l1_gaps / sizeof en_y3_l1_gaps[0]),
|
|
.quiz = en_y3_l1_quiz,
|
|
.quiz_hints = en_y3_l1_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l1_quiz / sizeof en_y3_l1_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l2_slides,
|
|
.n_slides = (int)(sizeof en_y3_l2_slides / sizeof en_y3_l2_slides[0]),
|
|
.reading = "Our head teacher told the local paper that the school was changing. She said that students would start an hour later next term. One pupil told the reporter that he was pleased because he hated early buses. A parent said that she was worried. She said her daughter had joined three clubs and had very little time. The cook said that lunch would still be at noon. He added that the menu was going to include more vegetables.",
|
|
.readq = en_y3_l2_readq,
|
|
.read_hints = en_y3_l2_readq_hints,
|
|
.n_read = (int)(sizeof en_y3_l2_readq / sizeof en_y3_l2_readq[0]),
|
|
.quiz = en_y3_l2_quiz,
|
|
.quiz_hints = en_y3_l2_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l2_quiz / sizeof en_y3_l2_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l3_slides,
|
|
.n_slides = (int)(sizeof en_y3_l3_slides / sizeof en_y3_l3_slides[0]),
|
|
.listening = "Last month our class recorded a podcast called The Last Beech. A ranger said that the trees were thirsty because the summers had become hotter. She told us that volunteers had planted two thousand young trees, but she added that many would die unless it rained. If the town banned cars from the forest road, the air would be cleaner. If people keep using it as a shortcut, the soil will wash away.",
|
|
.listenq = en_y3_l3_listenq,
|
|
.listen_hints = en_y3_l3_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y3_l3_listenq / sizeof en_y3_l3_listenq[0]),
|
|
.gaps = en_y3_l3_gaps,
|
|
.n_gaps = (int)(sizeof en_y3_l3_gaps / sizeof en_y3_l3_gaps[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l4_slides,
|
|
.n_slides = (int)(sizeof en_y3_l4_slides / sizeof en_y3_l4_slides[0]),
|
|
.write_prompt = "Write a for-and-against paragraph of at least 50 words about school uniforms. Use however and because, and finish with your opinion using believe.",
|
|
.write_model = "School uniforms are a common argument. They are practical because students do not have to decide what to wear, and families spend less money. However, a uniform hides personality and can feel childish at eighteen. Although it makes mornings faster, it does not make lessons better. I believe schools should keep a simple dress code, but they should not force one jacket on everyone.",
|
|
.write_keys = "however|because|believe",
|
|
.write_min = 50,
|
|
.quiz = en_y3_l4_quiz,
|
|
.quiz_hints = en_y3_l4_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l4_quiz / sizeof en_y3_l4_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l5_slides,
|
|
.n_slides = (int)(sizeof en_y3_l5_slides / sizeof en_y3_l5_slides[0]),
|
|
.reading = "Someone left a strange machine in the physics lab. It was warm, so it must have been switched on recently. The only key can't have been used by the caretaker, because he is in hospital. Two students, Nora and Adam, know the code. Nora might have come back after the club, but her train ticket shows she was in Pardubice. Adam's notebook is on the bench and the handwriting matches the label. He must have built it.",
|
|
.readq = en_y3_l5_readq,
|
|
.read_hints = en_y3_l5_readq_hints,
|
|
.n_read = (int)(sizeof en_y3_l5_readq / sizeof en_y3_l5_readq[0]),
|
|
.quiz = en_y3_l5_quiz,
|
|
.quiz_hints = en_y3_l5_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l5_quiz / sizeof en_y3_l5_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l6_slides,
|
|
.n_slides = (int)(sizeof en_y3_l6_slides / sizeof en_y3_l6_slides[0]),
|
|
.listening = "Reporter: Mayor, is the old bridge safe? Mayor: I can't promise that. An engineer told me that two cables were weak. Reporter: How long will the repairs take? Mayor: She asked the firm the same question yesterday. They said they didn't know yet. Reporter: Did anyone complain? Mayor: A shopkeeper asked me why the bus stop had moved. I asked her if she could wait until Friday. Reporter: Will you close the bridge? Mayor: We might. I have asked the police whether they can send officers tonight.",
|
|
.listenq = en_y3_l6_listenq,
|
|
.listen_hints = en_y3_l6_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y3_l6_listenq / sizeof en_y3_l6_listenq[0]),
|
|
.quiz = en_y3_l6_quiz,
|
|
.quiz_hints = en_y3_l6_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l6_quiz / sizeof en_y3_l6_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l7_slides,
|
|
.n_slides = (int)(sizeof en_y3_l7_slides / sizeof en_y3_l7_slides[0]),
|
|
.gaps = en_y3_l7_gaps,
|
|
.n_gaps = (int)(sizeof en_y3_l7_gaps / sizeof en_y3_l7_gaps[0]),
|
|
.quiz = en_y3_l7_quiz,
|
|
.quiz_hints = en_y3_l7_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l7_quiz / sizeof en_y3_l7_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y3_l8_slides,
|
|
.n_slides = (int)(sizeof en_y3_l8_slides / sizeof en_y3_l8_slides[0]),
|
|
.reading = "A repair café opened in a former bakery. Broken radios are mended there on Saturdays. The founder said that people would rather repair than buy if they were shown how. She told a reporter that twenty kettles had been saved in March. Visitors have to bring the broken object, but they don't have to pay. If the café closed, a lot of working parts would be thrown away.",
|
|
.readq = en_y3_l8_readq,
|
|
.read_hints = en_y3_l8_readq_hints,
|
|
.n_read = (int)(sizeof en_y3_l8_readq / sizeof en_y3_l8_readq[0]),
|
|
.listening = "Editor: Did the mayor answer you? Journalist: I asked him whether the bridge was safe. He said he didn't know. I also asked how long the repairs would take. He told me that the firm hadn't decided. A resident asked me why the paper hadn't printed a map. I said we would print one tomorrow.",
|
|
.listenq = en_y3_l8_listenq,
|
|
.listen_hints = en_y3_l8_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y3_l8_listenq / sizeof en_y3_l8_listenq[0]),
|
|
.write_prompt = "In at least 40 words, give one reason for repairing things and one objection. Use because and however.",
|
|
.write_model = "Repairing things matters because a kettle can work for years after a small fix. However, some people do not have the tools or the time, so a café where volunteers help is a fair idea. I believe every town should have one quiet room for broken objects. It is slower than shopping, but it is kinder.",
|
|
.write_keys = "because|however",
|
|
.write_min = 40,
|
|
.quiz = en_y3_l8_quiz,
|
|
.quiz_hints = en_y3_l8_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y3_l8_quiz / sizeof en_y3_l8_quiz[0]),
|
|
}
|
|
},
|
|
{
|
|
{
|
|
.slides = en_y4_l1_slides,
|
|
.n_slides = (int)(sizeof en_y4_l1_slides / sizeof en_y4_l1_slides[0]),
|
|
.gaps = en_y4_l1_gaps,
|
|
.n_gaps = (int)(sizeof en_y4_l1_gaps / sizeof en_y4_l1_gaps[0]),
|
|
.quiz = en_y4_l1_quiz,
|
|
.quiz_hints = en_y4_l1_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l1_quiz / sizeof en_y4_l1_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l2_slides,
|
|
.n_slides = (int)(sizeof en_y4_l2_slides / sizeof en_y4_l2_slides[0]),
|
|
.write_prompt = "Write a formal email of at least 55 words to a railway company. Complain about a delay. Start with Dear, use would, and end with sincerely or faithfully.",
|
|
.write_model = "Dear Sir or Madam, I am writing to complain about the night train to Berlin on 3 May. It arrived ninety minutes late, so I missed a morning interview. I would be grateful if you could explain the delay and offer a refund. I have attached my ticket. Please reply to this address. Yours faithfully, Tereza Malá.",
|
|
.write_keys = "dear|would|faithfully",
|
|
.write_min = 55,
|
|
.quiz = en_y4_l2_quiz,
|
|
.quiz_hints = en_y4_l2_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l2_quiz / sizeof en_y4_l2_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l3_slides,
|
|
.n_slides = (int)(sizeof en_y4_l3_slides / sizeof en_y4_l3_slides[0]),
|
|
.reading = "When the night train from Prague to Berlin returned last spring, stations filled with people who prefer a bed to a boarding gate. A single ticket is often more expensive than a flight, which surprises anyone who thinks trains are always the cheap choice. Still, passengers say they arrive calmer. They can read, talk and avoid the bright shops of an airport. Critics point out that a delay of two hours is common and that the cabins are small. The railway has promised that new carriages will be added if demand stays high. A student I spoke to had taken the train three times. She said she would fly only if she missed the evening departure. For her, the journey is part of the trip, not a problem to be deleted.",
|
|
.readq = en_y4_l3_readq,
|
|
.read_hints = en_y4_l3_readq_hints,
|
|
.n_read = (int)(sizeof en_y4_l3_readq / sizeof en_y4_l3_readq[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l4_slides,
|
|
.n_slides = (int)(sizeof en_y4_l4_slides / sizeof en_y4_l4_slides[0]),
|
|
.listening = "Interviewer: Why did you apply to the summer camp in Wales? Hana: I have worked with children for two years, and I wanted a job where English is the only language. Interviewer: What would you do if a child refused to join an activity? Hana: I wouldn't force them. I would ask why, and I might offer a quieter task. Interviewer: Have you ever dealt with an emergency? Hana: Yes. Last August a boy cut his foot. I cleaned the cut and called the nurse. I didn't give him any medicine. Interviewer: The camp is rainy. Is that a problem? Hana: Not really. I have already bought boots. I look forward to the hills, although I know the work will be tiring.",
|
|
.listenq = en_y4_l4_listenq,
|
|
.listen_hints = en_y4_l4_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y4_l4_listenq / sizeof en_y4_l4_listenq[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l5_slides,
|
|
.n_slides = (int)(sizeof en_y4_l5_slides / sizeof en_y4_l5_slides[0]),
|
|
.write_prompt = "Write an opinion of at least 60 words: should students have a gap year before university? Use believe, although and in conclusion.",
|
|
.write_model = "I believe a gap year can help, but only when it has a plan. Although some students waste the time, others work, travel or look after a relative and return calmer. A year in a job also shows whether a degree is really necessary. On the other hand, a long break can make it harder to study again. In conclusion, a gap year is useful if the person can explain what they will do with it.",
|
|
.write_keys = "believe|although|conclusion",
|
|
.write_min = 60,
|
|
.quiz = en_y4_l5_quiz,
|
|
.quiz_hints = en_y4_l5_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l5_quiz / sizeof en_y4_l5_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l6_slides,
|
|
.n_slides = (int)(sizeof en_y4_l6_slides / sizeof en_y4_l6_slides[0]),
|
|
.gaps = en_y4_l6_gaps,
|
|
.n_gaps = (int)(sizeof en_y4_l6_gaps / sizeof en_y4_l6_gaps[0]),
|
|
.quiz = en_y4_l6_quiz,
|
|
.quiz_hints = en_y4_l6_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l6_quiz / sizeof en_y4_l6_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l7_slides,
|
|
.n_slides = (int)(sizeof en_y4_l7_slides / sizeof en_y4_l7_slides[0]),
|
|
.gaps = en_y4_l7_gaps,
|
|
.n_gaps = (int)(sizeof en_y4_l7_gaps / sizeof en_y4_l7_gaps[0]),
|
|
.quiz = en_y4_l7_quiz,
|
|
.quiz_hints = en_y4_l7_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l7_quiz / sizeof en_y4_l7_quiz[0]),
|
|
},
|
|
{
|
|
.slides = en_y4_l8_slides,
|
|
.n_slides = (int)(sizeof en_y4_l8_slides / sizeof en_y4_l8_slides[0]),
|
|
.reading = "The town library now lends tools as well as books. Hammers, sewing machines and a cake tin can be borrowed for a week. The idea came from a librarian who was tired of people buying things they would use once. She said the workshop had been visited by more teenagers than the reading room. Critics argue that a library should stay quiet. She replies that a library should be useful. If the experiment works, other branches will copy it. Users have to return each object clean, and they must not lend it to anyone else.",
|
|
.readq = en_y4_l8_readq,
|
|
.read_hints = en_y4_l8_readq_hints,
|
|
.n_read = (int)(sizeof en_y4_l8_readq / sizeof en_y4_l8_readq[0]),
|
|
.listening = "Welcome to the night-train podcast. The 22:40 to Berlin has been delayed by forty minutes because a tree is on the line near Ústí. Passengers who already have a seat can wait in carriage four, where tea is being served. If you have not checked in, please do it on your phone. We would be grateful if you kept the corridor clear. The delay might be shorter. We will know more at ten.",
|
|
.listenq = en_y4_l8_listenq,
|
|
.listen_hints = en_y4_l8_listenq_hints,
|
|
.n_listen = (int)(sizeof en_y4_l8_listenq / sizeof en_y4_l8_listenq[0]),
|
|
.write_prompt = "Write at least 45 words to a friend. Invite them to borrow something from a library of things. Use because and if.",
|
|
.write_model = "Hi Adam, the library now lends tools, and I think you would like it because you always need a drill for one afternoon. If you come on Saturday, I will show you how it works. You have to bring your card and return everything clean. We could borrow a cake tin and bake something after. Let me know if you are free.",
|
|
.write_keys = "because|if",
|
|
.write_min = 45,
|
|
.quiz = en_y4_l8_quiz,
|
|
.quiz_hints = en_y4_l8_quiz_hints,
|
|
.n_quiz = (int)(sizeof en_y4_l8_quiz / sizeof en_y4_l8_quiz[0]),
|
|
}
|
|
},
|
|
};
|
|
|