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

  • Часть 1. Базы Данных

  • Часть 2. Объектно-ориентированное программирование

  • void Setname(std::string name) отсутствует геттер Getname(); string Getname() { return name; }

  • Технология программирования. ТП Колчин А.В. Модели данных


    Скачать 151.16 Kb.
    НазваниеМодели данных
    АнкорТехнология программирования
    Дата03.07.2020
    Размер151.16 Kb.
    Формат файлаdocx
    Имя файлаТП Колчин А.В.docx
    ТипДокументы
    #133574

    Экзаменационный билет №1

    Задания выполняются без использования систем программирования и Intrnet. В Ваш ответ разрешено копировать из экзаменационного билета таблицы и части программного кода. Вам надлежит ответить на максимальное количество заданий за один час.

    Часть 1. Базы Данных

    1. Дайте определение понятия Базы данных. Какие модели баз данных вы знаете

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

    Модели данных

    1. Инфологическая - представляет собой описание сущностей и связей в представлении человека и не зависит от СУБД

    2. Даталогическая - основанная на инфологической модель, дополненная описанием служебных связей учитывающая особенности СУБД. Различают 3 варианта модели Иерархическая, Реляционная, Сетевая

    3. Физическая дает описание структуры физической записи на носителе, количество файлов, местоположение файлов данных, способ адресации и поиска записей

    1. Поясните, что требует этот запрос.

    SELECT name, salary FROM Person WHERE name LIKE 'Б%';

    Столбцы name и salary из таблицы Person

    выведет все элементы где имя (name) начинается с буквы Б

    1. Дана таблица с данными MyTable.

    id

    Изделие

    Год_выпуска

    Количество

    1

    Компьютер

    2009

    8

    2

    Сканер

    2011

    4

    3

    Принтер

    2015

    2

    4

    Компьютер

    2010

    4

    5

    Сканер

    2012

    3

    А) Какой результат будет получен при выполнении запроса:

    SELECT Изделие, AVG(Количество) FROM MyTable GROUP BY Изделие;

    Изделие

    Количество

    Компьютер

    6

    Принтер

    2

    Сканер

    3,5

    Б) Напишите запрос, после выполнения которого на экран монитора будет выведена информация

    Компьютер

    2009

    Клавиатура

    2010

    Сканер

    2011

    Сканер

    2012

    Принтер

    2015







    SELECT Изделие, Год_выпуска FROM MyTable ORDER BY Изделие;

    Часть 2. Объектно-ориентированное программирование

    1. Какая часть кода может быть помещена в заголовочный файл (*.h)?

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

    1. Чем класс отличается от структуры?

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

    1. Дайте определение класса. Что представляют из себя свойства и методы класса

    Класс это абстракция описывающая методы, свойства, еще не существующих объектов, свойства класса это его переменные, методы это функции

    1. Сконструирован класс, в котором все свойства находятся в разделе public. Какой принцип объектно-ориентированного программирования нарушен?

    инкапсуляция

    1. Задан класс.

    class A{

    private: int r;

    public:

    A();

    int getr() {return r;}

    }

    Объект a создан на основе класса A. Как записать вывод на экран значения переменной r?

    A myObject();

    std::cout << myObject.getr();

    1. Найдите и исправьте ошибки в коде класса. Что напечатает ЭВМ в результате выполнения правильного кода программы

    class Prigorod {

    string name;

    double L;

    public:

    Prigorod(string name, double L) {

    name = name;

    L = L;

    }

    void Setname() {

    name= name; }

    double GetL() {

    return L; }

    };

    int Function(class Prigorod **);

    int main() {

    class Prigorod P1("Pyhkin", 22.5);

    class Prigorod P2("Pavlovsk",25);

    class Prigorod P3("Petergof",21);

    class Prigorod P4("Pavlovo",13);

    Prigorod *prigorod[4] = {&P1, &P2, &P3, &P4};

    int k=Function(prigorod);

    cout << "prigorod: " <
    Getname();


    return 0; }

    int Function(class Prigorod **prigorod) {

    double m=prigorod[0]->GetL(); int k=0;

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

    if (prigorod[i]->LL(),k=i;

    return k; }

    ошибки в сеттерах в методы необходимо передавать параметры

    void Setname(std::string name)

    отсутствует геттер Getname();

    string Getname() {

    return name;

    }

    в цикле неверный запрос к переменной L правильно обращаться через геттер GetL()

    Вывод программы

    prigorod: Pyhkin

    Часть 3. Конструирование ПО

    1. Перечислите этапы жизненного цикла программного обеспечения

    По ГОСТ

    1. Формирование требований

    2. Разработка Концепции

    3. Техническое задание

    4. Эскизный проект

    5. Технический проект

    6. Рабочая Документация

    7. Ввод в действие

    8. Тестирование

    9. Сопровождение

    1. Описать класс по заданной диаграмме UML

    Автомобиль

    Марка

    Имя владельца

    Год выпуска

    Номер

    Ввести данные

    Просмотреть данные

    class Auto{

    private:

    string _mark;

    string _customerName;

    int _year;

    int _number;

    public:

    Auto(string mark, string customerName, int year, int number) {

    _mark = mark;

    _customerName = customerName;

    _year = year;

    _number = number;

    };

    void setMark(string mark) {_mark = mark;}

    string getMark() { return _mark; };

    void setCustomerName(string customerName) { _customerName = customerName; };

    string getCustomerName() { return _customerName; };

    void setYear(int year) { _year = year; };

    int getYear() { return _year; };

    void setNumber(int number) { _number = number; };

    int getNumber() { return _number; };

    };

    main.cpp

    int main() {

    Class Auto A1(“volvo”, “Volvo”,”2020”,”1”);

    std::cout << A1.getMark() << A1.getCustomerName() << A1.getYear() << A1.getNumber();

    return 0;

    }


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