Главная страница
Навигация по странице:

  • БИЛЕТ № 24 Наименование вопроса

  • 2. Опишите назначение и принцип работы хранимых процедур и функций в MySQL. Укажите, являются ли хранимые процедуры объектами БД. Опишите синтаксис создания и удаления произвольной хранимой процедуры.

  • Хранимые процедуры

  • DROP PROCEDURE IF EXISTS имя _ процедуры ; Вызов хранимой процедуры осуществляется при помощи инструкции CALL имя_процедуры([параметры]);

  • БИЛЕТ № 25 Наименование вопроса

  • В зависимости от назначения

  • 2. Опишите назначение представлений в MySQL. Опишите синтаксис создания и удаления произвольного представления. Представление (VIEW)

  • CREATE VIEW имя представления

  • DROP VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ ;

  • БИЛЕТ № 26 Наименование вопроса: 1. Опишите шаблон проектирования MVC. Выделите и охарактеризуйте его основные составляющие.

  • SELECT FirstName, LastName, AccountSum + AccountSum * 0.1 AS TotalSum FROM Customers WHERE AccountSum

  • SELECT FirstName , LastName

  • Срез. Среззззз. Билет 1 Наименование вопроса Дайте определение понятия Программное обеспечение


    Скачать 0.49 Mb.
    НазваниеБилет 1 Наименование вопроса Дайте определение понятия Программное обеспечение
    Дата04.03.2023
    Размер0.49 Mb.
    Формат файлаdocx
    Имя файлаСреззззз.docx
    ТипДокументы
    #967737
    страница7 из 9
    1   2   3   4   5   6   7   8   9

    4. Реализуйте ввод чисел в строку через пробел. После нажатия на Enter, на экран выводится сумма. Далее пользователь может снова вводить числа. Их сумма будет добавляться к уже посчитанной, и итог выводиться на экран. Когда вместо чисел вводится специальный символ, программа завершается. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

    def summa(a):

    a = a.split()

    b = []

    for i in a:

    b.append(int(i))

    return sum(b)

    s = 0

    while 1:

    a = input("Введите число или специальный символ: ")

    if a == '!': break

    s += summa(a)

    print('Summa:',s)

    БИЛЕТ № 24

    Наименование вопроса:

    1. Дайте определение понятия «Шаблон проектирования». Перечислите и опишите основные разновидности шаблонов проектирования по степени детализации. Выделите основные преимущества и недостатки шаблонов проектирования.

    Шаблоны проектирования (паттерны проектирования)(design pattern) (ШП) – это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках какого-то контекста и описывающая значимость этого решения.

    Шаблон не является законченным образцом проекта, который может быть преобразован в код, Шаблон – это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях.

    Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.  Если алгоритм – это чёткий набор действий, то шаблон (паттерн) – это высокоуровневое описание решения, реализация которого может отличаться в двух разных программах.

    Существует несколько способов группировки шаблонов.

    По степени детализации выделяют:

    • Архитектурные шаблоны

    Они описывают структурную схему программной системы в целом. Шаблоны описывают множество подсистем, их функции и правила, определяются отношения между подсистемами. Они решают задачи проектирования системы на самом верхнем уровне абстракции.

    Пример: «модель-представление-контроллер» (model-view-controller — MVC).

    • Шаблоны логического проектирования (паттерны проектирования)

    Эти шаблоны касаются деталей проектирования подсистем, компонентов ИС и отношений между ними. Такие паттерны никак не влияют на структуру программной системы в целом и не зависят от использования языка программирования.

    В случае ОО подхода – это описание взаимодействия объектов и классов, которые адаптированы для решения основной задачи проектирования в определенном контексте.

    Пример: шаблоны «банды четырех» (GoF) – Фасад, Фабрика и т.д.

    • Идиомы

    Идиомой называют шаблон низкого уровня, специфичный для конкретного языка программирования. Идиома описывает вопрос реализации компонент или взаимосвязей между ними с использованием возможностей конкретного языка.

    Преимущества шаблонов проектирования:

    • ШП описывает решение целого класса абстрактных проблем;

    • каждый ШП имеет свое имя, облегчает обсуждение между разработчиками, так как они могут ссылаться на известные ШП ( ШП – общий программистский словарь);

    • за счёт ШП производится унификация терминологии, названий модулей и элементов проекта;

    • ШП независимы от применяемого языка программирования;

    • правильно сформулированный ШП позволяет, отыскав удачное решение, пользоваться им многократно.

    Недостатки шаблонов проектирования:

    • применение шаблонов из справочника замедляет профессиональный рост программиста, так как подменяет творческую работу механическим подставлением шаблонов;

    • слишком большое количество ШП заставляет разработчиков игнорировать шаблоны и всю связанную с ними систему;

    • иногда шаблонами заменяется отсутствие или недостаточность документации в сложной программной среде.

    2. Опишите назначение и принцип работы хранимых процедур и функций в MySQL. Укажите, являются ли хранимые процедуры объектами БД. Опишите синтаксис создания и удаления произвольной хранимой процедуры.

    Хранимые процедуры представляют собой набор команд SQL, которые могут компилироваться и храниться на сервере. Таким образом, вместо того чтобы хранить часто используемый запрос, клиенты могут ссылаться на соответствующую хранимую процедуру. Это обеспечивает лучшую производительность, поскольку данный запрос должен анализироваться только однажды и уменьшается трафик между сервером и клиентом.

    Поскольку хранимые процедуры хранятся на сервере в разделе Stored Procedures, то они являются объектами базы данных.

    Синтаксис создания хранимой процедуры без параметров имеет следующий вид:

    delimiter $$

    CREATE PROCEDURE ИМЯ_ПРОЦЕДУРЫ()

    BEGIN

    SELECT COUNT(*) FROM CITY; // Например, такой запрос в теле процедуры

    // И другие запросы, входящие в тело процедуры

    END$$

    delimiter ;

    Удаление хранимой процедуры осуществляется при помощи инструкции

    DROP PROCEDURE IF EXISTS имя_процедуры;

    Вызов хранимой процедуры осуществляется при помощи инструкции

    CALL имя_процедуры([параметры]);

    3. Руководствуясь принципами построения форм, разместить на ней элементы управления для исходного одномерного массива, заполненного случайными числами, и определить массив, в котором все отрицательные элементы будут заменены на значение ноль. Для размещения элементов массива используйте элемент управления TextBox. Организуйте удобный пользовательский интерфейс. Спроектируйте WindowsForms приложение на языке программирования С#.

    public partial class Form1 : Form

    {

    int[] Mas = new int[15];

    public Form1()

    {

    InitializeComponent();

    }

    private void Form1_Load(object sender, EventArgs e)

    {
    }

    private void button1_Click(object sender, EventArgs e)

    {

    Random rand = new Random();

    textBox1.Text = "";

    for (int i = 0; i < 15; i++)

    {

    Mas[i] = rand.Next(-50, 50);

    textBox1.Text += "Mas[" + Convert.ToString(i) + "] = " + Convert.ToString(Mas[i]) + Environment.NewLine;

    }

    }

    private void button2_Click(object sender, EventArgs e)

    {

    textBox2.Text = "";

    for (int i = 0; i < 15; i++)

    {

    if (Mas[i] < 0) Mas[i] = 0;

    textBox2.Text += "Mas[" + Convert.ToString(i) + "] = " + Convert.ToString(Mas[i]) + Environment.NewLine;

    }

    }

    }


    4. Руководствуясь возможностями библиотеки NumPy сформируйте матрицу 10х10 с числами по диагонали от 1 до 10. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

    import numpy as np;

    z=np.diag(np.arange(1,11), k=0)

    print(z)

    БИЛЕТ № 25

    Наименование вопроса:

    1. Дайте определение понятия «Шаблон проектирования». Выделите и охарактеризуйте основные группы шаблонов проектирования в зависимости от назначения. Приведите примеры шаблонов проектирования.

    Шаблоны проектирования (паттерны проектирования)(design pattern) (ШП) – это многократно применяемая архитектурная конструкция, предоставляющая решение общей проблемы проектирования в рамках какого-то контекста и описывающая значимость этого решения.

    Шаблон не является законченным образцом проекта, который может быть преобразован в код, Шаблон – это описание или образец для того, как решить задачу, таким образом, чтобы это можно было использовать в различных ситуациях.

    Алгоритмы не рассматриваются как шаблоны, так как они решают задачи вычисления, а не проектирования.  Если алгоритм – это чёткий набор действий, то шаблон (паттерн) – это высокоуровневое описание решения, реализация которого может отличаться в двух разных программах.

    Существует несколько способов группировки шаблонов.

    В 1994 г выходит книга о программной инженерии, описывающая шаблоны проектирования программного обеспечения. Авторами книги являются Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. В этой книге описаны 23 шаблона проектирования. Также команда авторов этой книги известна общественности под названием «Банда четырёх» (англ. Gang of Four, часто сокращается до GoF).

    В зависимости от назначения в книге «Банды четырёх» выделяют:

    • Структурные шаблоны определяют отношения между классами и объектами, позволяя им работать совместно, показывают различные способы построения связей между объектами.

    Пример: Фасад, Мост, Декоратор, Адаптер, Компоновщик, Заместитель, Приспособленец.

    • Порождающие шаблоны описывают процесс создания объекта или группы связанных объектов, их жизненный цикл подходящим для данной ситуации способом. Базовый способ создания может привести к проблемам в архитектуре или к её усложнению. Порождающие шаблоны пытаются решать эти проблемы, управляя способом создания объектов.

    Пример: Прототип, Фабрика, Фабричный метод, Абстрактная фабрика, Одиночка, Строитель.

    • Шаблоны поведения (поведенческие) – используются для организации взаимодействия различных объектов и классов.

    Пример: Шаблонный метод, Цепочка обязанностей, Интерпретатор, Наблюдатель, Стратегия, Посетитель, Хранитель, Посредник, Команда

    2. Опишите назначение представлений в MySQL. Опишите синтаксис создания и удаления произвольного представления.

    Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению. Представления иногда называют «виртуальными таблицами», они являются как бы псевдонимами для запросов SELECT. Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Также представления называют «хранимыми запросами».

    Представления, которые являются типом виртуальных таблиц, позволяют пользователям делать следующее:

    Структурировать данные таким образом, который будет наиболее естественным или интуитивным для пользователей или классов пользователей.

    Ограничивать доступ к данным таким образом, чтобы пользователь мог находить и изменять (в некоторых случаях) только те данные, которые ему нужны, и не более того.

    Обобщать данные из разных таблиц, чтобы использовать их для различных отчетов.

    Синтаксис создания представления:

    CREATE VIEW имяпредставления AS

    SELECT колонка1, колонка2.....

    FROM имятаблицы

    WHERE [условие];

    Синтаксис удаления представления:

    DROP VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ;

    3. Руководствуясь правилами объявления переменных, объявите две переменные типа int. Определите самое большее число на отрезке от a до b, кратное 7. Числа ввести с клавиатуры. Организуйте удобный пользовательский интерфейс. Спроектируйте консольное приложение на языке программирования С#.

    Console.Write("Введите начальную границу отрезка: ");

    int start = int.Parse(Console.ReadLine());

    Console.Write("Введите конечную границу отрезка: ");

    int end = int.Parse(Console.ReadLine());

    if (start < end)

    {

    int temp = start;

    start = end;

    end = temp;

    }

    for (int i = start; i >= end; i--)

    {

    if (i % 7 == 0 && i != 0)

    {

    Console.WriteLine("Максимальное число кратное 7 = " + i);

    break;

    }

    if (i == end) Console.Write("Чисел кратных 7 в последовательности нет");

    }

    4. Руководствуясь возможностями библиотеки NumPy сформируйте матрицу 5х5 заполненную нулями, но с 1 па границам. Организуйте удобный пользовательский интерфейс. Спроектируйте программу на языке программирования Python.

    import numpy as np

    a=np.ones((5,5))

    a[1:-1,1:-1]=0

    print (a)

    БИЛЕТ № 26

    Наименование вопроса:

    1. Опишите шаблон проектирования MVC. Выделите и охарактеризуйте его основные составляющие.

    MVC – это архитектурный шаблон, который позволяет разделить логику приложения на три части:

    • Model (модель). Получает данные от контроллера, выполняет необходимые операции и передаёт их в вид.

    • View (вид или представление). Получает данные от модели и выводит их для пользователя.

    • Controller (контроллер). Обрабатывает действия пользователя, проверяет полученные данные и передаёт их модели.

    Основная цель применения этой концепции состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). До появления схемы MVC эти объекты в пользовательских интерфейсах смешивались.

    MVC нужен для того, чтобы разделить логические части приложения и создавать их отдельно друг от друга. То есть писать независимые блоки кода, которые можно как угодно менять, не затрагивая другие.Это позволяет эффективно работать нескольким программистам — каждый занимается своим компонентом. При этом разработчику не нужно вникать в чужой код и его действия никак не повлияют на другие фрагменты приложения. За счет этого повышается гибкость и улучшаются возможности повторного использования кода.



    Пользователь видит представление, на нем же производит какие-то действия, эти действия представление перенаправляет контроллеру и подписывается на изменение данной модели, контроллер в свою очередь производит определенные действия над моделью данных, представление получает последнее состояние модели и отображает ее пользователю.

    Компоненты в приложениях c применением MVC будут следующие:

    • Вид (View) — интерфейс.

    • Контроллер (Controller)— обработчик событий, инициируемых пользователем (нажатие на кнопку, переход по ссылке, отправка формы).

    • Модель  (Model) — метод, который запускается обработчиком и выполняет все основные операции (получение записей из базы данных, проведение вычислений).




    Пример для понимания шаблона MVC.





    • Модель: кухня, на которой повар делает бутерброд.

    • Представление: готовый бутерброд, который вы с удовольствием едите.

    • Контроллер: продавец или бармен, который принимает заказ от вас и передаёт его на кухню.


    2. Опишите назначение объединения выборок UNION в MySQL. Укажите, в каких случаях необходимо объединение выборок из одной таблицы, а в каких – из разных? Опишите синтаксис объединения выборок при помощи оператора UNION.

    Оператор UNION позволяет объединить две однотипных выборки. Эти выборки могут быть из разных таблиц или из одной и той же таблицы. Оператор UNION объединяет выборки как бы по вертикали, поэтому важно чтобы обе выборки состояли из одинакового количества полей, желательно чтобы, соответствующие поля из обоих выборок совпадали по типам. Также желательно, чтобы поля в этих выборках были одинаковые, ведь логичнее объединять одинаковые данные. Формальный синтаксис объединения:

    SELECT_выражение1

    UNION [ALL] SELECT_выражение2

    [UNION [ALL] SELECT_выражениеN]

    Объединять выборки можно и из одной и той же таблицы. Например, в зависимости от суммы на счете клиента нам надо начислять ему определенные проценты:

    SELECT FirstName, LastName, AccountSum + AccountSum * 0.1 AS TotalSum

    FROM Customers WHERE AccountSum < 3000

    UNION SELECT FirstName, LastName, AccountSum + AccountSum * 0.3 AS TotalSum

    FROM Customers WHERE AccountSum >= 3000;

    В данном случае если сумма меньше 3000, то начисляются проценты в размере 10% от суммы на счете. Если на счете больше 3000, то проценты увеличиваются до 30%.

    Оператор UNION может использоваться для объединения результирующего набора двух и более инструкций SELECT как из одной, так и двух и более таблиц.

    Например, выберем сразу всех клиентов банка и его сотрудников из двух таблиц:

    SELECT FirstName, LastName
    1   2   3   4   5   6   7   8   9


    написать администратору сайта