на C# по теме "Алгоритмизация". Программа состоит из 10 вопросов с тремя вариантами ответов, проверяет ответы пользователя и оценивает их по десятибалльной шкале.
using System;
class Program
{
static void Main()
{
// Вопросы и ответы
string[] questions = new string[10]
{
"1. Что такое алгоритм?",
"2. Какой из этих алгоритмов является примером сортировки?",
"3. Какое из утверждений верно для циклов?",
"4. Что такое рекурсия?",
"5. Как называется алгоритм поиска, который делит список пополам?",
"6. Какой алгоритм находит наименьший путь в графе?",
"7. Что такое сложность алгоритма?",
"8. Какой из этих алгоритмов используется для шифрования?",
"9. Что такое стек?",
"10. Какой метод используется для объединения двух отсортированных списков?"
};
string[,] answers = new string[10, 3]
{
{ "A. Инструкция для выполнения задачи", "B. Программа", "C. Данные" },
{ "A. Быстрая сортировка", "B. Двоичный поиск", "C. Жадный алгоритм" },
{ "A. Цикл можно выполнять бесконечно", "B. Цикл выполняется один раз", "C. Цикл выполняется, пока условие истинно" },
{ "A. Процесс повторения", "B. Структура данных", "C. Метод выполнения задачи" },
{ "A. Линейный поиск", "B. Двоичный поиск", "C. Глубинный поиск" },
{ "A. Алгоритм Краскала", "B. Алгоритм Дейкстры", "C. Алгоритм Прима" },
{ "A. Время выполнения программы", "B. Оценка эффективности алгоритма", "C. Размер программы" },
{ "A. Алгоритм Дейкстры", "B. RSA алгоритм", "C. Алгоритм Прима" },
{ "A. Очередь", "B. Массив", "C. Последовательность с доступом LIFO" },
{ "A. Сортировка пузырьком", "B. Слияние", "C. Быстрая сортировка" }
};
char[] correctAnswers = { 'A', 'A', 'C', 'A', 'B', 'B', 'B', 'B', 'C', 'B' };
// Массив для хранения ответов пользователя
char[] userAnswers = new char[10];
// Ввод ответов пользователя
for (int i = 0; i < 10; i++)
{
Console.WriteLine(questions[i]);
for (int j = 0; j < 3; j++)
{
Console.WriteLine(answers[i, j]);
}
char answer;
do
{
Console.Write("Ваш ответ (A, B, C): ");
answer = Char.ToUpper(Console.ReadKey().KeyChar);
Console.WriteLine();
} while (answer != 'A' && answer != 'B' && answer != 'C');
userAnswers[i] = answer;
}
// Проверка ответов и подсчет правильных
int correctCount = 0;
for (int i = 0; i < 10; i++)
{
if (userAnswers[i] == correctAnswers[i])
{
correctCount++;
}
}
// Вывод результатов
Console.WriteLine("\nРезультаты теста:");
for (int i = 0; i < 10; i++)
{
string result = userAnswers[i] == correctAnswers[i] ? "верно" : "неверно";
Console.WriteLine($"{questions[i]} - {result}");
}
// Выставление отметки
double score = (double)correctCount / 10 * 10;
Console.WriteLine($"\nВы набрали {score} баллов из 10.");
}
}
P.s. если у кого-то есть нечто подобное (по другой теме, работает по немного иному принципу) ,то всё равно скиньте