Это старая версия Информатика/Архив/2019/10Б за 08.04.2019 10:38:20.

10 Б

Задачи на SELECT

Имя, фамилия


1. Напишите запрос, выбирающий все данные из таблицы STUDENT,
расположив столбцы таблицы в следующем порядке: KURS, SURNAME, NAME, STIPEND.


2. Напишите запрос SELECT, который выводит наименование предмета обучения (SUBJECT_NAME) и количество часов (HOUR) для каждого
предмета (SUBJECT) в 4-м семестре (SEMESTER).


3. Напишите запрос, который выводит список фамилий студентов,
обучающихся на третьем и последующих курсах.


4. Напишите запрос, выполняющий выборку из таблицы SUBJECT
названий всех предметов обучения, на которые отводится более 30
часов.


5. Напишите запрос к таблице STUDENT для вывода списка фамилий
(SURNAME), имен (NAME)- и номера курса (KURS) всех студентов со
стипендией, большей или равной 100, и живущих в Воронеже.


6. Напишите запрос, выбирающий сведения о студентах, у которых
имена начинаются на буквы «И» или «С».


7. Напишите запрос на вывод из таблицы EXAM_MARKS записей, имеющих в поле MARK значения оценок.


8. Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде:
Б.КУЗНЕЦОВ;местожительства-БРЯНСК;родился-8.12.81.


9. Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде:
Борис Кузнецов родился в 1981 году.


10. То же, что и в задаче 8, но только для студентов 1, 2 и 4-го курсов
и таким образом, чтобы фамилии и имена были выведены прописными буквами.


Программирование


Структуры данных

ArrayList Java в решении должна быть одна пара квадратных скобок
Очереди, стеки, деки просто
Очереди, стеки, деки сложно


Список
Напишите двусвязный список, сравните его эффективность с ArrayList и LinkedList.


Реляционные базы данных. Язык SQL

Для работы (обучения) удобно использовать SQLite. Почему?
0. Soft
Удобно работать при помощи SQLite Browser. Установите его.
1. Создание таблиц
Какие типы данных есть в SQLitе? (ДО п. 2)
Изучите синтаксис SQL для создания и удаления таблиц


Создайте базу данных из след. таблиц (какие поля можно и нужно сделать ключевыми?)


STUDENT : ID, SURNAME, NAME, STIPEND, KURS, CITY, BIRTHDAY, UNIV_ID
LECTURER : ID, SURNAME, NAME, CITY, UNIV_ID
SUBJECT : ID, NAME, HOUR, SEMESTER
UNIVERCITY : ID, UNIV_NAME, RAITING, CITY
EXAM_MARKS : EXAM_ID, STUDENT_ID, SUBJ_ID, MARK, EXAM_DATE
SUBJ_LECT : LECTURER_ID, SUBJECT_ID


2. Наполнение данными
Изучите синтаксис команды INSERT.


В каждой таблице должно быть не менее 100 записей.
Для того, чтобы сделать это быстро, стоит использовать скрипты – программы, генерирующие команды INSERT


3. Запросы а выборку из одной таблицы
Простейшие варианты
Условие WHERE
Дополнительные возможности SELECT
Вычисляемые поля


Задачи на простой SELECT


Совсем просто


1. Напишите запрос для вывода идентификатора (номера) предмета
обучения, его наименования, семестра, в котором он читается,
и количества отводимых на этот предмет часов для всех строк таблицы SUBJECT.


2. Напишите запрос, выбирающий все данные из таблицы STUDENT,
расположив столбцы таблицы в следующем порядке: KURS, SURNAME, NAME, STIPEND.


3. Напишите запрос, позволяющий получить из таблицы EXAM_MARKS
значения столбца MARK (экзаменационная оценка) для всех студентов, исключив из списка повторение одинаковых строк.


4. Напишите запрос, выбирающий данные о фамилии, имени и номере курса для студентов, получающих стипендию больше 140.


5. Напишите запрос, который выполняет вывод списка университетов, рейтинг которых превышает 300 баллов.


6. Напишите запрос на вывод находящихся в таблице EXAM_MARKS
номеров предметов обучения, экзамены по которым сдавались между 10 и 20 января 1999 года.


7. Напишите запрос на вывод названий предметов обучения, начинающихся на букву «И».


8. Напишите запрос для выбора из таблицы EXAM_MARKS записей,
в которых отсутствуют значения оценок (поле MARK).


Вычисления в запросах SELECT


1. Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала один столбец, содержащий последовательность разделенных символом «;» (точка с запятой) значений
всех столбцов этой таблицы, и при этом текстовые значения должны отображаться прописными символами (верхний регистр),
то есть быть представленными в следующем виде: 10;КУЗНЕЦОВ;БОРИС;0;БРЯНСК;8/12/1981;10.


2. Составьте запрос для таблицы STUDENT таким образом, чтобы выходная таблица содержала всего один столбец в следующем виде:
б.кузнецов;место жительства-брянск;родился:8-дек-1981.


3. Вывести фамилии, имена студентов и величину получаемых ими
стипендий, при этом значения стипендий должны быть увеличены
в 100 раз.


4. Составьте запрос для таблицы UNIVERSITY таким образом, чтобы
выходная таблица содержала всего один столбец в следующем виде: Код-10;ВГУ-г. ВОРОНЕЖ;Рейтинг=296.


Агрегирующие функции
Группировка в запросах


Задачи

Агрегирующие функции


1. Напишите запрос для подсчета количества студентов, сдававших
экзамен по предмету обучения с идентификатором, равным 20.
2. Напишите запрос, который выполняет выборку для каждого студента значения его идентификатора и минимальной из полученных им оценок.
3. Напишите запрос, выполняющий вывод фамилии первого в алфавитном порядке (по фамилии) студента, фамилия которого начинается на букву «И».
4. Напишите запрос, который выполняет вывод данных для каждого
конкретного дня сдачи экзамена о количестве студентов, сдававших экзамен в этот день.
5. Напишите запрос для получения среднего балла для каждого студента.
6. Напишите запрос для определения количества студентов, сдававших каждый экзамен.


Группировка


1. Предположим, что стипендия всем студентам увеличена на 20%.
Напишите запрос к таблице STUDENT, выполняющий вывод номера студента, фамилию студента и величину увеличенной стипендии. Выходные данные упорядочить: а) по значению последнего
столбца (величине стипендии); б) в алфавитном порядке фамилий
студентов.
2. Напишите запрос, выполняющий вывод списка предметов обучения в порядке а) убывания семестров и б) возрастания отводимых
на предмет часов. Поле семестра в выходных данных должно быть
первым, за ним должны следовать имя предмета обучения и идентификатор предмета.
3. Напишите запрос, который выполняет вывод а) среднего, б) минимального, в) максимального баллов всех студентов для каждой даты сдачи экзаменов и который представляет результаты в порядке
убывания этих значений.


Протокол HTTP 1.0 на практике


Броузер шлет обычно запрос по по версии 1.1, но отвечать ему можно и нужно по протоколу 1.0.


0. Prerequisites
Практика:
Клиент – putty
a) Открыть серверный сокет,
передать клиенту строку символов,
забрать от клиента строку символов
b) То же, несколько строк.
с) Переподключение: сделать так, чтобы несколько клиентов могли подключаться последовательно.


1. Основы HTTP
a) Основные ссылки по HTTP-протоколу
b) Виды запросов
c) Синтаксис GET-запроса
d) Структура ответа, основные коды ответа
e) Значимые заголовки


2. Практика. Простой GET-запрос
a) Получение браузером от сервера простой статичной Web-страницы


3. Практика. Работа с файлами
a) Вывод содержимого файла из текущего каталога в консоль
б) То же из подкаталога текущего каталога
в) Скопировать бинарный, например, графический файл.


4. Практика. Передача файлов по HTTP
a) Получение браузером конкретного HTML-файла, путь которого жестко прописан в коде сервера
b) Получение браузером картинки, путь которой жестко прописан в коде сервера.


5. Практика. GET-запрос
a) Выделить путь из GET-запроса – отдать браузеру требуемый файл с правильным Content-type
b) Обработать ошибку 404.


6. Теория. Web-формы HTML
a) Устройство HTML формы (тег FORM атрибут ACTION, атрибут METHOD, Submit)
b) Пользовательский ввод (поле ввода, поле для ввода пароля, checkbox, radiobutton, выпадающий список)


7. Практика. Web-формы HTML
a) Создать форму со всеми элементами с GET запросом на localhost


8. Практика. Web-формы GET
a) Проанализировать получаемые данные браузера по GET запросу формы
б) Сформировать ответ браузеру, передав полученные данные в HTML


9. Практика. Web-формы POST
a) Проанализировать получаемые данные браузера по POST запросу формы
б) Сформировать ответ браузеру, передав полученные данные в HTML


Менеджеры компоновки
вторая ссылка


Java SDK
Инструкция по установке
Документация по строкам
1. Контесты по основам
2. Вывести в консоль ровный треугольник Паскаля