среда, 2 мая 2018 г.

Многотабличные базы данных

Дата проведения 2 занятия 10.05.18
Дата проведения 1 занятия 03.05.18
Почему бы не собрать все данные в одной таблице?
У однотабличной модели есть недостатки:

  • дублирование данных
  • при изменении каких-то данных может потребоваться изменение нескольких записей
  • нет защиты от опечаток
Однотабличная БД - это аналог картотеки, в которой все карточки имеют одинаковую структуру. А на практике в одной БД нужно хранить данные, относящиеся к объектам разных типов, которые связаны между собой.

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

В качестве примера рассмотрим базу данных "Школьная столовая". В этой БД требуется хранить информацию о двух классах объектов: о блюдах, которые продаются в столовой, и заказах, которые поступают от классных руководителей на обеды (завтраки) для классов или заказов отдельных школьников. Рассмотрим схему связей этой БД


Каждое блюдо может быть включено в несколькозаказов.
Каждый заказ может состоять из одного или нескольких блюд.
Чтобы упростить связи между таблицами Блюдаи Заказы, вводится дополнительная таблицаЗаказано.
Теперь БД состоит из трех таблиц.
В этой схеме таблицы БД связаны связями "один-ко-многим"
Связь  "один-ко-многим" показывает, что одной записи в главной таблице соответствует много записей в подчиненной таблице.
В паре таблиц Блюда - Заказано таблица Блюда - главная, Заказано - подчиненная.
В паре таблиц Заказы - Заказано таблица Заказы - главная, Заказано - подчиненная.

Практическая работа.  Разработка многотабличной БД "Школьная столовая".
Практическая работа.   Часть 1

Практическая работа.   Часть 2


Самостоятельная работа

среда, 25 апреля 2018 г.

Урок 29. БД как модель предметной области

Дата проведения занятия 25.04.18 и 26.04.18

Информационные системы и БД

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

  • Справочная адресная служба большого города
  • Транспортная информационная система, обеспечивающая также и покупку железнодорожных и авиабилетов
      
  • Информационно-поисковая система правового характера

Центральной частью любой информационной системы является база данных
База данных (БД) - это совокупность данных, организованных по определенным правилам, отражающая состояние объектов и их отношений в некоторой предметной области.

В середине ХХ века  были предложены следующие принципы  проектирования табличных БД:
    ,
  • Каждая таблица описывает один класс объектов;
  • Порядок расположения полей в таблице не имеет значения;
  • Все значения одного поля относятся к одному типу данных;
  • В таблице нет двух одинаковых записей;
  • Порядок расположения  записей в таблице не имеет значения.

Поэтому можно дать следующее определение. 
Реляционная БД - это БД, которую можно представить в виде набора таблиц с установленными между ними связями.

Система управления БД (СУБД) - это программное обеспечение для создания баз данных, хранения и поиска в них необходимой информации. 

Для проектирования БД средней сложности наиболее часто используются Microsoft Access, OpenOffice.org Base, LibreOffice Base.

Основными объектами СУБД являются:
  • Таблицы - это основной тип объектов. В таблицах хранятся данные.  
  • Формы - это вспомогательные объекты. Они обеспечивают удобную работу с данными в таблице.  
  • Запросы - это команды и результаты обращения пользователя к СУБД для поиска данных, сортировки, добавления, и удаления и обновления записей.
  • Отчеты - это документы, сформированные на основе таблиц и запросов и предназначенные для вывода на печать.

Реляционные БД

 Реляционная БД может состоять из одной или нескольких взаимосвязанных таблиц.
Строка таблицы называется записью, столбец - полем.
Запись содержит информацию об одном объекте (Например, об одной книге в библиотеке)
Поле содержит информацию о значениях только одной характеристики объекта (Например, фамилия автора)
Поле БД имеет имя, тип, длину.
Тип поля определяется типом данных, которые в нем хранятся.
Поле или совокупность полей, значения которых в разных записях не повторяется (являются уникальными), называют ключом таблицы БД.

Типы данных БД

Основные типы полей:
  • числовой - для полей, содержащих числовую информацию. Длина поля - стандартная
  • текстовый - для полей, содержащих произвольные последовательности символов. Длина поля - это максимальное количество символов, которые можно записать в это поле
  • логический - для полей, данные которых могут принимать только 2 значения: ДА/НЕТ или 1/0. Длина поля - стандартная
  • дата - для полей, содержащих календарные даты. Длина поля - стандартная
