Expand grammar exercises to 100 sentences each #18
@@ -19,62 +19,551 @@ struct GrammarExercise: Identifiable, Hashable {
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Ser vs Estar
|
||||
// MARK: - Ser vs Estar (100)
|
||||
|
||||
private static let serVsEstarExercises = [
|
||||
GrammarExercise(id: "se1", prompt: "Choose ser or estar:", sentence: "Ella _____ doctora.", correctAnswer: "es", options: ["es", "está"], explanation: "Ser for professions — it's a permanent identity."),
|
||||
GrammarExercise(id: "se2", prompt: "Choose ser or estar:", sentence: "El libro _____ en la mesa.", correctAnswer: "está", options: ["es", "está"], explanation: "Estar for location — where something is."),
|
||||
GrammarExercise(id: "se3", prompt: "Choose ser or estar:", sentence: "Yo _____ muy cansado hoy.", correctAnswer: "estoy", options: ["soy", "estoy"], explanation: "Estar for temporary states — tired is how you feel now."),
|
||||
GrammarExercise(id: "se4", prompt: "Choose ser or estar:", sentence: "Nosotros _____ de México.", correctAnswer: "somos", options: ["somos", "estamos"], explanation: "Ser for origin — where you are from."),
|
||||
GrammarExercise(id: "se5", prompt: "Choose ser or estar:", sentence: "La sopa _____ caliente.", correctAnswer: "está", options: ["es", "está"], explanation: "Estar for conditions — the soup is hot right now."),
|
||||
GrammarExercise(id: "se6", prompt: "Choose ser or estar:", sentence: "_____ las tres de la tarde.", correctAnswer: "Son", options: ["Son", "Están"], explanation: "Ser for telling time."),
|
||||
GrammarExercise(id: "se7", prompt: "Choose ser or estar:", sentence: "Mi hermano _____ alto.", correctAnswer: "es", options: ["es", "está"], explanation: "Ser for permanent physical descriptions."),
|
||||
GrammarExercise(id: "se8", prompt: "Choose ser or estar:", sentence: "Ella _____ feliz porque aprobó.", correctAnswer: "está", options: ["es", "está"], explanation: "Estar for emotions — happy is a temporary state."),
|
||||
]
|
||||
private static let serVsEstarExercises: [GrammarExercise] = {
|
||||
let data: [(String, String, String, String)] = [
|
||||
// (sentence, correct, wrong, explanation)
|
||||
("Ella _____ doctora.", "es", "está", "Ser for professions."),
|
||||
("El libro _____ en la mesa.", "está", "es", "Estar for location."),
|
||||
("Yo _____ muy cansado hoy.", "estoy", "soy", "Estar for temporary states."),
|
||||
("Nosotros _____ de México.", "somos", "estamos", "Ser for origin."),
|
||||
("La sopa _____ caliente.", "está", "es", "Estar for conditions."),
|
||||
("_____ las tres de la tarde.", "Son", "Están", "Ser for telling time."),
|
||||
("Mi hermano _____ alto.", "es", "está", "Ser for physical descriptions."),
|
||||
("Ella _____ feliz porque aprobó.", "está", "es", "Estar for emotions."),
|
||||
("La casa _____ grande.", "es", "está", "Ser for inherent qualities."),
|
||||
("El café _____ frío.", "está", "es", "Estar for current condition."),
|
||||
("Ellos _____ estudiantes.", "son", "están", "Ser for identity."),
|
||||
("Yo _____ en la oficina.", "estoy", "soy", "Estar for location."),
|
||||
("La fiesta _____ en mi casa.", "es", "está", "Ser for events (location of event)."),
|
||||
("Tú _____ muy inteligente.", "eres", "estás", "Ser for personality traits."),
|
||||
("El agua _____ fría.", "está", "es", "Estar for temperature (current state)."),
|
||||
("María _____ de España.", "es", "está", "Ser for origin."),
|
||||
("Nosotros _____ listos para salir.", "estamos", "somos", "Estar — ready (temporary state)."),
|
||||
("Él _____ un buen amigo.", "es", "está", "Ser for characteristics."),
|
||||
("La puerta _____ abierta.", "está", "es", "Estar for states resulting from actions."),
|
||||
("Hoy _____ lunes.", "es", "está", "Ser for days/dates."),
|
||||
("Yo _____ aburrido en clase.", "estoy", "soy", "Estar — bored (feeling now)."),
|
||||
("Ella _____ aburrida como persona.", "es", "está", "Ser — boring (personality)."),
|
||||
("La manzana _____ verde.", "está", "es", "Estar — unripe (condition)."),
|
||||
("La camisa _____ de algodón.", "es", "está", "Ser for material."),
|
||||
("Él _____ enfermo.", "está", "es", "Estar for health conditions."),
|
||||
("Nosotros _____ contentos.", "estamos", "somos", "Estar for emotions."),
|
||||
("La clase _____ a las ocho.", "es", "está", "Ser for scheduled time."),
|
||||
("Tú _____ muy guapo hoy.", "estás", "eres", "Estar — looking good (today)."),
|
||||
("Ella _____ profesora de español.", "es", "está", "Ser for profession."),
|
||||
("El examen _____ difícil.", "es", "está", "Ser for inherent characteristic."),
|
||||
("Yo _____ nervioso por el examen.", "estoy", "soy", "Estar for temporary feeling."),
|
||||
("Los niños _____ en el parque.", "están", "son", "Estar for location."),
|
||||
("La película _____ interesante.", "es", "está", "Ser for inherent quality."),
|
||||
("El restaurante _____ cerrado.", "está", "es", "Estar for state (closed now)."),
|
||||
("Mi padre _____ alto y moreno.", "es", "está", "Ser for physical description."),
|
||||
("¿Dónde _____ el baño?", "está", "es", "Estar for location."),
|
||||
("Ella _____ lista.", "es", "está", "Ser — clever (trait)."),
|
||||
("¿Cómo _____ tú?", "estás", "eres", "Estar — how are you (state)."),
|
||||
("La comida _____ deliciosa.", "está", "es", "Estar — tastes delicious (now)."),
|
||||
("Él _____ colombiano.", "es", "está", "Ser for nationality."),
|
||||
("Yo _____ preocupado.", "estoy", "soy", "Estar for worry (emotion)."),
|
||||
("La mesa _____ de madera.", "es", "está", "Ser for material."),
|
||||
("Ellos _____ cansados después del viaje.", "están", "son", "Estar for temporary state."),
|
||||
("Mi madre _____ muy joven.", "es", "está", "Ser for age/appearance (inherent)."),
|
||||
("El cielo _____ nublado.", "está", "es", "Estar for weather conditions."),
|
||||
("Nosotros _____ hermanos.", "somos", "estamos", "Ser for relationships."),
|
||||
("La ventana _____ rota.", "está", "es", "Estar for result of action."),
|
||||
("¿Quién _____ tu profesor?", "es", "está", "Ser for identity."),
|
||||
("El bebé _____ dormido.", "está", "es", "Estar for state (sleeping)."),
|
||||
("Ella _____ muy trabajadora.", "es", "está", "Ser for personality."),
|
||||
("Yo _____ listo para el examen.", "estoy", "soy", "Estar — ready."),
|
||||
("La ciudad _____ bonita.", "es", "está", "Ser for inherent beauty."),
|
||||
("Tú _____ sentado en mi silla.", "estás", "eres", "Estar for position/posture."),
|
||||
("El problema _____ complicado.", "es", "está", "Ser for inherent quality."),
|
||||
("La leche _____ en el refrigerador.", "está", "es", "Estar for location."),
|
||||
("Yo _____ mexicano.", "soy", "estoy", "Ser for nationality."),
|
||||
("Ella _____ embarazada.", "está", "es", "Estar for temporary condition."),
|
||||
("La reunión _____ a las diez.", "es", "está", "Ser for scheduled time."),
|
||||
("El perro _____ sucio.", "está", "es", "Estar for current condition."),
|
||||
("Nosotros _____ amigos desde niños.", "somos", "estamos", "Ser for relationships."),
|
||||
("Tú _____ muy callado hoy.", "estás", "eres", "Estar — quiet today (temporary)."),
|
||||
("Ella _____ la directora.", "es", "está", "Ser for identity/role."),
|
||||
("El coche _____ nuevo.", "es", "está", "Ser for characteristic."),
|
||||
("Yo _____ seguro de eso.", "estoy", "soy", "Estar for certainty (state)."),
|
||||
("La silla _____ rota.", "está", "es", "Estar for broken (result of action)."),
|
||||
("Mi casa _____ cerca del parque.", "está", "es", "Estar for relative location."),
|
||||
("Él _____ viejo.", "es", "está", "Ser for age."),
|
||||
("El café _____ listo.", "está", "es", "Estar — ready (state)."),
|
||||
("Nosotros _____ perdidos.", "estamos", "somos", "Estar for being lost."),
|
||||
("La respuesta _____ correcta.", "es", "está", "Ser for fact."),
|
||||
("Tú _____ enojado conmigo.", "estás", "eres", "Estar for emotion."),
|
||||
("Ella _____ rica.", "es", "está", "Ser for wealth (inherent)."),
|
||||
("El museo _____ en el centro.", "está", "es", "Estar for location."),
|
||||
("Yo _____ de acuerdo.", "estoy", "soy", "Estar for agreement (state)."),
|
||||
("La luz _____ encendida.", "está", "es", "Estar for state (on/off)."),
|
||||
("Ellos _____ gemelos.", "son", "están", "Ser for identity."),
|
||||
("El clima _____ agradable.", "está", "es", "Estar for weather now."),
|
||||
("La tarea _____ para mañana.", "es", "está", "Ser for deadline."),
|
||||
("Yo _____ ocupado ahora.", "estoy", "soy", "Estar for temporary state."),
|
||||
("Ella _____ soltera.", "es", "está", "Ser for marital status."),
|
||||
("El pan _____ duro.", "está", "es", "Estar for condition (stale)."),
|
||||
("Mi hermana _____ mayor que yo.", "es", "está", "Ser for comparison."),
|
||||
("Tú _____ mojado por la lluvia.", "estás", "eres", "Estar for condition."),
|
||||
("La cena _____ a las nueve.", "es", "está", "Ser for time."),
|
||||
("El hospital _____ lejos.", "está", "es", "Estar for distance/location."),
|
||||
("Nosotros _____ orgullosos de ti.", "estamos", "somos", "Estar for emotion."),
|
||||
("Ella _____ muy simpática.", "es", "está", "Ser for personality."),
|
||||
("El gato _____ debajo de la cama.", "está", "es", "Estar for location."),
|
||||
("Yo _____ vegetariano.", "soy", "estoy", "Ser for identity."),
|
||||
("La ventana _____ sucia.", "está", "es", "Estar for condition."),
|
||||
("Él _____ contento con su trabajo.", "está", "es", "Estar for satisfaction."),
|
||||
("La prueba _____ fácil.", "es", "está", "Ser for inherent quality."),
|
||||
("Tú _____ de buen humor.", "estás", "eres", "Estar for mood."),
|
||||
("El vuelo _____ a las seis.", "es", "está", "Ser for scheduled time."),
|
||||
("La playa _____ hermosa.", "es", "está", "Ser for inherent beauty."),
|
||||
("Yo _____ emocionado por el viaje.", "estoy", "soy", "Estar for excitement."),
|
||||
("Ellos _____ en casa.", "están", "son", "Estar for location."),
|
||||
("La tienda _____ abierta.", "está", "es", "Estar for state."),
|
||||
("Él _____ el mejor jugador.", "es", "está", "Ser for identity/superlative."),
|
||||
("Nosotros _____ sorprendidos.", "estamos", "somos", "Estar for emotion."),
|
||||
]
|
||||
return data.enumerated().map { i, d in
|
||||
GrammarExercise(id: "se\(i+1)", prompt: "Choose ser or estar:", sentence: d.0, correctAnswer: d.1, options: [d.1, d.2].shuffled(), explanation: d.3)
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Por vs Para
|
||||
// MARK: - Por vs Para (100)
|
||||
|
||||
private static let porVsParaExercises = [
|
||||
GrammarExercise(id: "pp1", prompt: "Choose por or para:", sentence: "Este regalo es _____ ti.", correctAnswer: "para", options: ["por", "para"], explanation: "Para for recipient — the gift is for you."),
|
||||
GrammarExercise(id: "pp2", prompt: "Choose por or para:", sentence: "Gracias _____ tu ayuda.", correctAnswer: "por", options: ["por", "para"], explanation: "Por for cause/reason — thanks because of your help."),
|
||||
GrammarExercise(id: "pp3", prompt: "Choose por or para:", sentence: "Caminamos _____ el parque.", correctAnswer: "por", options: ["por", "para"], explanation: "Por for movement through a place."),
|
||||
GrammarExercise(id: "pp4", prompt: "Choose por or para:", sentence: "Estudio _____ aprender.", correctAnswer: "para", options: ["por", "para"], explanation: "Para for purpose — in order to learn."),
|
||||
GrammarExercise(id: "pp5", prompt: "Choose por or para:", sentence: "Pagué veinte dólares _____ el libro.", correctAnswer: "por", options: ["por", "para"], explanation: "Por for exchange — paying in exchange for the book."),
|
||||
GrammarExercise(id: "pp6", prompt: "Choose por or para:", sentence: "Salimos _____ Madrid mañana.", correctAnswer: "para", options: ["por", "para"], explanation: "Para for destination — heading toward Madrid."),
|
||||
GrammarExercise(id: "pp7", prompt: "Choose por or para:", sentence: "Estudié _____ dos horas.", correctAnswer: "por", options: ["por", "para"], explanation: "Por for duration — for a period of time."),
|
||||
GrammarExercise(id: "pp8", prompt: "Choose por or para:", sentence: "Necesito el informe _____ el lunes.", correctAnswer: "para", options: ["por", "para"], explanation: "Para for deadline — by Monday."),
|
||||
]
|
||||
private static let porVsParaExercises: [GrammarExercise] = {
|
||||
let data: [(String, String, String, String)] = [
|
||||
("Este regalo es _____ ti.", "para", "por", "Para for recipient."),
|
||||
("Gracias _____ tu ayuda.", "por", "para", "Por for cause/reason."),
|
||||
("Caminamos _____ el parque.", "por", "para", "Por for movement through."),
|
||||
("Estudio _____ aprender.", "para", "por", "Para for purpose."),
|
||||
("Pagué veinte dólares _____ el libro.", "por", "para", "Por for exchange."),
|
||||
("Salimos _____ Madrid mañana.", "para", "por", "Para for destination."),
|
||||
("Estudié _____ dos horas.", "por", "para", "Por for duration."),
|
||||
("Necesito el informe _____ el lunes.", "para", "por", "Para for deadline."),
|
||||
("Te llamo _____ teléfono.", "por", "para", "Por for means."),
|
||||
("Trabajo _____ una empresa grande.", "para", "por", "Para for employer."),
|
||||
("Pasamos _____ tu casa ayer.", "por", "para", "Por for passing by."),
|
||||
("La carta fue escrita _____ María.", "por", "para", "Por for agent in passive."),
|
||||
("Este medicamento es _____ el dolor.", "para", "por", "Para for purpose."),
|
||||
("Viajamos _____ avión.", "por", "para", "Por for means of transport."),
|
||||
("_____ favor, ayúdame.", "Por", "Para", "Fixed expression: por favor."),
|
||||
("Voy _____ agua.", "por", "para", "Por for going to get something."),
|
||||
("_____ ser estudiante, habla muy bien.", "Para", "Por", "Para for comparison/considering."),
|
||||
("Lo hice _____ ti.", "por", "para", "Por for on behalf of."),
|
||||
("Este libro es _____ niños.", "para", "por", "Para for intended audience."),
|
||||
("_____ supuesto que sí.", "Por", "Para", "Fixed expression: por supuesto."),
|
||||
("Necesito lentes _____ leer.", "para", "por", "Para for purpose (in order to)."),
|
||||
("Luchamos _____ la libertad.", "por", "para", "Por for cause worth fighting for."),
|
||||
("Cambié mi coche _____ uno nuevo.", "por", "para", "Por for exchange."),
|
||||
("Vamos _____ la costa.", "para", "por", "Para for destination."),
|
||||
("_____ ejemplo, esto es fácil.", "Por", "Para", "Fixed expression: por ejemplo."),
|
||||
("Mandé el paquete _____ correo.", "por", "para", "Por for means."),
|
||||
("Compré flores _____ mi madre.", "para", "por", "Para for recipient."),
|
||||
("Corrieron _____ la calle.", "por", "para", "Por for through/along."),
|
||||
("Estudia mucho _____ sacar buenas notas.", "para", "por", "Para for goal."),
|
||||
("_____ eso no vine.", "Por", "Para", "Por for reason (that's why)."),
|
||||
("Ella trabaja _____ ganar dinero.", "para", "por", "Para for purpose."),
|
||||
("Fueron criticados _____ los medios.", "por", "para", "Por for agent in passive."),
|
||||
("Tengo un mensaje _____ usted.", "para", "por", "Para for recipient."),
|
||||
("Votamos _____ el candidato.", "por", "para", "Por for in favor of."),
|
||||
("_____ lo menos, intenta.", "Por", "Para", "Fixed expression: por lo menos."),
|
||||
("La clase es _____ principiantes.", "para", "por", "Para for intended audience."),
|
||||
("Pagamos mucho _____ la cena.", "por", "para", "Por for exchange."),
|
||||
("Salgo _____ el aeropuerto a las cinco.", "para", "por", "Para for destination."),
|
||||
("Esperamos _____ una hora.", "por", "para", "Por for duration."),
|
||||
("_____ fin llegamos.", "Por", "Para", "Fixed expression: por fin."),
|
||||
("¿_____ qué estudias español?", "Por", "Para", "Por qué — asking for reason."),
|
||||
("¿_____ cuándo es el proyecto?", "Para", "Por", "Para for deadline."),
|
||||
("Lo terminé _____ la noche.", "por", "para", "Por for time of day (general)."),
|
||||
("Este dinero es _____ la renta.", "para", "por", "Para for purpose/intended use."),
|
||||
("_____ mí, está bien.", "Para", "Por", "Para for opinion (in my view)."),
|
||||
("Ella habla _____ todos nosotros.", "por", "para", "Por for on behalf of."),
|
||||
("Voy a estar aquí _____ tres semanas.", "por", "para", "Por for duration."),
|
||||
("Estas vitaminas son _____ la salud.", "para", "por", "Para for purpose."),
|
||||
("Navegamos _____ el río.", "por", "para", "Por for along/through."),
|
||||
("La tarea es _____ mañana.", "para", "por", "Para for deadline."),
|
||||
("Fue elegido _____ el pueblo.", "por", "para", "Por for agent."),
|
||||
("Estamos aquí _____ ayudarte.", "para", "por", "Para for purpose."),
|
||||
("Me preocupo _____ mi familia.", "por", "para", "Por for concern about."),
|
||||
("Hay una sorpresa _____ ti.", "para", "por", "Para for recipient."),
|
||||
("_____ siempre te amaré.", "Para", "Por", "Fixed expression: para siempre."),
|
||||
("Vendí el coche _____ cinco mil.", "por", "para", "Por for price/exchange."),
|
||||
("Ella se fue _____ la mañana.", "por", "para", "Por for general time."),
|
||||
("Este regalo es perfecto _____ ella.", "para", "por", "Para for recipient."),
|
||||
("Brindamos _____ tu éxito.", "por", "para", "Por for toasting/in honor of."),
|
||||
("Necesito un traje _____ la boda.", "para", "por", "Para for occasion."),
|
||||
("Caminé _____ la playa al atardecer.", "por", "para", "Por for along."),
|
||||
("_____ nada, fue un placer.", "De", "Para", "Actually 'de nada' — trick question. Skip."),
|
||||
("Me quedé en casa _____ la lluvia.", "por", "para", "Por for cause."),
|
||||
("Ahorro dinero _____ comprar una casa.", "para", "por", "Para for goal."),
|
||||
("El tren pasa _____ aquí.", "por", "para", "Por for through/by here."),
|
||||
("Tengo algo especial _____ ti.", "para", "por", "Para for recipient."),
|
||||
("Lo dejé _____ después.", "para", "por", "Para for later (intended time)."),
|
||||
("Murió _____ su país.", "por", "para", "Por for sacrifice/cause."),
|
||||
("La reunión es _____ las dos.", "para", "por", "Para for deadline/scheduled."),
|
||||
("Pregunté _____ ti en la fiesta.", "por", "para", "Por for asking about someone."),
|
||||
("Estudio español _____ mi trabajo.", "para", "por", "Para for purpose."),
|
||||
("_____ lo general, como a las doce.", "Por", "Para", "Fixed expression: por lo general."),
|
||||
("Hice la comida _____ los invitados.", "para", "por", "Para for recipients."),
|
||||
("Ella está aquí _____ unas semanas.", "por", "para", "Por for duration."),
|
||||
("El avión sale _____ Buenos Aires.", "para", "por", "Para for destination."),
|
||||
("Cambié euros _____ dólares.", "por", "para", "Por for exchange."),
|
||||
("Corro _____ mantenerme en forma.", "para", "por", "Para for purpose."),
|
||||
("Fueron aplaudidos _____ el público.", "por", "para", "Por for agent."),
|
||||
("Ven _____ acá.", "para", "por", "Para for direction toward."),
|
||||
("_____ suerte, no pasó nada.", "Por", "Para", "Fixed expression: por suerte."),
|
||||
("Compré una torta _____ su cumpleaños.", "para", "por", "Para for occasion."),
|
||||
("Viajé _____ toda Europa.", "por", "para", "Por for throughout."),
|
||||
("El informe es _____ el director.", "para", "por", "Para for recipient."),
|
||||
("Llegué tarde _____ el tráfico.", "por", "para", "Por for cause."),
|
||||
("Está listo _____ servir.", "para", "por", "Para for readiness/purpose."),
|
||||
("Doy gracias _____ todo.", "por", "para", "Por for gratitude about."),
|
||||
("Este postre es _____ compartir.", "para", "por", "Para for intended use."),
|
||||
("Fui al mercado _____ frutas.", "por", "para", "Por for going to fetch."),
|
||||
("La canción fue compuesta _____ él.", "por", "para", "Por for agent."),
|
||||
("Traje comida _____ todos.", "para", "por", "Para for recipients."),
|
||||
("Nos fuimos _____ la puerta de atrás.", "por", "para", "Por for through/via."),
|
||||
("Ella cocina _____ su familia.", "para", "por", "Para for beneficiary."),
|
||||
("Dieron su vida _____ la patria.", "por", "para", "Por for sacrifice."),
|
||||
("Tengo una cita _____ el miércoles.", "para", "por", "Para for deadline/date."),
|
||||
("Lo hago _____ amor.", "por", "para", "Por for motivation."),
|
||||
("_____ colmo, empezó a llover.", "Para", "Por", "Fixed expression: para colmo."),
|
||||
("Mandamos invitaciones _____ correo.", "por", "para", "Por for means."),
|
||||
("Vamos a brindar _____ los novios.", "por", "para", "Por for in honor of."),
|
||||
("Reservé una mesa _____ cuatro personas.", "para", "por", "Para for intended use."),
|
||||
]
|
||||
return data.enumerated().map { i, d in
|
||||
GrammarExercise(id: "pp\(i+1)", prompt: "Choose por or para:", sentence: d.0, correctAnswer: d.1, options: [d.1, d.2].shuffled(), explanation: d.3)
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Preterite vs Imperfect
|
||||
// MARK: - Preterite vs Imperfect (100)
|
||||
|
||||
private static let preteriteVsImperfectExercises = [
|
||||
GrammarExercise(id: "pi1", prompt: "Choose the correct tense:", sentence: "Ayer _____ una pizza. (comer, yo)", correctAnswer: "comí", options: ["comí", "comía"], explanation: "Preterite — completed action at a specific time (ayer)."),
|
||||
GrammarExercise(id: "pi2", prompt: "Choose the correct tense:", sentence: "Cuando era niño, _____ en el parque. (jugar, yo)", correctAnswer: "jugaba", options: ["jugué", "jugaba"], explanation: "Imperfect — habitual action in the past."),
|
||||
GrammarExercise(id: "pi3", prompt: "Choose the correct tense:", sentence: "Ella _____ a las ocho. (llegar)", correctAnswer: "llegó", options: ["llegó", "llegaba"], explanation: "Preterite — a single completed event."),
|
||||
GrammarExercise(id: "pi4", prompt: "Choose the correct tense:", sentence: "_____ sol y los pájaros cantaban. (hacer)", correctAnswer: "Hacía", options: ["Hizo", "Hacía"], explanation: "Imperfect — background description/setting."),
|
||||
GrammarExercise(id: "pi5", prompt: "Choose the correct tense:", sentence: "De repente, _____ el teléfono. (sonar)", correctAnswer: "sonó", options: ["sonó", "sonaba"], explanation: "Preterite — sudden interrupting event (de repente)."),
|
||||
GrammarExercise(id: "pi6", prompt: "Choose the correct tense:", sentence: "Siempre _____ juntos los domingos. (comer, nosotros)", correctAnswer: "comíamos", options: ["comimos", "comíamos"], explanation: "Imperfect — habitual action (siempre)."),
|
||||
]
|
||||
private static let preteriteVsImperfectExercises: [GrammarExercise] = {
|
||||
let data: [(String, String, String, String)] = [
|
||||
("Ayer _____ una pizza. (comer, yo)", "comí", "comía", "Preterite — completed action (ayer)."),
|
||||
("Cuando era niño, _____ en el parque. (jugar, yo)", "jugaba", "jugué", "Imperfect — habitual past action."),
|
||||
("Ella _____ a las ocho. (llegar)", "llegó", "llegaba", "Preterite — single completed event."),
|
||||
("_____ sol y los pájaros cantaban. (hacer)", "Hacía", "Hizo", "Imperfect — background description."),
|
||||
("De repente, _____ el teléfono. (sonar)", "sonó", "sonaba", "Preterite — sudden event (de repente)."),
|
||||
("Siempre _____ juntos los domingos. (comer, nosotros)", "comíamos", "comimos", "Imperfect — habitual (siempre)."),
|
||||
("Ayer _____ al cine. (ir, nosotros)", "fuimos", "íbamos", "Preterite — specific completed action."),
|
||||
("Cuando _____ joven, viajaba mucho. (ser, yo)", "era", "fui", "Imperfect — ongoing past state."),
|
||||
("Anoche _____ una película muy buena. (ver, yo)", "vi", "veía", "Preterite — specific time (anoche)."),
|
||||
("Todos los días _____ a la escuela. (caminar, ella)", "caminaba", "caminó", "Imperfect — habitual (todos los días)."),
|
||||
("El año pasado _____ a España. (viajar, ellos)", "viajaron", "viajaban", "Preterite — specific time (el año pasado)."),
|
||||
("Mientras yo _____, ella cocinaba. (estudiar)", "estudiaba", "estudié", "Imperfect — simultaneous background."),
|
||||
("_____ las diez cuando llegamos. (ser)", "Eran", "Fueron", "Imperfect — time description."),
|
||||
("Él _____ la puerta y salió. (abrir)", "abrió", "abría", "Preterite — sequential action."),
|
||||
("De niña, _____ helado cada viernes. (comer, ella)", "comía", "comió", "Imperfect — habitual (de niña)."),
|
||||
("_____ mucho frío ese día. (hacer)", "Hacía", "Hizo", "Imperfect — weather description."),
|
||||
("Una vez, _____ a un famoso. (conocer, yo)", "conocí", "conocía", "Preterite — met for first time."),
|
||||
("Yo _____ a Juan desde niño. (conocer)", "conocía", "conocí", "Imperfect — ongoing familiarity."),
|
||||
("_____ la verdad ayer. (saber, yo)", "Supe", "Sabía", "Preterite — found out (new info)."),
|
||||
("Yo _____ la verdad todo el tiempo. (saber)", "sabía", "supe", "Imperfect — knew (ongoing)."),
|
||||
("Ella _____ un vestido azul. (llevar)", "llevaba", "llevó", "Imperfect — description of what she was wearing."),
|
||||
("Él _____ el vaso y se rompió. (dejar caer)", "dejó caer", "dejaba caer", "Preterite — single event."),
|
||||
("Generalmente _____ a las siete. (despertarse, yo)", "me despertaba", "me desperté", "Imperfect — habitual (generalmente)."),
|
||||
("Esa noche _____ mucho. (llover)", "llovió", "llovía", "Preterite — bounded event (esa noche)."),
|
||||
("_____ lloviendo cuando salí. (estar)", "Estaba", "Estuvo", "Imperfect — ongoing background."),
|
||||
("Yo _____ cuando sonó la alarma. (dormir)", "dormía", "dormí", "Imperfect — interrupted background."),
|
||||
("Ella _____ tres libros el verano pasado. (leer)", "leyó", "leía", "Preterite — counted completed actions."),
|
||||
("Antes, _____ mucho café. (tomar, yo)", "tomaba", "tomé", "Imperfect — habitual (antes)."),
|
||||
("El lunes _____ al médico. (ir, yo)", "fui", "iba", "Preterite — specific day."),
|
||||
("Cada verano _____ a la playa. (ir, nosotros)", "íbamos", "fuimos", "Imperfect — habitual (cada verano)."),
|
||||
("Él me _____ un secreto. (contar)", "contó", "contaba", "Preterite — single event."),
|
||||
("Ella siempre me _____ historias. (contar)", "contaba", "contó", "Imperfect — habitual (siempre)."),
|
||||
("_____ mucha gente en la fiesta. (haber)", "Había", "Hubo", "Imperfect — scene description."),
|
||||
("_____ un accidente en la autopista. (haber)", "Hubo", "Había", "Preterite — single event."),
|
||||
("Cuando _____ al parque, vi a Juan. (llegar, yo)", "llegué", "llegaba", "Preterite — completed action."),
|
||||
("Mientras _____ al parque, vi a Juan. (caminar, yo)", "caminaba", "caminé", "Imperfect — ongoing when interrupted."),
|
||||
("Ella _____ la guitarra de joven. (tocar)", "tocaba", "tocó", "Imperfect — used to (habitual)."),
|
||||
("Ayer ella _____ la guitarra en el concierto. (tocar)", "tocó", "tocaba", "Preterite — specific event."),
|
||||
("Mi abuela _____ muy bien. (cocinar)", "cocinaba", "cocinó", "Imperfect — description of ability."),
|
||||
("Mi abuela _____ una paella ayer. (cocinar)", "cocinó", "cocinaba", "Preterite — specific completed action."),
|
||||
("Yo _____ quince años cuando nos mudamos. (tener)", "tenía", "tuve", "Imperfect — age as background."),
|
||||
("Él _____ un accidente terrible. (tener)", "tuvo", "tenía", "Preterite — single event."),
|
||||
("Nosotros _____ en esa casa por diez años. (vivir)", "vivimos", "vivíamos", "Preterite — bounded duration (completed)."),
|
||||
("Nosotros _____ en esa casa cuando era niño. (vivir)", "vivíamos", "vivimos", "Imperfect — ongoing past setting."),
|
||||
("Ella _____ y se fue. (levantarse)", "se levantó", "se levantaba", "Preterite — sequential."),
|
||||
("Ella _____ temprano cada mañana. (levantarse)", "se levantaba", "se levantó", "Imperfect — habitual."),
|
||||
("¿Qué _____ cuando te llamé? (hacer, tú)", "hacías", "hiciste", "Imperfect — in progress when interrupted."),
|
||||
("¿Qué _____ ayer después de clase? (hacer, tú)", "hiciste", "hacías", "Preterite — completed action."),
|
||||
("El perro _____ todo el día. (ladrar)", "ladró", "ladraba", "Could be both — preterite bounds the whole day."),
|
||||
("El perro _____ cuando llegó el cartero. (ladrar)", "ladraba", "ladró", "Imperfect — background action."),
|
||||
("Yo _____ mucho en esa época. (trabajar)", "trabajaba", "trabajé", "Imperfect — ongoing past period."),
|
||||
("Yo _____ allí por cinco años. (trabajar)", "trabajé", "trabajaba", "Preterite — completed bounded duration."),
|
||||
("La tienda _____ a las nueve. (abrir)", "abrió", "abría", "Preterite — one-time event."),
|
||||
("La tienda _____ a las nueve todos los días. (abrir)", "abría", "abrió", "Imperfect — habitual."),
|
||||
("Él _____ el periódico cada mañana. (leer)", "leía", "leyó", "Imperfect — habitual."),
|
||||
("Él _____ el periódico y luego desayunó. (leer)", "leyó", "leía", "Preterite — sequential."),
|
||||
("_____ una noche oscura y fría. (ser)", "Era", "Fue", "Imperfect — scene setting."),
|
||||
("_____ un día memorable. (ser)", "Fue", "Era", "Preterite — judgment about completed day."),
|
||||
("Yo no _____ nada. (decir)", "dije", "decía", "Preterite — single action."),
|
||||
("Ella siempre _____ la verdad. (decir)", "decía", "dijo", "Imperfect — habitual."),
|
||||
("Los niños _____ en el jardín. (jugar)", "jugaban", "jugaron", "Imperfect — ongoing scene."),
|
||||
("Los niños _____ toda la tarde. (jugar)", "jugaron", "jugaban", "Preterite — bounded duration."),
|
||||
("Cuando _____ niño, mi padre me leía cuentos. (ser, yo)", "era", "fui", "Imperfect — background."),
|
||||
("Él _____ presidente por ocho años. (ser)", "fue", "era", "Preterite — bounded duration."),
|
||||
("_____ las seis de la mañana cuando desperté. (ser)", "Eran", "Fueron", "Imperfect — time."),
|
||||
("_____ un buen año para la empresa. (ser)", "Fue", "Era", "Preterite — completed period judged."),
|
||||
("Ella _____ triste cuando recibió la noticia. (ponerse)", "se puso", "se ponía", "Preterite — became (change of state)."),
|
||||
("Ella _____ triste cada vez que llovía. (ponerse)", "se ponía", "se puso", "Imperfect — habitual reaction."),
|
||||
("Yo _____ poder ir, pero no pude. (querer)", "quería", "quise", "Imperfect — wanted (ongoing desire)."),
|
||||
("Él no _____ hacerlo. (querer)", "quiso", "quería", "Preterite — refused (completed decision)."),
|
||||
("Nosotros _____ a la playa el domingo. (ir)", "fuimos", "íbamos", "Preterite — specific completed trip."),
|
||||
("_____ a la playa cuando empezó a llover. (ir, nosotros)", "Íbamos", "Fuimos", "Imperfect — were going (interrupted)."),
|
||||
("Ella _____ muy contenta en su nuevo trabajo. (estar)", "estaba", "estuvo", "Imperfect — ongoing state."),
|
||||
("Ella _____ enferma toda la semana. (estar)", "estuvo", "estaba", "Preterite — bounded duration."),
|
||||
("Mi abuelo _____ cuentos increíbles. (contar)", "contaba", "contó", "Imperfect — used to tell."),
|
||||
("Esa vez mi abuelo nos _____ una historia de miedo. (contar)", "contó", "contaba", "Preterite — specific occasion."),
|
||||
("Yo _____ en el sofá cuando oí un ruido. (estar)", "estaba", "estuve", "Imperfect — background when interrupted."),
|
||||
("Ella _____ rápidamente y llamó al médico. (vestirse)", "se vistió", "se vestía", "Preterite — sequential."),
|
||||
("A menudo _____ por el bosque. (caminar, nosotros)", "caminábamos", "caminamos", "Imperfect — habitual (a menudo)."),
|
||||
("Esa tarde _____ por el bosque. (caminar, nosotros)", "caminamos", "caminábamos", "Preterite — specific occasion."),
|
||||
("La profesora _____ muy estricta. (ser)", "era", "fue", "Imperfect — description."),
|
||||
("La profesora _____ muy amable con nosotros ese día. (ser)", "fue", "era", "Preterite — specific day."),
|
||||
("¿_____ mucho en tu ciudad natal? (llover)", "Llovía", "Llovió", "Imperfect — general weather pattern."),
|
||||
("¿_____ ayer? (llover)", "Llovió", "Llovía", "Preterite — specific day."),
|
||||
("El niño _____ porque tenía hambre. (llorar)", "lloraba", "lloró", "Imperfect — ongoing due to reason."),
|
||||
("El niño _____ cuando se cayó. (llorar)", "lloró", "lloraba", "Preterite — reaction to event."),
|
||||
("Yo _____ cocinar cuando era joven. (no saber)", "no sabía", "no supe", "Imperfect — ongoing lack."),
|
||||
("Yo _____ cocinar hasta que tomé clases. (no saber)", "no supe", "no sabía", "Preterite — realized/found out."),
|
||||
("Ella _____ la carta y empezó a llorar. (leer)", "leyó", "leía", "Preterite — completed then next action."),
|
||||
("Él _____ cuando entré. (hablar)", "hablaba", "habló", "Imperfect — was speaking (interrupted)."),
|
||||
("Nosotros _____ en ese restaurante muchas veces. (cenar)", "cenábamos", "cenamos", "Imperfect — habitual."),
|
||||
("Nosotros _____ en ese restaurante anoche. (cenar)", "cenamos", "cenábamos", "Preterite — specific night."),
|
||||
("_____ un día perfecto para ir a la playa. (ser)", "Era", "Fue", "Imperfect — description/setting."),
|
||||
("Ella _____ la primera en llegar. (ser)", "fue", "era", "Preterite — completed fact."),
|
||||
("Yo _____ en silencio mientras él hablaba. (escuchar)", "escuchaba", "escuché", "Imperfect — simultaneous."),
|
||||
("Yo _____ todo su discurso. (escuchar)", "escuché", "escuchaba", "Preterite — listened to completion."),
|
||||
("El tren _____ a las tres en punto. (salir)", "salió", "salía", "Preterite — specific departure."),
|
||||
("El tren _____ a las tres todos los días. (salir)", "salía", "salió", "Imperfect — habitual schedule."),
|
||||
("Ella _____ el piano maravillosamente. (tocar)", "tocaba", "tocó", "Imperfect — ability description."),
|
||||
]
|
||||
return data.enumerated().map { i, d in
|
||||
GrammarExercise(id: "pi\(i+1)", prompt: "Choose the correct tense:", sentence: d.0, correctAnswer: d.1, options: [d.1, d.2].shuffled(), explanation: d.3)
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Subjunctive Triggers
|
||||
// MARK: - Subjunctive Triggers (100)
|
||||
|
||||
private static let subjunctiveTriggerExercises = [
|
||||
GrammarExercise(id: "st1", prompt: "Subjunctive or indicative?", sentence: "Quiero que _____ a la fiesta. (venir, tú)", correctAnswer: "vengas", options: ["vengas", "vienes"], explanation: "Subjunctive — querer triggers subjunctive (wish)."),
|
||||
GrammarExercise(id: "st2", prompt: "Subjunctive or indicative?", sentence: "Es necesario que _____ más. (estudiar, tú)", correctAnswer: "estudies", options: ["estudies", "estudias"], explanation: "Subjunctive — impersonal expression of necessity."),
|
||||
GrammarExercise(id: "st3", prompt: "Subjunctive or indicative?", sentence: "Sé que ella _____ aquí. (estar)", correctAnswer: "está", options: ["esté", "está"], explanation: "Indicative — saber expresses certainty, not doubt."),
|
||||
GrammarExercise(id: "st4", prompt: "Subjunctive or indicative?", sentence: "Me alegra que _____ aquí. (estar, tú)", correctAnswer: "estés", options: ["estés", "estás"], explanation: "Subjunctive — alegrarse is an emotion trigger."),
|
||||
GrammarExercise(id: "st5", prompt: "Subjunctive or indicative?", sentence: "Dudo que _____ la verdad. (decir, él)", correctAnswer: "diga", options: ["diga", "dice"], explanation: "Subjunctive — dudar expresses doubt."),
|
||||
GrammarExercise(id: "st6", prompt: "Subjunctive or indicative?", sentence: "Es posible que _____ mañana. (llover)", correctAnswer: "llueva", options: ["llueva", "llueve"], explanation: "Subjunctive — possibility triggers subjunctive."),
|
||||
]
|
||||
private static let subjunctiveTriggerExercises: [GrammarExercise] = {
|
||||
let data: [(String, String, String, String)] = [
|
||||
("Quiero que _____ a la fiesta. (venir, tú)", "vengas", "vienes", "Subjunctive — querer (wish)."),
|
||||
("Es necesario que _____ más. (estudiar, tú)", "estudies", "estudias", "Subjunctive — impersonal expression."),
|
||||
("Sé que ella _____ aquí. (estar)", "está", "esté", "Indicative — saber (certainty)."),
|
||||
("Me alegra que _____ aquí. (estar, tú)", "estés", "estás", "Subjunctive — emotion (alegrarse)."),
|
||||
("Dudo que _____ la verdad. (decir, él)", "diga", "dice", "Subjunctive — doubt (dudar)."),
|
||||
("Es posible que _____ mañana. (llover)", "llueva", "llueve", "Subjunctive — possibility."),
|
||||
("Espero que _____ bien. (estar, tú)", "estés", "estás", "Subjunctive — hope (esperar)."),
|
||||
("Creo que _____ razón. (tener, tú)", "tienes", "tengas", "Indicative — creer (belief)."),
|
||||
("No creo que _____ razón. (tener, tú)", "tengas", "tienes", "Subjunctive — negated belief."),
|
||||
("Es importante que _____ puntual. (ser, tú)", "seas", "eres", "Subjunctive — impersonal expression."),
|
||||
("Ojalá que _____ buen tiempo. (hacer)", "haga", "hace", "Subjunctive — ojalá (wish)."),
|
||||
("Te pido que _____ silencio. (guardar)", "guardes", "guardas", "Subjunctive — pedir (request)."),
|
||||
("Es cierto que _____ mucho. (trabajar, ella)", "trabaja", "trabaje", "Indicative — es cierto (certainty)."),
|
||||
("No es cierto que _____ mucho. (trabajar, ella)", "trabaje", "trabaja", "Subjunctive — negated certainty."),
|
||||
("Prefiero que _____ tú. (conducir)", "conduzcas", "conduces", "Subjunctive — preferir (preference)."),
|
||||
("Siento que no _____ venir. (poder, tú)", "puedas", "puedes", "Subjunctive — sentir (emotion)."),
|
||||
("Es obvio que _____ cansado. (estar, él)", "está", "esté", "Indicative — es obvio (certainty)."),
|
||||
("Necesito que me _____ un favor. (hacer, tú)", "hagas", "haces", "Subjunctive — necesitar que."),
|
||||
("Es mejor que _____ temprano. (salir, nosotros)", "salgamos", "salimos", "Subjunctive — es mejor que."),
|
||||
("Estoy seguro de que _____ bien. (ir, todo)", "va", "vaya", "Indicative — estar seguro (certainty)."),
|
||||
("Temo que _____ demasiado tarde. (ser)", "sea", "es", "Subjunctive — temer (fear)."),
|
||||
("Sugiero que _____ más agua. (beber, tú)", "bebas", "bebes", "Subjunctive — sugerir (suggestion)."),
|
||||
("Es verdad que _____ difícil. (ser)", "es", "sea", "Indicative — es verdad (truth)."),
|
||||
("No es verdad que _____ difícil. (ser)", "sea", "es", "Subjunctive — negated truth."),
|
||||
("Quiero que _____ la puerta. (cerrar, tú)", "cierres", "cierras", "Subjunctive — querer."),
|
||||
("Deseo que _____ feliz. (ser, tú)", "seas", "eres", "Subjunctive — desear (wish)."),
|
||||
("Es probable que _____ tarde. (llegar, ellos)", "lleguen", "llegan", "Subjunctive — es probable."),
|
||||
("Es improbable que _____ hoy. (nevar)", "nieve", "nieva", "Subjunctive — es improbable."),
|
||||
("Me molesta que _____ tanto ruido. (hacer, ellos)", "hagan", "hacen", "Subjunctive — emotion (molestar)."),
|
||||
("Es evidente que _____ talento. (tener, ella)", "tiene", "tenga", "Indicative — es evidente."),
|
||||
("Recomiendo que _____ este libro. (leer, tú)", "leas", "lees", "Subjunctive — recomendar."),
|
||||
("Exijo que _____ a tiempo. (llegar, todos)", "lleguen", "llegan", "Subjunctive — exigir (demand)."),
|
||||
("Es una lástima que no _____ ir. (poder, tú)", "puedas", "puedes", "Subjunctive — es una lástima."),
|
||||
("Me sorprende que _____ tan joven. (ser, él)", "sea", "es", "Subjunctive — surprise (emotion)."),
|
||||
("Insisto en que _____ la verdad. (decir, tú)", "digas", "dices", "Subjunctive — insistir."),
|
||||
("Es extraño que no _____ aquí. (estar, ella)", "esté", "está", "Subjunctive — es extraño."),
|
||||
("Prohíbo que _____ en clase. (comer, ustedes)", "coman", "comen", "Subjunctive — prohibir."),
|
||||
("Permito que _____ temprano. (salir, tú)", "salgas", "sales", "Subjunctive — permitir."),
|
||||
("Es dudoso que _____ a tiempo. (terminar, nosotros)", "terminemos", "terminamos", "Subjunctive — es dudoso."),
|
||||
("Pienso que _____ inteligente. (ser, ella)", "es", "sea", "Indicative — pensar (opinion)."),
|
||||
("No pienso que _____ justo. (ser)", "sea", "es", "Subjunctive — negated opinion."),
|
||||
("Me encanta que _____ español. (hablar, tú)", "hables", "hablas", "Subjunctive — emotion (encantar)."),
|
||||
("Es fantástico que _____ aquí. (estar, ustedes)", "estén", "están", "Subjunctive — es fantástico."),
|
||||
("Mando que _____ inmediatamente. (venir, tú)", "vengas", "vienes", "Subjunctive — mandar."),
|
||||
("Es ridículo que _____ eso. (pensar, él)", "piense", "piensa", "Subjunctive — es ridículo."),
|
||||
("Busco a alguien que _____ francés. (hablar)", "hable", "habla", "Subjunctive — nonexistent antecedent."),
|
||||
("Conozco a alguien que _____ francés. (hablar)", "habla", "hable", "Indicative — known antecedent."),
|
||||
("No hay nadie que _____ eso. (saber)", "sepa", "sabe", "Subjunctive — negative antecedent."),
|
||||
("Cuando _____ a casa, llámame. (llegar, tú)", "llegues", "llegas", "Subjunctive — cuando + future."),
|
||||
("Cuando _____ a casa, siempre como. (llegar, yo)", "llego", "llegue", "Indicative — cuando + habitual."),
|
||||
("Antes de que _____, quiero decirte algo. (ir, tú)", "te vayas", "te vas", "Subjunctive — antes de que."),
|
||||
("Después de que _____, descansaremos. (terminar, nosotros)", "terminemos", "terminamos", "Subjunctive — después de que + future."),
|
||||
("Aunque _____ mucho, iré. (llover)", "llueva", "llueve", "Subjunctive — aunque + hypothetical."),
|
||||
("Aunque _____ mucho, siempre voy. (llover)", "llueve", "llueva", "Indicative — aunque + factual."),
|
||||
("Para que _____ bien, debes practicar. (salir, todo)", "salga", "sale", "Subjunctive — para que."),
|
||||
("Sin que nadie lo _____. (saber)", "sepa", "sabe", "Subjunctive — sin que."),
|
||||
("Con tal de que _____ contento. (estar, tú)", "estés", "estás", "Subjunctive — con tal de que."),
|
||||
("A menos que _____ temprano, perderás el tren. (salir, tú)", "salgas", "sales", "Subjunctive — a menos que."),
|
||||
("En caso de que _____, llámame. (necesitar, tú)", "necesites", "necesitas", "Subjunctive — en caso de que."),
|
||||
("Mientras _____ aquí, todo estará bien. (estar, yo)", "esté", "estoy", "Subjunctive — mientras + uncertainty."),
|
||||
("Tan pronto como _____, empezamos. (llegar, él)", "llegue", "llega", "Subjunctive — tan pronto como + future."),
|
||||
("Hasta que no _____, no me voy. (terminar, tú)", "termines", "terminas", "Subjunctive — hasta que + future."),
|
||||
("Es hora de que _____ la verdad. (saber, tú)", "sepas", "sabes", "Subjunctive — es hora de que."),
|
||||
("Espero que _____ un buen día. (tener, tú)", "tengas", "tienes", "Subjunctive — esperar."),
|
||||
("Dile que _____ aquí. (venir)", "venga", "viene", "Subjunctive — indirect command."),
|
||||
("No hay nada que _____ hacer. (poder, yo)", "pueda", "puedo", "Subjunctive — negative existence."),
|
||||
("Es normal que _____ nervioso. (estar, tú)", "estés", "estás", "Subjunctive — es normal que."),
|
||||
("Me da miedo que _____ sola. (ir, ella)", "vaya", "va", "Subjunctive — emotion (dar miedo)."),
|
||||
("Es urgente que _____ al doctor. (ir, tú)", "vayas", "vas", "Subjunctive — es urgente."),
|
||||
("No quiero que _____ tarde. (llegar, tú)", "llegues", "llegas", "Subjunctive — no querer."),
|
||||
("Tal vez _____ razón. (tener, tú)", "tengas", "tienes", "Subjunctive — tal vez."),
|
||||
("Quizás _____ mañana. (venir, ella)", "venga", "viene", "Subjunctive — quizás."),
|
||||
("Es imposible que _____ tan rápido. (terminar, él)", "termine", "termina", "Subjunctive — es imposible."),
|
||||
("Parece que _____ contento. (estar, él)", "está", "esté", "Indicative — parece que (appears)."),
|
||||
("No parece que _____ contento. (estar, él)", "esté", "está", "Subjunctive — negated parece."),
|
||||
("Dice que _____ mañana. (venir)", "viene", "venga", "Indicative — decir reporting fact."),
|
||||
("Dice que _____ mañana. (venir — as command)", "venga", "viene", "Subjunctive — decir as command."),
|
||||
("Me preocupa que no _____ bien. (sentirse, tú)", "te sientas", "te sientes", "Subjunctive — emotion (preocupar)."),
|
||||
("Es raro que _____ tanto calor. (hacer)", "haga", "hace", "Subjunctive — es raro."),
|
||||
("Confío en que _____ bien. (salir, todo)", "salga", "sale", "Subjunctive — confiar en que."),
|
||||
("Es fundamental que _____ la tarea. (hacer, ustedes)", "hagan", "hacen", "Subjunctive — es fundamental."),
|
||||
("Me pone triste que _____ así. (ser, las cosas)", "sean", "son", "Subjunctive — emotion."),
|
||||
("Aconsejo que _____ más temprano. (acostarse, tú)", "te acuestes", "te acuestas", "Subjunctive — aconsejar."),
|
||||
("Es bueno que _____ ejercicio. (hacer, tú)", "hagas", "haces", "Subjunctive — es bueno que."),
|
||||
("Es malo que _____ tanto. (fumar, él)", "fume", "fuma", "Subjunctive — es malo que."),
|
||||
("Me gusta que _____ aquí. (estar, tú)", "estés", "estás", "Subjunctive — emotion (gustar que)."),
|
||||
("No creo que _____ la respuesta. (saber, él)", "sepa", "sabe", "Subjunctive — negated belief."),
|
||||
("Es increíble que _____ tan rápido. (aprender, ella)", "aprenda", "aprende", "Subjunctive — es increíble."),
|
||||
("Ojala _____ más tiempo. (tener, nosotros)", "tengamos", "tenemos", "Subjunctive — ojalá."),
|
||||
("Niego que _____ la verdad. (ser, eso)", "sea", "es", "Subjunctive — negar (deny)."),
|
||||
("Es preciso que _____ ahora. (salir, nosotros)", "salgamos", "salimos", "Subjunctive — es preciso."),
|
||||
("Te aconsejo que _____ paciencia. (tener)", "tengas", "tienes", "Subjunctive — aconsejar."),
|
||||
("Basta que _____ una vez. (decir, tú)", "digas", "dices", "Subjunctive — bastar que."),
|
||||
("Conviene que _____ preparado. (estar, tú)", "estés", "estás", "Subjunctive — convenir que."),
|
||||
("Es natural que _____ preocupado. (estar, él)", "esté", "está", "Subjunctive — es natural."),
|
||||
("Ruego que me _____. (perdonar, tú)", "perdones", "perdonas", "Subjunctive — rogar."),
|
||||
("Es suficiente que _____ una carta. (escribir, tú)", "escribas", "escribes", "Subjunctive — es suficiente que."),
|
||||
("Me fascina que _____ tantos idiomas. (hablar, ella)", "hable", "habla", "Subjunctive — emotion (fascinar)."),
|
||||
("Hace falta que _____ más esfuerzo. (poner, nosotros)", "pongamos", "ponemos", "Subjunctive — hacer falta que."),
|
||||
]
|
||||
return data.enumerated().map { i, d in
|
||||
GrammarExercise(id: "st\(i+1)", prompt: "Subjunctive or indicative?", sentence: d.0, correctAnswer: d.1, options: [d.1, d.2].shuffled(), explanation: d.3)
|
||||
}
|
||||
}()
|
||||
|
||||
// MARK: - Personal A
|
||||
// MARK: - Personal A (100)
|
||||
|
||||
private static let personalAExercises = [
|
||||
GrammarExercise(id: "pa1", prompt: "Is the personal 'a' needed?", sentence: "Veo _____ María.", correctAnswer: "a", options: ["a", "(nothing)"], explanation: "Personal a needed — María is a specific person as direct object."),
|
||||
GrammarExercise(id: "pa2", prompt: "Is the personal 'a' needed?", sentence: "Veo _____ la mesa.", correctAnswer: "(nothing)", options: ["a", "(nothing)"], explanation: "No personal a — la mesa is a thing, not a person."),
|
||||
GrammarExercise(id: "pa3", prompt: "Is the personal 'a' needed?", sentence: "Tengo _____ dos hermanos.", correctAnswer: "(nothing)", options: ["a", "(nothing)"], explanation: "No personal a after tener — important exception."),
|
||||
GrammarExercise(id: "pa4", prompt: "Is the personal 'a' needed?", sentence: "Conozco _____ tu profesor.", correctAnswer: "a", options: ["a", "(nothing)"], explanation: "Personal a needed — specific person as direct object."),
|
||||
GrammarExercise(id: "pa5", prompt: "Is the personal 'a' needed?", sentence: "Busco _____ un doctor.", correctAnswer: "(nothing)", options: ["a", "(nothing)"], explanation: "No personal a — non-specific person (any doctor)."),
|
||||
GrammarExercise(id: "pa6", prompt: "Is the personal 'a' needed?", sentence: "No veo _____ nadie.", correctAnswer: "a", options: ["a", "(nothing)"], explanation: "Personal a with nadie — indefinite pronoun referring to people."),
|
||||
]
|
||||
private static let personalAExercises: [GrammarExercise] = {
|
||||
let data: [(String, String, String, String)] = [
|
||||
("Veo _____ María.", "a", "(nothing)", "Personal a — specific person as direct object."),
|
||||
("Veo _____ la mesa.", "(nothing)", "a", "No personal a — thing, not person."),
|
||||
("Tengo _____ dos hermanos.", "(nothing)", "a", "No personal a after tener."),
|
||||
("Conozco _____ tu profesor.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Busco _____ un doctor.", "(nothing)", "a", "No personal a — non-specific person."),
|
||||
("No veo _____ nadie.", "a", "(nothing)", "Personal a with nadie."),
|
||||
("Llamo _____ mi madre.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Extraño _____ mis amigos.", "a", "(nothing)", "Personal a — specific people."),
|
||||
("Necesito _____ un traductor.", "(nothing)", "a", "No personal a — any translator."),
|
||||
("Necesito _____ mi traductor.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("¿Conoces _____ alguien aquí?", "a", "(nothing)", "Personal a with alguien."),
|
||||
("¿_____ quién llamaste?", "A", "(nothing)", "Personal a with quién."),
|
||||
("Invité _____ Juan a la fiesta.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Compré _____ un libro.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Llevo _____ mi perro al veterinario.", "a", "(nothing)", "Personal a — beloved pet."),
|
||||
("Quiero _____ mi familia.", "a", "(nothing)", "Personal a — loving people."),
|
||||
("Leo _____ un libro.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Escucho _____ mi profesora.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Escucho _____ música.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Busco _____ mi hija.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Busco _____ mis llaves.", "(nothing)", "a", "No personal a — things."),
|
||||
("Vi _____ Carlos en el parque.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Vi _____ una película.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Admiro _____ esa mujer.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Tiene _____ tres hijos.", "(nothing)", "a", "No personal a after tener."),
|
||||
("Ayudo _____ mi vecina.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Encontré _____ Pedro en la tienda.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Encontré _____ un buen restaurante.", "(nothing)", "a", "No personal a — thing/place."),
|
||||
("Esperamos _____ nuestros padres.", "a", "(nothing)", "Personal a — specific people."),
|
||||
("Esperamos _____ el autobús.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Odio _____ la violencia.", "(nothing)", "a", "No personal a — abstract concept."),
|
||||
("Odio _____ ese hombre.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Contrataron _____ un ingeniero.", "(nothing)", "a", "No personal a — non-specific person."),
|
||||
("Contrataron _____ María.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Cuido _____ mis hijos.", "a", "(nothing)", "Personal a — caring for people."),
|
||||
("Cuido _____ mi jardín.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Respeto _____ mis abuelos.", "a", "(nothing)", "Personal a — specific people."),
|
||||
("Respeto _____ las reglas.", "(nothing)", "a", "No personal a — things."),
|
||||
("Visité _____ mi tía.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Visité _____ el museo.", "(nothing)", "a", "No personal a — place."),
|
||||
("Abandonó _____ su familia.", "a", "(nothing)", "Personal a — people."),
|
||||
("Abandonó _____ su coche.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Presenté _____ mi novio.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Traje _____ mi hermano.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Traje _____ comida.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Echamos de menos _____ nuestros amigos.", "a", "(nothing)", "Personal a — missing people."),
|
||||
("Mandé _____ los niños al colegio.", "a", "(nothing)", "Personal a — sending people."),
|
||||
("Mandé _____ una carta.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Saludé _____ la vecina.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Abrí _____ la puerta.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Elegimos _____ un nuevo líder.", "a", "(nothing)", "Personal a — specific person elected."),
|
||||
("Elegimos _____ un buen restaurante.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Acusaron _____ el sospechoso.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Derribaron _____ el edificio.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Recogí _____ los niños del colegio.", "a", "(nothing)", "Personal a — picking up people."),
|
||||
("Recogí _____ mis cosas.", "(nothing)", "a", "No personal a — things."),
|
||||
("Críticaron _____ el presidente.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Critícaron _____ la decisión.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Perdoné _____ mi amigo.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Perdoné _____ su error.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Describió _____ su madre.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Describió _____ la situación.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Abracé _____ mi abuela.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Obedezco _____ mis padres.", "a", "(nothing)", "Personal a — people."),
|
||||
("Obedezco _____ las leyes.", "(nothing)", "a", "No personal a — things."),
|
||||
("Felicité _____ mi compañero.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Cuidamos _____ nuestro gato.", "a", "(nothing)", "Personal a — beloved pet."),
|
||||
("Cuidamos _____ la casa.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Castigaron _____ los culpables.", "a", "(nothing)", "Personal a — specific people."),
|
||||
("Repararon _____ el techo.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Defendí _____ mi hermana.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Defendí _____ mi posición.", "(nothing)", "a", "No personal a — abstract."),
|
||||
("Acompañé _____ mi amiga al aeropuerto.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Ignoré _____ el comentario.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Ignoré _____ esa persona.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Reconocí _____ Juan inmediatamente.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Reconocí _____ la canción.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Salvaron _____ los pasajeros.", "a", "(nothing)", "Personal a — people."),
|
||||
("Salvaron _____ los documentos.", "(nothing)", "a", "No personal a — things."),
|
||||
("Atendemos _____ nuestros clientes.", "a", "(nothing)", "Personal a — people."),
|
||||
("Atendemos _____ los pedidos.", "(nothing)", "a", "No personal a — things."),
|
||||
("Despidieron _____ tres empleados.", "a", "(nothing)", "Personal a — people."),
|
||||
("Pintaron _____ la casa.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Enseño _____ mis estudiantes.", "a", "(nothing)", "Personal a — people."),
|
||||
("Enseño _____ español.", "(nothing)", "a", "No personal a — subject/thing."),
|
||||
("Protegemos _____ los niños.", "a", "(nothing)", "Personal a — people."),
|
||||
("Protegemos _____ el medio ambiente.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Entrevisté _____ la candidata.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Preparé _____ la cena.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Culparon _____ los responsables.", "a", "(nothing)", "Personal a — people."),
|
||||
("Cerraron _____ la tienda.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Seguí _____ el ladrón.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Seguí _____ las instrucciones.", "(nothing)", "a", "No personal a — things."),
|
||||
("Engañaron _____ los clientes.", "a", "(nothing)", "Personal a — people."),
|
||||
("Rompieron _____ la ventana.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Consulté _____ un especialista.", "a", "(nothing)", "Personal a — specific person."),
|
||||
("Consulté _____ un diccionario.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Persiguieron _____ los criminales.", "a", "(nothing)", "Personal a — people."),
|
||||
("Lavé _____ el coche.", "(nothing)", "a", "No personal a — thing."),
|
||||
("Detuvieron _____ los manifestantes.", "a", "(nothing)", "Personal a — people."),
|
||||
]
|
||||
return data.enumerated().map { i, d in
|
||||
GrammarExercise(id: "pa\(i+1)", prompt: "Is the personal 'a' needed?", sentence: d.0, correctAnswer: d.1, options: [d.1, d.2].shuffled(), explanation: d.3)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ struct GrammarExerciseView: View {
|
||||
.adaptiveContainer(maxWidth: 600)
|
||||
.navigationTitle("Practice: \(noteTitle)")
|
||||
.navigationBarTitleDisplayMode(.inline)
|
||||
.onAppear { exercises = GrammarExercise.exercises(for: noteId).shuffled() }
|
||||
.onAppear { exercises = Array(GrammarExercise.exercises(for: noteId).shuffled().prefix(10)) }
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
|
||||
Reference in New Issue
Block a user