diff --git a/labs/lab-8-electrolyte.tres b/labs/lab-8-electrolyte.tres index 5c42382..a410604 100644 --- a/labs/lab-8-electrolyte.tres +++ b/labs/lab-8-electrolyte.tres @@ -18,7 +18,7 @@ [ext_resource type="Resource" uid="uid://drcsxqrfgtklt" path="res://assets/reagents/CuSO4.tres" id="7_x21in"] [ext_resource type="Resource" uid="uid://pofsgpx0irdn" path="res://assets/reagents/FeSO4.tres" id="8_54yhc"] [ext_resource type="Resource" uid="uid://dy6b5n8gadtf0" path="res://labs/lab-electrolyte/experiment-7.tres" id="8_cpwlt"] -[ext_resource type="Resource" path="res://assets/reagents/H2O.tres" id="9_0vi5e"] +[ext_resource type="Resource" uid="uid://bbbrxgvfp4jvg" path="res://assets/reagents/H2O.tres" id="9_0vi5e"] [ext_resource type="Resource" uid="uid://cxpovcqviqurr" path="res://assets/reagents/HCl.tres" id="10_nk7ls"] [ext_resource type="Resource" uid="uid://ic4x25e5j8o" path="res://assets/reagents/KCl.tres" id="11_gdam5"] [ext_resource type="Resource" uid="uid://gn654lim8gy6" path="res://assets/reagents/KI.tres" id="12_187c3"] @@ -40,6 +40,11 @@ [ext_resource type="Resource" uid="uid://ignwsng3bt4e" path="res://labs/lab-electrolyte/test-3.tres" id="32_anse4"] [ext_resource type="Resource" uid="uid://ber4xlsqegke0" path="res://labs/lab-electrolyte/test-4.tres" id="33_vgv2h"] [ext_resource type="Resource" uid="uid://d13fl2bs8o6oa" path="res://labs/lab-electrolyte/test-5.tres" id="34_eolar"] +[ext_resource type="Resource" uid="uid://q37mwgdlirfb" path="res://labs/lab-electrolyte/test-6.tres" id="35_t3lvx"] +[ext_resource type="Resource" uid="uid://bpdrfoq88tteh" path="res://labs/lab-electrolyte/test-7.tres" id="36_axgl6"] +[ext_resource type="Resource" uid="uid://jdv2rvp868p4" path="res://labs/lab-electrolyte/test-8.tres" id="37_t1gxe"] +[ext_resource type="Resource" uid="uid://dh7itd4q5xh7p" path="res://labs/lab-electrolyte/test-9.tres" id="38_gcv8s"] +[ext_resource type="Resource" uid="uid://clhgdwkshm3b0" path="res://labs/lab-electrolyte/test-10.tres" id="39_jof8k"] [resource] script = ExtResource("3_pogou") @@ -47,6 +52,6 @@ lab_name = "Лабораторная работа №8 - Растворы эле tasks = "Ознакомиться с методами получения слабых кислот и оснований. Изучить влияние введения одноименного иона на смещение равновесия диссоциации слабого электролита. Ознакомиться с различными типами реакций обмена в водных растворах электролитов." equipment = "Пробирки. Кислоты, основания, соли, индикаторы." experiments = Array[ExtResource("1_28qla")]([ExtResource("2_nk7ls"), ExtResource("3_gdam5"), ExtResource("4_187c3"), ExtResource("5_ujot4"), ExtResource("6_w3d37"), ExtResource("7_je2gp"), ExtResource("8_cpwlt")]) -tests = Array[ExtResource("4_6s74a")]([ExtResource("30_je2gp"), ExtResource("31_cpwlt"), ExtResource("32_anse4"), ExtResource("33_vgv2h"), ExtResource("34_eolar")]) +tests = Array[ExtResource("4_6s74a")]([ExtResource("30_je2gp"), ExtResource("31_cpwlt"), ExtResource("32_anse4"), ExtResource("33_vgv2h"), ExtResource("34_eolar"), ExtResource("30_je2gp"), ExtResource("31_cpwlt"), ExtResource("32_anse4"), ExtResource("33_vgv2h"), ExtResource("34_eolar"), ExtResource("35_t3lvx"), ExtResource("36_axgl6"), ExtResource("37_t1gxe"), ExtResource("38_gcv8s"), ExtResource("39_jof8k")]) reagents = Array[ExtResource("2_mabxg")]([ExtResource("3_nu2d0"), ExtResource("4_83o17"), ExtResource("5_4xn0j"), ExtResource("6_fg475"), ExtResource("7_x21in"), ExtResource("8_54yhc"), ExtResource("9_0vi5e"), ExtResource("10_nk7ls"), ExtResource("11_gdam5"), ExtResource("12_187c3"), ExtResource("13_ujot4"), ExtResource("14_w3d37"), ExtResource("15_je2gp"), ExtResource("16_cpwlt"), ExtResource("17_anse4"), ExtResource("18_vgv2h"), ExtResource("19_eolar"), ExtResource("20_eh3kp")]) tools = Array[ExtResource("5_v8c5p")]([ExtResource("24_530yt"), ExtResource("25_nk60r"), ExtResource("26_lp3qm"), ExtResource("27_ytmy7"), ExtResource("28_fsm27")]) diff --git a/labs/lab-electrolyte/test-1.tres b/labs/lab-electrolyte/test-1.tres index bd21497..577a8da 100644 --- a/labs/lab-electrolyte/test-1.tres +++ b/labs/lab-electrolyte/test-1.tres @@ -4,6 +4,6 @@ [resource] script = ExtResource("1_mujbh") -question = "Что такое сильные и слабые электролиты?" -options = Array[String](["Сильные электролиты полностью диссоциируют на ионы в растворе, слабые — частично.", "Сильные электролиты не растворяются в воде, слабые — растворяются хорошо.", "Сильные электролиты проводят ток только в твёрдом состоянии, слабые — в растворе.", "Сильные электролиты образуют осадок, слабые — газ."]) +question = "Сильными электролитами в водных растворах являются все вещества группы…" +options = Array[String](["KOH, HNO3, H2SO4;", "H2S, H2SO3, H2SO4;", "MgCl2, CH3COOH, NaOH;", "H2S, CH3COOH, H2SO3"]) metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-10.tres b/labs/lab-electrolyte/test-10.tres new file mode 100644 index 0000000..ffe2516 --- /dev/null +++ b/labs/lab-electrolyte/test-10.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="LabTest" format=3 uid="uid://clhgdwkshm3b0"] + +[ext_resource type="Script" uid="uid://dpacehourck22" path="res://src/resources/lab/test.gd" id="1_evbhk"] + +[resource] +script = ExtResource("1_evbhk") +question = "Уравнению химической реакции:CuCl2 + 2NaOH ↔ Cu(OH)2 + 2NaCl соответствует сокращенное ионно-молекулярное уравнение:" +options = Array[String](["Cu 2+ + 2OH– ↔ Cu(OH)2↓;", "Cu 2+ + NaOH ↔ Cu(OH)2↓ + Na+;", "2Сl + 2Na+ ↔ 2NaCl;", "CuCl2 + 2ОН– ↔ Сu2+ + 2ОН– + 2Сl– "]) +metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-2.tres b/labs/lab-electrolyte/test-2.tres index 59212a7..44d0c8d 100644 --- a/labs/lab-electrolyte/test-2.tres +++ b/labs/lab-electrolyte/test-2.tres @@ -4,6 +4,6 @@ [resource] script = ExtResource("1_tocw5") -question = "Какая величина характеризует силу электролита?" -options = Array[String](["Степень электролитической диссоциации.", "Массовая доля вещества в растворе.", "Молярная масса вещества.", "Плотность раствора."]) +question = "Какая из приведенных реакций является обратимой:" +options = Array[String](["NH4OH + HNO3 = NH4NO3 + Н2O;", "FeCl3 + 3NaOH = Fe(OH)3 + 3NaCl;", "Na2S + HC1 = H2S + 2NaCl;", "НNО3 + КОН = КNО3 + Н2O"]) metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-3.tres b/labs/lab-electrolyte/test-3.tres index 1ad5036..76b2f8a 100644 --- a/labs/lab-electrolyte/test-3.tres +++ b/labs/lab-electrolyte/test-3.tres @@ -4,6 +4,7 @@ [resource] script = ExtResource("1_o8p71") -question = "Что такое произведение растворимости?" -options = Array[String](["Произведение концентраций ионов малорастворимого электролита в насыщенном растворе, возведённых в степени их коэффициентов.", "Произведение массы растворённого вещества на объём раствора.", "Отношение растворимости вещества к температуре.", "Сумма концентраций всех ионов в растворе."]) +question = "Среди веществ: H2CO3, ZnSO4, KOH, HCl, HNO2, NH4Cl число сильных электролитов равно… " +options = Array[String](["1", "2", "3", "4"]) +correct_anwser = 3 metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-4.tres b/labs/lab-electrolyte/test-4.tres index 5421618..c461f64 100644 --- a/labs/lab-electrolyte/test-4.tres +++ b/labs/lab-electrolyte/test-4.tres @@ -4,6 +4,7 @@ [resource] script = ExtResource("1_5d6hp") -question = "Что такое водородный показатель?" -options = Array[String](["Отрицательный десятичный логарифм концентрации ионов водорода в растворе.", "Концентрация молекул воды в растворе.", "Количество гидроксид-ионов в щелочи.", "Массовая доля кислоты в растворе."]) +question = "Выберите уравнение реакции электролитической диссоциации H3ASO4 по первой ступени:" +options = Array[String](["(HAsО4)2– ↔ H+ + (AsО4)3–;", "H3ASO4 ↔ Н+ + (H2ASO4)–;", "(H2AsО4) ↔ Н+ + (HAsО4)2–;", "(HAsО4) ↔ Н + (ASO4) "]) +correct_anwser = 1 metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-5.tres b/labs/lab-electrolyte/test-5.tres index c3807ea..1a2113d 100644 --- a/labs/lab-electrolyte/test-5.tres +++ b/labs/lab-electrolyte/test-5.tres @@ -4,6 +4,7 @@ [resource] script = ExtResource("1_3bllg") -question = "Какие реакции обмена в растворах электролитов относятся к братимым и необратимым реакциям?" -options = Array[String](["Обратимые — протекают не до конца и устанавливают равновесие; необратимые — идут до конца с образованием осадка, газа или слабого электролита.", "Обратимые — идут только при нагревании, необратимые — только при охлаждении.", "Обратимые — протекают без изменения цвета, необратимые — с изменением цвета.", "Обратимые — идут только в щелочной среде, необратимые — только в кислой среде."]) +question = "Количество ступеней диссоциации азотной кислоты (НNO3) равно:" +options = Array[String](["две;", "три;", "четыре;", "одна"]) +correct_anwser = 3 metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-6.tres b/labs/lab-electrolyte/test-6.tres new file mode 100644 index 0000000..afbb952 --- /dev/null +++ b/labs/lab-electrolyte/test-6.tres @@ -0,0 +1,9 @@ +[gd_resource type="Resource" script_class="LabTest" format=3 uid="uid://q37mwgdlirfb"] + +[ext_resource type="Script" uid="uid://dpacehourck22" path="res://src/resources/lab/test.gd" id="1_31rvo"] + +[resource] +script = ExtResource("1_31rvo") +question = "Схема реакции, соответствующая сокращенному молекулярно-ионному уравнению 2H+ + CO32− = H2O +CO2↑, имеет вид…" +options = Array[String](["NaHCO3 +H2SO4 →", "Na2CO3 +H2SO4 →", "CH3COOH + Na2CO3 →", "Na2CO3 +H2SiO3 →"]) +metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-7.tres b/labs/lab-electrolyte/test-7.tres new file mode 100644 index 0000000..846ecc0 --- /dev/null +++ b/labs/lab-electrolyte/test-7.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="LabTest" format=3 uid="uid://bpdrfoq88tteh"] + +[ext_resource type="Script" uid="uid://dpacehourck22" path="res://src/resources/lab/test.gd" id="1_vpmu4"] + +[resource] +script = ExtResource("1_vpmu4") +question = "Молекулярное уравнение соответствует ионному: HS– + ОН– = S2– + Н2О" +options = Array[String](["3S + КОН = 2K2S +K2SO4 + 3H2О;", "H2S + 2NaOH = Na2S + Н2О;", "NaHS + NaOH = Na2S + H2О;", "NaOH + H2S = NaНS + Н2О"]) +correct_anwser = 2 +metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-8.tres b/labs/lab-electrolyte/test-8.tres new file mode 100644 index 0000000..df01f27 --- /dev/null +++ b/labs/lab-electrolyte/test-8.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="LabTest" format=3 uid="uid://jdv2rvp868p4"] + +[ext_resource type="Script" uid="uid://dpacehourck22" path="res://src/resources/lab/test.gd" id="1_d8xn1"] + +[resource] +script = ExtResource("1_d8xn1") +question = "К сильным основаниям относится…" +options = Array[String](["NH4OH;", "NaOH;", "Cu(OH)2;", "Fe(OH)2"]) +correct_anwser = 1 +metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/labs/lab-electrolyte/test-9.tres b/labs/lab-electrolyte/test-9.tres new file mode 100644 index 0000000..a4e8015 --- /dev/null +++ b/labs/lab-electrolyte/test-9.tres @@ -0,0 +1,10 @@ +[gd_resource type="Resource" script_class="LabTest" format=3 uid="uid://dh7itd4q5xh7p"] + +[ext_resource type="Script" uid="uid://dpacehourck22" path="res://src/resources/lab/test.gd" id="1_1iwn6"] + +[resource] +script = ExtResource("1_1iwn6") +question = "Укажите, какая из нижеприведенных реакций является необратимой:" +options = Array[String](["NH4OH+HCl =NH4Cl+H2O;", "NaOH + HNO3 = NaNO3 +H2O;", "[CuOH]2SO4 + H2SO4 = 2 CuSO4 +2H2O;", "NH4OH + HNO3 = NH4NO3+H2O"]) +correct_anwser = 1 +metadata/_custom_type_script = "uid://dpacehourck22" diff --git a/src/lab_runtime.gd b/src/lab_runtime.gd index 22fe6f3..74c71bb 100644 --- a/src/lab_runtime.gd +++ b/src/lab_runtime.gd @@ -11,6 +11,9 @@ var tries: int func questions_anwsered() -> bool: return float(correctness.count(true))/len(correctness) >= 0.6 +func test_failed() -> bool: + return float(correctness.count(true))/len(correctness) < 0.6 + func save(): var path: String = OS.get_system_dir(OS.SYSTEM_DIR_DESKTOP) + "/" + current_lab.lab_name + "-" + Time.get_datetime_string_from_system() + ".txt" var file = FileAccess.open(path,FileAccess.WRITE) @@ -30,6 +33,8 @@ func save(): else: file.store_string(("+" if correctness[i] else "-").lpad(10)) file.store_line("") + file.store_line("Попыток: " + str(tries)) + file.store_line("") file.store_line("Ход работы:") file.store_string(LabLogger.instance.text) diff --git a/ui/questions_result.gd b/ui/questions_result.gd new file mode 100644 index 0000000..68e27a0 --- /dev/null +++ b/ui/questions_result.gd @@ -0,0 +1,14 @@ +extends Control + + +func _process(delta: float) -> void: + $Label.text = str(LabRuntime.correctness.count(true))+"/5 Верно\n"+str(LabRuntime.tries)+" попыток" + $TryAgain.visible = LabRuntime.test_failed() + + +func _on_try_again_pressed() -> void: + $"../Questions".shuffle_questions() + $"../Questions".visible = true + visible = false + LabRuntime.anwsers.clear() + LabRuntime.correctness.clear() diff --git a/ui/questions_result.gd.uid b/ui/questions_result.gd.uid new file mode 100644 index 0000000..55026d6 --- /dev/null +++ b/ui/questions_result.gd.uid @@ -0,0 +1 @@ +uid://ckhrj43lyvorv