Прочитайте и выполните предложенное задание на разработку БД
Практическая работа. Задание на разработку однотабличной БД

Практическая работа 2. Школьная столовая.

среда, 11 апреля 2018 г.

Урок 27. Паскаль. Поиск минимума и максимума в массиве

Дата проведения урока 11.04.18 и 12.04.18

ПОСЛЕДОВАТЕЛЬНЫЙ ПОИСК В МАССИВЕ

В программировании поиск - одна из наиболее часто встречающихся задач невычислительного характера.

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

  • Необходимо выяснить, кто занял первое место.
  • Необходимо выяснить, кто занял 1, 2, 3 место
  • Необходимо выяснить, насколько победитель пробежал быстрее самого слабого участника 
Все эти задачи сводятся к поиску максимального и   минимального значения элемента массива
Компьютер не может сравнить разом весь ряд объектов. На каждом шаге он может сравнивать только два объекта. Поэтому в программе необходимо организовать последовательный просмотр элементов массива и сравнение значения очередного просматриваемого элемента с некоторым образцом

Пример программы поиска первого минимума
Пример программы поиска последнего максимума

 

ЗАПОЛНЕНИЕ МАССИВА

Цикл for ... to или for ... downto удобно использовать для работы с массивами: для заполнения, для поиска элементов с заданными свойствами.
1. Заполнение массива из 10 элементов вводом значений с клавиатуры
    for i:=10 downto 1 do read ( a[i] ); // заполнение от 10 элемента до 1
2. Заполнение массива из 10 элементов с помощью оператора присваивания
     for i:=1 to 10 do a[i]:=i+2; // заполнение от 1 элемента до 10
3. Заполнение массива из 10 элементов случайными числами
     randomize; // активизация датчика случайных чисел
     for i:=1 to 10 do a[i]:=random(100); // каждый элемент - случайное число [ 0;100 )

Работа на ПК в классе:

Выполните в классе задание на поиск экстремумов
Вариант 1, 2 для 9а; Вариант 3, 4 для 9б 

Домашнее задание

На следующем уроке 18.04.18 или 19.04.18 - контрольная работа по Паскалю. Готовьтесь!
Прислать учителю информатики по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ.

среда, 4 апреля 2018 г.

Урок 26. Заполнение массивов

Дата проведения урока 4.04.2018 и 5.04.2018
Для тех, кто НЕ СДАЕТ ОГЭ по информатике, сегодня урок - закрепление по работе с массивами.  Работаем группами по разным заданиям  

Работа на ПК в 211 классе:

1. Те, кто отсутствовал на прошлом уроке, читают предыдущее сообщение к Уроку 25 от 14.03.18 (15.03.18), пишут и отлаживают  программу  Pas20_0_cl.pas, показывают учителю.
Затем работают по вариантам Вариант 1, 2 для 9а;   Вариант 3, 4 для 9б, 9в 
2. Те, кто присутствовал на прошлом уроке, продолжают работать по вариантам Вариант 1, 2 для 9а;   Вариант 3, 4 для 9б, 9вОтлаженные программы показать учителю 

Те, кто пишет ОГЭ 4.04.2018 или 5.04.2018, приходят в каб 311 ко времени, указанному в расписании. 
Желаем успехов!

среда, 14 марта 2018 г.

Урок 25. Паскаль. Массивы

Даты проведения уроков 14.03.18, 15.03.18
Внимание! 21.03.2018 (9а, 9в) и 22.03.2018 (9б)  на уроках информатики для тех, кто сдает ОГЭ, будет Репетиция-1 ОГЭ
Для тех, кто не сдает ОГЭ, будет контрольная работа по темам Уроков 21-23
-------------------------- 

До сих пор в Паскале вы имели дело с простыми типами данных. К простым типам относятся порядковые (целые, логические, символьные)  и вещественные типы данных

Сегодня мы переходим к изучению массивов. Массивы относятся к  структурированным типам данных.

Массив представляет собой набор элементов одного типа, каждый из которых имеет свой номер, называемый индексом (индексов может быть несколько, тогда массив называется многомерным). Индекс определяет положение элемента в массиве.

Перед использованием в программе массив должен быть описан, то есть должно быть указано имя массива, количество элементов и их тип. Это необходимо для того, чтобы выделить участок памяти нужного размера для хранения элементов массива. Общий вид описания массива:
var  <имя_массива>: array [<мин_зн_индекса> .. <макс_зн_индекса>] of <тип_элементов>;
Тип индекса обязательно представляет собой интервальный тип и обязательно должен задаваться в виде a..b, где a и b - константные выражения целого, символьного или перечислимого типа.
Например, массивы a1,a2 состоят каждый из 10 целочисленных элементов, а массив b состоит из 6 вещественных чисел:
var
  a1,a2: array [1..10] of integer;
  b: array [0 .. 5] of real;
В программе к элементу массива a1 с номером i следует обращаться так: a1[i]

Переменные-массивы одного типа можно присваивать друг другу, при этом будет производиться копирование содержимого одного массива в другой:
a1:=a2;

Пример программы с массивом

В качестве примера напишем программу Pas20_0_cl.pas по следующему заданию:
Заполнить массив из 10 элементов целыми  числами от 3 до 12.
Массив объявлен как var arr00: array [1..10] of  integer. Вывести значения элементов массива на экран в одну строку через знаки  ; . Сосчитать сумму элементов,  вывести сумму на экран с новой строки.

Работа на ПК в классе:

1. Отладить программу  Pas20_0_cl.pas, показать учителю (для всех)
2. Далее работаем по вариантам Вариант 1, 2 для 9а;   Вариант 3, 4 для 9б, 9в 

Домашнее задание

Прислать учителю информатики по школьной эл почте письмо-отчет о выполнении домашнего задания. Задание находится ЗДЕСЬ

среда, 7 марта 2018 г.

Урок 24-9АВ. Разветвления, циклы for, while для робота

Дата проведения урока 7.03.18
Внимание! 
13.03.2018 на уроках информатики для тех, кто сдает ОГЭ, будет Репетиция-1 ОГЭ
Для тех, кто не сдает ОГЭ, будет контрольная работа по темам Уроков 21-24
-----------------------------------

ЧАСТЬ 1. ПРОГРАММЫ ДЛЯ РОБОТА С ЦИКЛОМ FOR И РАЗВЕТВЛЕНИЯМИ

  1. Прочитайте, если требуется, справку о работе исполнителя Робот
  2. Запустите шаблон программы c8. Зарисуйте схематично картинку поля, стену и робота
  3. Напишите, сохраните, отладьте программу Rc8NNNN.pas, покажите учителю
  4. Запустите шаблон программы if8. Зарисуйте схематично картинку поля, стену и робота
  5. Запустите шаблон программы if8 еще раз. Изменилась ли картинка?
    Если не изменилась, повторите запуск
    Если изменилась - зарисуйте поле.
  6. Повторите запуск несколько раз, зарисовывайте поле
  7. Напишите, сохраните, отладьте программу Rif8NNNN.pas, покажите учителю

 ЧАСТЬ 2. ЦИКЛ WHILE -  ЦИКЛ С ПРЕДУСЛОВИЕМ

Синтаксис (справка по Паскалю, цикл с условием)
Оператор цикла while имеет следующую форму:
while условие do
  
оператор
Условие представляет собой выражение логического типа, а оператор после do называется телом цикла. Перед каждой итерацией цикла условие вычисляется, и если оно истинно, то выполняется тело цикла, в противном случае происходит выход из цикла.
Если вместо одного оператора в теле цикла требуется выполнить несколько операторов, то используется блок команд begin...end.
Если условие всегда оказывается истинным, то может произойти зацикливание:
while 2>1 do
    write(1);

Чтобы прервать зациклившуюся программу, выполняющуюся из интегрированной среды в режиме связи с оболочкой, следует использовать комбинацию клавиш Ctrl-F2 или пункт меню Программа/Завершить
Изменение логического условия  внутри цикла должен обеспечить программист!.
В качестве примера разберем алгоритм задачи для робота с шаблоном w1.
  1. Запустите шаблон программы w2 несколько раз. Зарисуйте схематично картинку поля, стены и робота
  2. Напишите программу, используя цикл while, сохраните программу Rw2NNNN.pas, отладьте,  покажите учителю. Вот текст программы
  3. Повторите пункты 1-2 для шаблона w3 (Rw3NNNN.pas), w4 (Rw4NNNN.pas)

ДОМАШНЕЕ ЗАДАНИЕ

Внимание! 13.03.2018 на уроках информатики для тех, кто сдает ОГЭ, будет Репетиция-1 ОГЭ
Для тех, кто не сдает ОГЭ, будет контрольная работа по темам Уроков 21-24
-------------------------- 
Прислать учителю информатики до 12.03.2018 (понедельник) до 23.00 по школьной эл почте письмо-отчет о выполнении домашнего задания.
Тема письма: 9 кл ДЗ к уроку 24-9АВ Паскаль3 <ваша фамилия>
Задание Паскаль3-9АВ.
  1. Написать и отладить программы для Робота по шаблонам  if9,  w4, w5
  2. Для каждой программы после удачного выполнения сделать скриншот экрана 
  3. К письму для каждой программы прикрепить файл программы с расширением .pas + скриншот. Для получения скриншота надо нажать клавишу print scrin, вставить данные  из буфера в окно программы paint, сохранить в формате png или jpg
на оценку 3: Rw4NNNN.pas
на оценку 4: Rw4NNNN.pas, Rif9NNNN.pas 
на оценку 5: Rw4NNNN.pas, Rif9NNNN.pas, Rw5NNNN.pas

среда, 28 февраля 2018 г.

Урок 23. Разветвления и циклы for с роботом

Даты проведения урока 28.02.18, 1.03.18

ЧАСТЬ 1. ПРОГРАММЫ С РАЗВЕТВЛЕНИЯМИ ДЛЯ РОБОТА

1. Прочитайте еще раз справку о работе исполнителя Робот
2. Запустите шаблон программы if4. Зарисуйте схематично картинку поля, стену и робота
3. Запустите шаблон программы if4 еще раз. Изменилась ли картинка?
        Если не изменилась, повторите запуск
        Если изменилась - зарисуйте поле.
4. Повторите запуск несколько раз, зарисовывайте поле
5. Напишите, отладьте, сохраните программу Rif4NNNN.pas, покажите учителю
6. Повторите пункты 2-5 для шаблона if5 (Rif5NNNN.pas)


ЧАСТЬ 2. ЦИКЛ FOR -  ЦИКЛ С ЗАДАННЫМ ЧИСЛОМ ПОВТОРЕНИЙ, ЦИКЛ С ПАРАМЕТРОМ

ОПЕРАТОР ЦИКЛА FOR ИМЕЕТ ОДНУ ИЗ ДВУХ ФОРМ:

for переменная := начальное значение to конечное значение do
  оператор;

или

for переменная := начальное значение downto конечное значение do
  оператор;

Текст от слова for до слова do включительно называется заголовком цикла, а оператор после do - телом цикла. Переменная после слова for называется параметром цикла.

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

Для каждого значения переменной-параметра выполняется тело цикла. Однократное повторение тела цикла называется итерацией цикла. Значение параметра цикла после завершения цикла считается неопределенным.

Если для цикла for ... to начальное значение переменной цикла больше конечного значения или для цикла for ... downto начальное значение переменной цикла меньше конечного значения, то тело цикла не выполнится ни разу.

Изменение переменной-параметра цикла внутри цикла является логической ошибкой.

1. Запустите шаблон программы c1. Зарисуйте схематично картинку поля, стену и робота
2. Напишите, отладьте программу, используя цикл for, сохраните программу Rc1NNNN.pas, покажите учителю
3. Повторите пункты 1-2 для шаблона c2 (Rc2NNNN.pas), c5 (Rc5NNNN.pas)

ДОМАШНЕЕ ЗАДАНИЕ
Прислать учителю информатики по школьной эл почте письмо-отчет о выполнении домашнего задания.

Тема письма: 9 кл ДЗ к уроку 23 Паскаль3 <ваша фамилия>

Задание Паскаль3.

1. Написать и отладить программы для Робота по шаблонам  if6,  if7, c7
2. Для каждой программы после удачного выполнения сделать скриншот экрана 
3. К письму для каждой программы прикрепить файл программы с расширением .pas + скриншот. Для получения скриншота надо нажать клавишу print scrin, вставить данные  из буфера в окно программы paint, сохранить 

на оценку 3: Rif6NNNN.pas
на оценку 4: Rif6NNNN.pas, Rif7NNNN.pas 
на оценку 5: Rif6NNNN.pas, Rif7NNNN.pas, Rc7NNNN.pas