Школа

pascal - Простые числа

Вывод простых чисел (программа с ошибками)

program numbers;

const N = 100;

var i, k: integer;
    A: array[2..M] of boolean;

begin

for i:= 2 to N do 
  A[i] := True;

k:= 22;
while k*k*k <= N do begin
  if A[k] then begin
    i := k*k;
    while i <= N do begin
      A[i] := False;
      i := i - k  
    end
  end;  
  k:= k + 1
end;

for i:= 2 to N do 
  if A[i] then 
    writeln ( i );

end.

C / C++: матрица

Ввод и вывод матрицы 5x5 элементов:

#include <stdio.h>
#include <stdlib.h> // для функции rand()
int main()
{
  int a[5][5]; // матрица 5 x 5 элементов
  int i, j;
  for (i=0; i<5; i++)  // цикл по строкам
  {
    for (j=0; j<5; j++) // цикл по столбцам
    {
      a[i][j] = rand() % 100; // X = rand() % (max - min) + min;
      if (a[i][j] < 10)
        printf(" %d ", a[i][j]);
      else
        printf("%d ", a[i][j]);
    };
    printf("\n");
  };
  getchar();
  return 0;
}

 

C / C++: массив

Массив из 5 числел:

#include <stdio.h>

int main()
{
  int a[] = { 5, 4, 3, 2, 1 }; // массив a содержит 5 элементов
  printf("%d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4]);
  getchar(); // ожидание нажатия кнопки
  return 0; // сигнал нормального завершения программы
}

Ввод и вывод массива из 5 числел:

#include <stdio.h>

int main()
{
  int a[5]; // объявлен массив a из 5 элементов
  int i;
  // Ввод элементов массива
  for (i = 0; i<5; i++)
  {
    printf("a[%d] = ", i);
    scanf("%d", &a[i]); // &a[i] - адрес i-го элемента массива
  }
  // Вывод элементов массива
  for (i = 0; i<5; i++)
    printf("%d ", a[i]); // пробел в формате печати обязателен - это отступ между числами

  getchar(); getchar(); // ожидание нажатия кнопки
  return 0; // сигнал нормального завершения программы
}
 

C / C++: циклы

Пример работы цикла с параметром for:

#include <iostream>

int main() {
	int i;
	for (i=1; i<5; i++) {
		printf("%d", i);
	};
}

Пример работы цикла с предусловием while:

#include <iostream>

int main() {
	int i = 1;
	while (i < 5) {
		i++;
		printf("%d", i);
	}
}

Пример работы цикла с постусловием do .. while:

#include <stdio.h>

int main() {
	int i = 1;
	do {
		i++;
		printf("%d", i);
	} while (i < 5);
}
Вложения:
Скачать этот файл (cycles.zip)cycles.zip[файлы примеров работы с циклами]0.7 Кб

Видео-уроки по математике и физике для 5-11 классов

Смотрите бесплатные видеоуроки по математике и физике для 5-11 классов на канале Топ Школа www.youtube.com/c/ТопШкола на русском и украинском языках.

Ссылки на треннировочные ресурсы по информатике

 

  • ЕГЭ на 100 баллов (группа ВКонтакте)
  • ЕГЭ по информатике 2017 (Курс-конспект)
  • Решу ЕГЭ (Сдам ГИА)
  • Тип заданий 11 - ЕГЭ по информатике 2016
  • Вниманию школьников и учителей предлагается пособие для подготовки к единому государственному экзамену в 11 классе по информатике, которое содержит 10 тренировочных вариантов экзаменационных работ. Каждый вариант составлен в полном соответствии с требованиями ЕГЭ и включает задания разных типов и уровней сложности. Значительный по объёму банк экзаменационных материалов (230 заданий части 1 и 40 - части 2) предоставляет отличную возможность для интенсивной тренировки и овладения необходимыми знаниями, умениями и навыками для успешной сдачи экзамена. В конце книги даны ответы для самопроверки на все задания части 1 и критерии оценивания задания с развёрнутым ответом части 2. ЕГЭ-2017 Информатика (270 треннировочных заданий).

Примеры прикладных задач

Решение квадратного уравнения

Язык Pascal:

program quadratic_equation;

var
  a, b, c, D, x1, x2: real;


begin
  writeln('Введите a, b, c: ');
  read(a, b, c);

  writeln('Формула: ', a, 'x^2+' ,b, 'x+', c, '=0');
  D := b*b - 4 * a * c;
  writeln('D = b^2-4ac = ', D);

  if D < 0 then writeln('Решений нет')
  else
    if D = 0 then  begin
      x1 := - b / (2 * a);
      writeln('x = ', x1);
    end
    else  begin
      x1 := (-b + sqrt(D)) / (2*a);   
      x2 := (-b - sqrt(D)) / (2*a);   
      writeln('x1 = ', x1);
      writeln('x2 = ', x2);
    end;
end.

4. Создание веб-сайтов


  • Уроки-задания HTML Academy

    • Гипертекст (англ. hypertext) - это текст, содержащий гиперссылки.
    • Гиперссылка (англ. hyper reference) - это "активная" ссылка на другой объект (часть того же документа, другой документ, файл, каталог, программу и т.д.).
    • Веб-страница - это гипертекстовый документ в Интернете.
    • Веб-сайт - группа веб-страниц, которые объединены общей темой и оформлением, связаны гиперссылками.
    • Веб-сервер - это программа, которая принимает запросы по протоколу HTTP и отвечает на них - возвращает веб-страницы и дополнительные данные (рисунки, звуковые файлы, видеофайлы).
    • Браузер - это программа для просмотра веб-страниц на экране монитора.
    • HTML = Hypertext Markup Language - язык разметки гипертекста
    • веб-страницы бывают:
      • статические
      • динамические
    • CMS = Content Management System - система управления содержимым сайта
    • Функции CMS:
      • создание разделов сайта
      • создание страниц
      • база данных пользователей
      • управление доступом
      • обесечение навигации и поиска
    • DHTML = Dynamic HTML - динамический HTML.
    • Скрипт или сценарий (англ. script) - это программный код для автоматизации действий пользователя.
    • WYSIWYG = What You See Is What You Get
    • Тэг - команда языка HTML


    Вложения:
    Скачать этот файл (css-js-files.zip)css-js-files.zip[архивный файл для практических занятий 2017]53 Кб
    Скачать этот файл (css-js-files2.zip)css-js-files2.zip[архивный файл для практических занятий 2018]83 Кб
    Скачать этот файл (files11-4.zip)files11-4.zip[html файлы Полякова]7474 Кб
    Скачать этот файл (Огородникова сайт.7z)Огородникова сайт.7z[ ]940 Кб
    Скачать этот файл (рОДИОНОВА И шАРЫМОВА сАЙТ.7z)рОДИОНОВА И шАРЫМОВА сАЙТ.7z[ ]4271 Кб

    Как работать с Dev C++

    После запуска Bloodshed Dev C++ нажимаен на кнопку New - это первая кнопку с изображением чистого белого листика.



    Далее, в выпадающем меню, выбираем Исходный файл:



    Либо вместо предыдущих двух действий выполняем по порядку то, что указано на картинке: Выбираем меню Файл -> Создать -> Исходный файл:



    Для запуска нашей программы надо нажать кнопку "Скомпилировать и выполнить", указанную на картинке:



    Либо выбираем в меню: Выполнить -> Скомпилировать и выполнить



    Как работать с CodeBlocks

    После запуска CodeBlocks нажимаен на кнопку New file - это первая кнопку с изображением чистого белого листика с желтым плюсиком в правом верхнем углу.



    Далее, в выпадающем меню, выбираем Empty file (т.е. пустой файл)



    Либо вместо предыдущих двух действий выполняем по порядку то, что указано на картинке: Выбираем меню File -> New -> Empty file:



    Добавиться пустое окно в которое мы и можем записать нашу программу. Затем мы сохраняем файл нажимаю на кнопку с одной дискеткой.



    Откроется диалогое окно, которое предложит назвать файл нашей программы.



    Сразу укажем расширение - cpp сместо c.



    Укажем таки название нашей программы с указанным расширением и нажмем кнопку Сохранить:



    На закладке имени нашей программы смениться название и текст (код) нашей программы со смыслом раскрасится, выделяя команды для удобства восприятия:



    Написав программу, её нужно скомпилировать и запустить. Сделать это можно нажав на кнопку "Build and run" (шестерёнка с зелёным треугольничком) показанную на картинке:



    Под окном с текстом (кодом) нашей программы компилятор покажет есть ли ошибки (errors) или предупреждения (warnings) и сколько их. При условии отсутствия ошибок программа запуститься в чёрном окне и выведет результат своей работы.



    Нажмите любую кнопку для завершения работы программы - чёрное окно закроется и можем продолжить писать код нашей программы.


     

    ГосУслуги и вход в электронный журнал СГО

    Уважаемые родители!

    Согласно распоряжения Правительства РФ от 25.10.2014 №2125-р и исполнения приказа Министерства образования и науки Ульяновской области от 11.10.2016 №18 "О региональных информационных системах" с 1 января 2018 года вход в электронный журнал «Сетевой город» будет производиться только с учетной записью портала Государственных Услуг (ГосУслуг).

    В связи с этим Вам и Вашим детям необходимо зарегистрироваться на портале ГосУслиги (gosuslugi.ru) и сделать свою учетную запись Подтверждённой. Для подтверждения своей учётной записи Вам необходимо обратиться в многофункциональный центр. Адреса МФЦ:

    • 432063, г. Ульяновск, ул. Минаева, 6, Ленинский район (8422) 37-13-13 (доб. 2300)
    • 432072, г. Ульяновск, пр-т Созидателей, 116, Заволжский район (8422) 37-13-13 (доб. 2000)
    • 432036, г.Ульяновск, ул. Промышленная, 54г, Засвияжский район (8422) 37-13-13 (доб. 2200)
    • 432012, г. Ульяновск, ул. Локомотивная, д. 85, Железнодорожный район (8422) 37-13-13 (доб. 2100)

    Как связать свои учётные записи портала Государственных Услуг и электронного журнала «Сетевой город» указано по ссылке.

    Как связать учетные записи портала государственных услуг и электронного журнала "Сетевой город. Образование"?


    КАК СВЯЗАТЬ УЧЕТНЫЕ ЗАПИСИ ПОРТАЛА ГОС.УСЛУГ И
    СЕТЕВОГО ГОРОДА?
    Пройти регистрацию на портале гос.услуг
    (www.gosuslugi.ru, esia.gosuslugi.ru)
    (ВАЖНО! Учетная запись должна быть ПОДТВЕРЖДЕННАЯ)
    Войти в личный кабинет автоматизированной информационно-образовательной
    системы "Сетевой город. Образование", используя логин и пароль,
    полученный в школе
    В личном кабинете перейти на вкладку "Персональные настройки" и нажать
    кнопку "Привязать пользователя портала гос.услуг"
    В открывшемся окне ввести авторизационные данные с портала гос.услуг
    (например, номер сотового телефона и пароль)
    ПОЗДРАВЛЯЕМ! ВАШИ УЧЕТНЫЕ ЗАПИСИ ПОРТАЛА ГОС.УСЛУГ И
    СЕТЕВОГО ГОРОДА УСПЕШНО СВЯЗАНЫ!
    ВХОД В СИСТЕМУ "СЕТЕВОЙ ГОРОД"
    БУДЕТ ОСУЩЕСТВЛЯТЬСЯ СО СТРАНИЦЫ СЕТЕВОГО ГОРОДА
    ПО ССЫЛКЕ "ВОЙТИ ЧЕРЕЗ ГОС.УСЛУГИ"
    (расположена в нижней части окна)

    Желаем приятной работы!!!



    Ниже представлены вышеописанные действия в картинках:







    Если Вы не вошли в ГосУслуги на соседней интернет-странице, то здесь должен быть запрошен логин-пароль в ГосУслуги.





    Базы данных в LibreOffice Base (АэроПорт)

    Автор: А. А. Ракитин

    Базы данных в LibreOffice Base

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

    Каждая строка таблицы соответствует одной записи в базе. Записей может быть сколько угодно, каждая из них отражает свойства конкретного реального объекта. Процесс пополнения базы данных заключается в добавлении новых записей и в редактировании существующих.

    Колонки определяют атрибуты (свойства) записей, а значит и реальных объектов. Набор колонок должен быть продуман и определен до создания базы. После того как база создана, добавление новой колонки иногда может быть связано с некоторыми трудностями. Чаще это не так, но лучше все-таки определиться до, а не после.

    База данных может состоять из нескольких таблиц и эти таблицы могут быть связаны между собой.

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

    Создание базы данных

    При запуске LibreOffice Base возникает окно мастера, в котором предлагается выбрать один из трех режимов работы;
    • Создать новую базу данных.
    • Открыть существующий файл (содержащий базу данных).
    • Подключиться к существующей базе данных.

    При выборе второго пункта можно подключиться к базе, созданной ранее в LibreOffice Base, которая по умолчанию имеет формат dBASE. Третий пункт позволяет работать с локальными и сетевыми базами многих распространенных типов. Для каждого типа используется свой определенный драйвер, дающий доступ к данным.

    Для создания новой базы данных нужно выбрать первый пункт. Затем нажать Далее и выбрать Зарегистрировать базу данных и Открыть базу для редактирования. При завершении работы мастера потребуется указать имя новой базы и место для сохранения файла с ней. После этого открывается окно для работы с базой.

    Окно LibreOffice Base
    Окно LibreOffice Base.

    В левой части окна перечислены четыре составляющих, которые являются частями базы: Таблицы, Запросы, Формы, Отчеты. Как уже говорилось, основой базы являются таблицы. Все остальные элементы не содержат каких-то новых данных, а всего лишь берут их из таблиц. В только что созданной базе нет ни одной таблицы, поэтому нет ни запросов, ни форм, ни отчетов. Ниже все они будут рассмотрены, но для начала необходимо создать хотя бы одну таблицу.

    Создание таблиц

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

    Каждая строка окна Дизайнера таблиц (Table Disign) описывает одну колонку создаваемой таблицы. Первая строка Дизайнера соответствует первой колонке таблицы, вторая строка - второй колонке и так далее. На иллюстрации строки Дизайнера уже заполнены для создания конкретной таблицы.

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

    Окно для создания таблицы в режиме дизайна
    Окно для создания таблицы в режиме дизайна.

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

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

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

    Графа Тип поля заполняется путем выбора из вариантов, как это показано на иллюстрации для нижней строки (колонка Тип рейса). Для более точной настройки поля в нижней части расположена область Свойства поля. В нем можно указать, что оно является обязательным для заполнения, назначить количество символов в ячейке и определить некоторые другие характеристики.

    Количество символов всегда желательно указывать исходя из свойств реальных данных для поля. Дело в том, что, например, для текстовых данных длина поля по умолчанию составляет 100 символов. Именно столько места будет зарезервировано для данных в этом случае. Но, если реальный текст, который будет заноситься в ячейку, состоит максимум из 12 символов, то остальное место будет оставаться пустым. Это приведет к неоправданному увеличению размеров файла базы данных, что плохо, особенно для больших баз.

    Первая строка Дизайнера, соответствующая первой колонке таблицы, является ключевым полем. Данные в ней будут появляться автоматически при добавлении каждой новой записи. Здесь это просто номер, который каждый раз увеличивается на единицу. Ключевое поле гарантирует, что в базе ни при каких обстоятельствах не будет содержаться двух одинаковых записей. Они обязательно будут отличаться друг от друга хотя бы ключом. Этого требует технология реляционных баз данных. Если ключевое поле не было создано, Дизайнер обратит на это внимание и предложит его создать.

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

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

    Второе связано с недопустимостью ошибок ввода данных, что вполне возможно при их ручном вводе. Например, "Air Europa" и "AirEuropa" являются одним и тем же только с точки зрения человека. Для компьютера это разные данные. Такие ошибки могут (и будут) приводить к получению неправильных запросов или отчетов. Несколько обезопасить себя от совершения подобных ошибок можно использованием копирования и вставки уже введенных ранее данных.

    Ниже показан вид заполненной таблицы Авиарейсы. В ней всего 18 строк, ведь это всего лишь пример. В реальности таблицы получаются гораздо больше. Ячейки заполняются точно также, как в LibreOffice Calc - с помощью мыши и клавиатуры. Данные можно импортировать из таблицы LibreOffice Calc, если такая имеется.

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

    Заполненная таблица Авиарейсы
    Заполненная таблица Авиарейсы.

    Файл с базой данных АвиаРейсы можно скачать здесь.

    С таблицами уже можно делать некоторые полезные вещи. Например, можно сортировать записи по данным в любом столбце (в восходящем или нисходящем порядке). Можно применить фильтр для показа только записей, содержащих определенное поле. Инструменты, предназначенные для таких манипуляций, обведены на иллюстрации красным овалом.

    Создание отчетов

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

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

    Для создания отчетов имеется мастер, который становится доступен при выделении в левой части рабочего окна LibreOffice Base элемента Отчеты. На первом шаге мастера требуется указать таблицу (или запрос) для построения отчета. Здесь же нужно перенести те поля (колонки) таблицы, данные из которых попадут в отчет. На иллюстрации данные из колонок ID и Тип рейса не будут фигурировать в отчете. Порядок следования колонок в отчете, в отличие от таблицы, можно легко изменить с помощью кнопок, которые обведены на иллюстрации красным кружком.

    Мастер создания отчетов. Шаг 1
    Мастер создания отчетов. Шаг 1.

    Второй шаг мастера позволяет изменить названия колонок. Это сделано потому, что очень часто колонки в таблицах именуются весьма условно. К примеру, это может быть что типа NR1, Type или что-нибудь похожее. В отчете, конечно же, лучше иметь более осмысленные названия полей.

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

    На четвертом шаге мастера определяются параметры сортировки строк внутри групп.

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

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

    Фрагмент отчета
    Фрагмент отчета.

    Некоторые возможности для изменения внешнего вида отчета предоставляет пункт меню Изменить, который вызывает Конструктор отчетов (Report Design). Этот инструмент позволяет изменять положение и размер полей с данными, изменять заголовки, управлять колонтитулами.

    Пункт меню отчета Изменить
    Пункт меню отчета Изменить.
    Окно Конструктора отчетов
    Окно Конструктора отчетов.

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

    Другая возможность для правки связана с тем, что готовый отчет представляет собой обычный документ LibreOffice Writer. Он может быть сохранен в отдельный файл odt (Файл -> Сохранить как) и после этого его можно редактировать, добавлять графику или экспортировать в формат PDF. Здесь нет никаких ограничений. Однако, такой отчет уже будет самостоятельным документом вне базы данных.

    Создание запросов

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

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

    Для создания запросов в LibreOffice Base имеется три способа, которые становятся доступны при выделении в левой части рабочего окна элемента Запросы.
    • Создать запрос в режиме дизайна. Query Design позволяет очень простым способом создавать достаточно сложные варианты запросов. Он является наиболее предпочтительным вариантом, тем более, что редактирование ранее созданных запросов делается тоже в нем.
    • Использовать мастер для создания запроса. Этот вариант позволяет создавать простые запросы, но явно уступает первому в гибкости. Здесь он рассматриваться не будет.
    • Создать запрос в режиме SQL. В данном случае запрос формируется сразу на языке SQL, который специально был создан для взаимодействия с базами данных. Этот способ предоставляет самые широкие возможности, но требует знания SQL. Здесь он рассматриваться не будет.

    При выборе варианта Создать запрос в режиме дизайна появляется окно Query Design и предложение добавить таблицы и запросы. Как уже говорилось, запрос должен быть адресован хотя бы одной таблице. Но их количество может быть больше одной. А, поскольку результатом запроса тоже является таблица, то запрос может основываться и на сделанном ранее запросе. Сейчас в базе имеется только одна таблица и запрос будет строиться именно к ней.

    Окно Query Design
    Окно Query Design.

    В верхней части окна Query Design отображаются источники данных для запроса - таблицы и ранее сделанные запросы, которые были добавлены. В нижней части окна расположена панель построения запроса, тот инструмент, с которым надо работать. Этот инструмент фактически является прототипом той таблицей, которая будет получена в результате запроса. Каждая колонка нижней части Query Design станет колонкой новой таблицы. Все что требуется - это настроить в ней отображение нужных данных.

    Для примера будет создан запрос, который выведет записи о рейсах компании Аэрофлот.

    Для начала нужно указать, какие данные будут отображаться в каждой колонке новой таблицы. Для первой колонки выбрано поле ID из таблицы Авиарейсы. Для второй - поле Пункт назначения из таблицы Авиарейсы. Итак далее. Чекбокс в строке Видимый означает, что эти данные в будущей таблице будут отображаться. В последней колонке Компания этот чекбокс не отмечен, поэтому колонка не будет видна. Это не требуется, потому, что из заголовка запроса будет ясно, что речь идет о рейсах Аэрофлота.

    Зато в последней колонке Компания записан Критерий, его значение равно Аэрофлот (кавычки ставить не нужно, программа добавляет их сама). Критерий в данном случае означает, что из таблицы-источника будут выбраны только те записи, которые в поле Компания содержат значение Аэрофлот.

    Кроме того, в колонке Пункт назначения установлена сортировка по возрастанию.

    После создания запроса окно Query Design можно закрыть, при этом появится предложение сохранить изменения и указать имя запроса. Готовый запрос появится в правой нижней части рабочего поля программы. Для открытия запроса нужно сделать на нем двойной щелчок левой кнопкой мыши.

    Создание запроса о рейсах компании Аэрофлот
    Создание запроса о рейсах компании Аэрофлот.
    Результат запроса о рейсах компании Аэрофлот
    Результат запроса о рейсах компании Аэрофлот.

    В таблице, которая получена в результате запроса, видны все рейсы Аэрофлота, отсортированные в алфавитном порядке по Пункту назначения. Запрос всегда является динамическим. Таблица, полученная в ходе запроса просто отражает данные из таблицы-источника. Поэтому верно и обратное - изменение данных в таблице-запросе меняет их и в таблице-источнике. Из этих соображений не следует редактировать таблицу-запрос.

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

    Фрагмент отчета на основе запроса
    Фрагмент отчета на основе запроса.

    Запрос может содержать несколько критериев отбора. Часто нужно получить записи, которые содержат любое из нескольких значений. Такие варианты записываются в строках Или.

    Могут быть и другие ситуации, например требуется получить записи, которые не содержат значение. Или содержат максимальное значение. Вариантов много. Для таких случаев в Query Design имеется поле Функция.

    Формы

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

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

    Самый простой способ создания формы - использовать мастер. Он запускается после щелчка левой кнопкой мыши на пункте Использовать мастер для создания формы в правой верхней части рабочего поля.

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

    Второй шаг - Установка субформы - можно пропустить. Он нужен в тех случаях, когда имеются вложенные формы. При пропуске этого шага следующие два также не выполняются.

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

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

    На седьмом шаге мастера производится выбор стиля. Имеет смысл посмотреть их все, а затем выбрать наиболее подходящий.

    Восьмой шаг - завершающий. Здесь надо будет задать имя для формы и подтвердить ее сохранение.

    Готовая форма
    Готовая форма.

    Перемещаться между полями ввода формы удобно с помощью клавиши Tab.

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

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

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

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

    Для примера в поле со списком будет преобразована колонка Тип рейса. В ней имеется три варианта заполнения ячеек - пассажирский, грузовой и смешанный. То же самое могло бы быть сделано для колонки Тип самолета и в других подобных случаях, когда имеется разумное количество вариантов.

    Варианты заполнения ячеек для колонки Тип рейса должны быть помещены в отдельную таблицу. Такие таблицы обычно называют справочниками. Любая реальная база данных использует множество справочников - адреса, названия организаций, выбор даты и другие.

    Итак, в таблице Авиарейсы имеется колонка Тип рейса. Требуется создать еще одну таблицу Справочник - Тип рейса. В этой дополнительной таблице тоже будет колонка Тип рейса. Эта колонка будет единственной и она же будет ключом. Одноименные колонки в обеих таблицах должны иметь одинаковый тип данных.

    В таблице Авиарейсы колонка Тип рейса имеет следующие характеристики:
    • Тип поля - Текст (VARCHAR);
    • Длина - 15 символов.

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

    Создание таблицы Справочник - Тип рейса
    Создание таблицы Справочник - Тип рейса.
    Таблица с данными
    Таблица с данными.

    Теперь можно создать связь ячеек колонки Тип рейса таблицы Авиарейсы с одноименной колонкой таблицы Справочник - Тип рейса. Такой тип связи носит название "один ко многим". Для создания связей служит пункт главного меню LibreOffice Base Сервис -> Связи. При его вызове отрывается окно Добавить таблицы. Здесь надо добавить обе, затем закрыть окно.

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

    Создание связи
    Создание связи.

    Половина дела сделана. Теперь можно изменить форму, точнее поле Тип рейса в ней. Если формы еще нет, то ее надо создать.

    Для того, чтобы редактировать готовую форму, надо открыть ее меню по щелчку правой кнопки мыши на названии формы и выбрать пункт Изменить. Форма откроется в Режиме разработки, который имеет достаточно много возможностей для изменения внешнего вида и отображаемых данных. О работе с формой в Режиме разработки надо сказать несколько слов - просто для того, чтобы было понятно, что будет происходить дальше.

    Форма содержит Элементы управления, например, такие как поля ввода. Типов элементов управления достаточно много - Кнопки, Метки, Флажки, Текст и другие. В том числе и Поле со списком. Элементы управления можно объединять в Группы. Это позволяет управлять группой элементов как единым объектом. Все это можно перемещать, масштабировать, настраивать вид и отображаемые данные.

    Для выделения объекта (элемента управления или группы) надо сделать на нем щелчок левой кнопкой мыши. По щелчку правой кнопки мыши как обычно будет появляться частное меню объекта.

    Рабочее пространство Режима разработки имеет три панели инструментов. Все активные кнопки снабжены всплывающими подсказками.

    Верхняя панель - это стандартная панель всех приложений LibreOffice.

    Левая панель служит для добавления в форму новых элементов управления.

    Нижняя панель позволяет настраивать имеющиеся в форме элементы управления и саму форму в целом.

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

    После этих небольших объяснений можно вернуться к созданию в форме поля со списком для элемента управления Тип рейса. В данном случае поле ввода уже присутствует в форме, поэтому добавлять его не надо. Но оно не имеет нужного типа. Для того, чтобы присвоить или изменить тип поля ввода, его нужно выделить. И здесь появляется сложность.

    При выделении объекта Тип рейса выделяется не только поле ввода, но и текст, который ему сопутствует. Это происходит потому, что элементы объединены в группу. Для изменения только поля ввода надо воспользоваться пунктом частного меню объекта (по щелчку правой кнопки мыши на нем) Группировка -> Войти в группу. После этого можно выделить только поле ввода и настраивать именно его.

    Частное меню и замена типа поля ввода
    Частное меню и замена типа поля ввода.

    На иллюстрации видно, что выделено именно поле ввода, а его частное меню дает возможность Заменить на -> Поле со списком, что и требуется. Осталось указать, какие данные будут отображаться в этом поле и как. Для этого служит окно Свойства, которое вызывается с помощью пункта частного меню Элемент управления. Внесенные изменения на иллюстрациях внизу отмечены красными овалами.

    Окно Свойства, вкладка Данные
    Окно Свойства, вкладка Данные.
    Окно Свойства, вкладка Общие
    Окно Свойства, вкладка Общие.

    Видно, что в форме действительно появилось поле, в которое можно занести только данные из заранее составленного списка.

    Окончательный вариант формы
    Окончательный вариант формы.

    Форма представляет собой по сути обычную страницу LibreOffice. Поэтому пункт главного меню Формат -> Страница дает доступ ко всем ее настройкам - размеру, ориентации, цвету фона и другим. Кроме того, и форма, и ее элементы имеют множество управляемых свойств, настроив которые можно получить очень неплохой результат. Точно так же, как в других приложениях LibreOffice, в Base на страницу с формой можно добавить изображение, например, логотип - пункт главного меню Вставка -> Изображение -> Из файла (в режиме редактирования формы Изменить).

    Сохранение

    Для сохранения локальной базы данных LibreOffice Base доступен только один формат - База данных ODF. При этом вся база, включая запросы, отчеты и формы будет записана в один файл с расширением odb. Этот файл может быть свободно перенесен на другой компьютер.

    Создание базы в LibreOffice Base

    Практическая работа №1.

    Создание и заполнение базы данных, состоящей из одной таблицы.

    Задания:

    1. Запустите программу Libre Office Base. Для этого двойным щелчком мыши щелкните по ярлыку Libre Office Base на рабочем столе компьютера. При запуске LibreOffice Base автоматически откротся Мастер баз данных, предлагающий создать новую БД, либо открыть существующую.

    2. Создайте новую базу данных и изготовьте структуру таблицы с информацией. 
    Для выполнения задания осуществите следующий алгоритм: 
    1) В окне Мастера базы данных выберите пункт Создать новую базу данных и нажмите на кнопку Далее:

    2) На втором этапе Мастер предлагает два варианта: открыть базу данных для редактирования или сразу приступить к созданию таблиц. Оставим настройки по умолчанию и нажмём кнопку Готово:

    3) Следующим шагом СУБД предложит нам сохранить нашу базу данных. Выбираем нужную папку, в которой будет хранится база, и даём ей название. В качестве примера мы создадим базу данных учеников вашего класса. Поэтому назовём её "База данных школа":

    Базы данных в LibreOffice Base сохраняются в формате .odb

    4) После того как создан новый файл базы данных, редактор откроет основное рабочее окно СУБД. Здесь можно работать с таблицами, запросами, формами и отчётами. Создавать, редактировать и управлять ими. Каждую из этих форм можно создавать в двух режимах - в режиме дизайна или с помощью мастера.

    5) Создадим новую таблицу в режиме дизайна. Для этого выберем в окне Задачи пункт Создание таблицы в режиме дизайна.

    В открывшейся таблице можно задать поля будущей таблицы. Создадим таблицу Ученики. В ней будут следующие поля: номер, фамилия, имя, отчество, дата рождения, класс. Введем новые поля в строки сверху вниз: щелкаем ячейку Имя поля и вводим имя для каждого поля данных. В следующей ячейке справа определяем Тип поля: щелкнув в этой ячейке, выбираем тип поля из списка. Ниже таблицы полей вводятся Свойства поля для каждого выбранного поля данных.

    Чтобы выбрать поле, которое станет первичным ключом таблицы, нужно правой кнопкой мыши нажать на серый квадрат слева от строки с нужным полем и установить галочку Первичный ключ

    В режиме Дизайна ваша таблица должна выглядеть следующим образом:

    6) Сохранить таблицу. При этом нужно ввести её название Ученики и сохранить.

    3. Заполнить таблицу Ученики. Для заполнения необходимо выбрать таблицу Ученики и открыть ее двойным щелчком мыши. Появится таблица с пустыми сроками, заполняем ее данными учеников своего класса.

    Памятка «Как не стать жертвой преступления»

    Эта памятка предназначена для родителей, детей и каждого из нас.

    3. Базы данных

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

    • Задачи СУБД:
      • поиск данных
      • редактирование данных
      • выполнение несложных расчетов
      • обеспечение целостности (корректности, непротиворечивости) данных
      • восстановление данных после сбоев
    • Переносимость - это возможность использовать БД в других информационных системах.
    • SQL = Structured Query Language - язык структурных запросов для управления данными
    • Транзакция - это группа операций, которая представляет собой одно законченное действие. Транзакция должна быть выполнена целиком или не выполнена вообще.
    • Ключ - это поле или комбинация полей, однозначно определяющие запись.
    • Первичный ключ - это ключ, выбранный в качестве основного.
    • Простой ключ - состоит из одного поля.
    • Составной ключ - состоит из нескольких полей.
    • Суррогатный ключ - это дополнительное поле, которое служит первичным ключом.
    • Линейный поиск - это перебор всех записей до тех пор, пока не будет найдена нужная.
    • Индекс - это вспомогательная таблица, которая служит для ускорения поиска в основной таблице.
    • Внешний ключ - это неключевое поле таблицы, связанное с первичным ключом другой таблицы.
    • Связь 1:N - с одной записью в первой таблице могут быть связаны сколько угодно записей во второй таблице.
    • Связь 1:1 - с одной записью в первой таблице связана ровно одна запись во второй таблице.
    • Связь N:N - с одной записью в первой таблице могут быть связаны сколько угодно записей во второй таблице, и наоборот.
    • Реляционная БД - это база данных, которая представлена в виде набора таблиц и управляется с помощью языка SQL.
    • Нормализация - это изменение структуры базы данных, которое устраняет избыточность и предотвращает возможные нарушения целостности.
    • Запрос - это обращение к СУБД для отбора записей или выполнения других операций с данными.
    • Экспертная система - это компьютерная программа, задача которой - заменить человека-эксперта при выработке рекомендаций для принятия решений в сложной ситуации.

    Видео-пособия

    • Что такое База Данных? (Простое объяснение) https://youtu.be/7vOwuphfKMI (6мин)
    • Наглядное пособие по Базам данных. Часть 1. Введение в базы данных. https://youtu.be/Tc0tiv-2x2M (2мин)
    • Наглядное пособие по Базам данных. Часть 2. Столбцы таблицы и типы данных. https://youtu.be/Ff-Kw_s2I2s (3мин)
    • Наглядное пособие по Базам данных. Часть 3. Связи. https://youtu.be/wWm4OzL5NXE (6мин)
    • Наглядное пособие по Базам данных. Часть 4. Как создать модель базы данных. https://youtu.be/OBYDZ-rcYEs (2мин)


    Практические работы

    1. Практическая работа №1. Создание базы в LibreOffice Base
    2. Работа с Базой данных в LibreOffice Base (АэроПорт)
    3. Практические задания в СУБД OpenOffic.org Base
      (студенты, преподаватели, предметы)
      • Работа 1. Создание однотабличной базы данных
      • Работа 2. Формирование запросов и отчетов для однотабличной базы данных
      • Работа 3. Создание структуры реляционной базы данных
      • Работа 4. Формирование сложных запросов
      • Работа 5. Формирование отчетов в реляционной базе данных
    4. Лабораторные работы по информатике на тему "Создание реляционной базы данных в LibreOffice Base"
      (продавцы, покупатели, заказы - 5 лаб.работ в отдельных файлах) [11 класс]
      • Работа № 1. Основные понятия реляционных баз данных. Создание таблиц в OpenOffice.org Base (Базы данных).
      • Работа № 2. Внесение информации в базу данных. Редактирование базы данных. Создание форм.
      • Работа № 3. Представление данных на экране. Поиск информации в базе данных.
      • Работа № 4. Установление связей между таблицами. Создание запросов.
      • Работа № 5. Создание и редактирование отчетов.


    Практическая работа с базой данных LibreOffice Base (LibreOffice Base для начинающих)

    1. Как создать таблицы в базе данных LibreOffice Base https://youtu.be/mK6it2EGbhc (14мин)
    2. Как ЛЕГКО и БЫСТРО связать таблицы в LibreOffice Base https://youtu.be/TA4DiZ6cCJw (9мин)
    3. Как создать простые однотабличные формы в LibreOffice Base https://youtu.be/-Z_zNhqFxuk (12мин)
    4. Как сделать подчиненные составные формы в Libreoffice Base? https://youtu.be/bRVH008vG54 (12мин)


    Практическая работа с базой данных OpenOffice Base (без комментирования за кадром)



    База данных в Libre Office



    Система управления базами данных (СУБД)



    Вложения:
    Скачать этот файл (bd [для печати книжкой в формате A5].pdf)bd [A5].pdf[для печати книжкой в формате A5]4550 Кб
    Скачать этот файл (bd.pdf)bd.pdf[Практические задания в СУБД OpenOffic.org Base]446 Кб
    Скачать этот файл (bd.pdf-3-base-step01.odb)bd.pdf-3-base-step01.odb[Структуры БД 'Преподаватели' и 'Студенты']4 Кб
    Скачать этот файл (bd.pdf-3-base-step02.odb)bd.pdf-3-base-step02.odb[БД 'Преподаватели']3 Кб
    Скачать этот файл (bd.pdf-3-base-step03.odb)bd.pdf-3-base-step03.odb[БД 'Студенты' и 'Дисциплины']5 Кб
    Скачать этот файл (bd_libre_office_base.rar)bd_libre_office_base.rar[Лабораторные работы "Создание реляционной БД в LibreOffice Base" (11 класс)]788 Кб

    Стратегия игры в камни

    Проигрышная позиция - такая позиция, из которой все возможные ходы ведут в выигрышные (для соперника) позиции.

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


    Для примера рассмотрим игру с камнями, в которой участвуют два игрока. Вначале перед игроками лежит куча из некоторого количества камней (обозначим его S). За один ход игрок может добавить в кучу один камень (ход "+ 1") или увеличить количество камней в куче в два раза (ход "*2"), Например, имея кучу из 5 камней, за один ход можно получить кучу из 6 или 10 камней. У каждого игрока есть неограниченное количество камней. Победителем считается игрок, первым получивший кучу, в которой 14 камней или больше.

    Рассмотрим возможный результат игры при разном начальном количестве S камней в куче. Очевидно, что при S > 6 первый игрок (т. е. игрок, делающий первый ход) выигрывает сразу, удвоив число камней в куче. Начнём заполнять таблицу, в которой для каждого значения S будем указывать, выигрышная это позиция или проигрышная, и через сколько ходов завершается игра:

    Здесь "В1" обозначает выигрыш за один ход.

    При S - 6 у первого игрока есть два хода: ход "+1" даёт кучу из 7 камней, а ход "*2" - кучу из 12 камней. Выиграть за один ход он не может, оба возможных хода ведут в выигрышные (для второго!) позиции, поэтому первый игрок проиграет, если второй не ошибётся. Позицию S = 6 отметим в таблице как "X1" (проигрыш за 1 ход):

    Вспомним, что задача игрока - перевести игру в проигрышную для соперника позицию. Если S = 5 или S = 3, первый игрок может получить (ходом "+1" или "*2" соответственно) кучу из б камней, т. е. создать проигрышную позицию. Этого достаточно для выигрыша, но выиграть можно только за 2 хода:

    Рассуждая аналогично, выясняем, что позиция S = 4 - проигрышная, так как возможные ходы ведут в выигрышные позиции (соперник выиграет за 1 или за 2 хода). При S = 2 первый игрок может своим ходом <*2> перевести игру в проигрышную позицию (S = 4), поэтому он выиграет. А при S = 1 он про

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

    Для полного исследования всех вариантов игры можно построить дерево, содержащее все возможные ходы. Предположим, что сначала в куче 4 камня (эта позиция будет корнем дерева). Тогда в результате первого хода может получиться куча из 5 или 8 камней:

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

    Мы видим, что второй игрок может выиграть своим первым ходом (получив 16 камней), если первый построит кучу из 8 камней. В остальных случаях игра продолжается, и дерево можно строить дальше по тому же принципу.

    Как мы уже показали ранее с помощью таблицы, при S = 4 выигрывает второй игрок. Чтобы доказать это с помощью дерева, не нужно строить полное дерево игры. Достаточно рассмотреть все возможные ходы соперника и для каждого из них найти один (!) выигрышный ход второго игрока. Вариант с выигрышем в один ход мы уже разобрали, теперь посмотрим, что произойдёт, если первый игрок получит кучу из 5 камней. Как следует из построенной выше таблицы, для кучи из 5 камней выигрышный ход второго игрока - "+1", он переводит игру в проигрышную позицию. При любом ответе первого игрока второй выигрывает своим вторым ходом "*2":

    Таким образом, мы доказали, что при S = 4 у второго игрока есть стратегия, позволяющая ему гарантированно выиграть, по крайней мере, за 2 хода.



    2. Моделирование

    • Модель - это объект, который обладает существенными свойствами другого объекта, процесса или явления (оригинала) и используется вместо него.
    • Моделирование - это создание и исследование моделей с целью изучения оригиналов.
    • Задачи моделирования:
      • исследование оригинала
      • анализ ("что будет, если ...")
      • синтез ("как сделать, чтобы ...")
      • оптимизация ("как сделать лучше всего ...")
    • Виды моделей (по фактору времени):
      • статические - описывают оригинал в заданный момент времени
      • динамические
    • Виды моделей (по характеру связей):
      • детерминированные - при одинаковых исходных данных всегда получается тот же результат
      • вероятностные - учитывают случайность событий
    • Адекватность - это совпадение существенных свойств модели и оригинала в данной задаче.
    • Тестирование - это проверка модели на простых исходных данных с известным результатом.
    • Эксперимент - это исследование модели при тех исходных данных, которые нас интересуют (результат заранее неизвестен).
    • Саморегуляция - это способность системы поддерживать свое внутреннее состояние за счет связей между элементами.
    • Задача игры - найти стратегию (алгоритм игры), которая позволит получить лучший результат, если соперники играют безошибочно.
    • проигрышная позиция - это такая позиция, из которой все возможные ходы ведут в выигрышные (для соперника) позиции.
    • выигрышная позиция - это такая позиция, из которой хотя бы один из возможных ходов ведёт в проигрышную (для соперника) позицию.

    Стратегия игры в камни.

    Темы сообщений для уроков информатики 11

    Глава 1. Информация и информационные процессы

    § 2 Передача данных

    1. Циклические избыточные коды (CRC)
    2. Коды Хэмминга

    § 3 Сжатие данных

    1. Алгоритмы сжатия изображений
    2. Алгоритмы сжатия звука
    3. Алгоритмы сжатия видеоданных
    4. Аудиокодеки
    5. Видеокодеки

    § 4 Информация и управление

    1. Системы управления в природе
    2. Системы управления в обществе
    3. Отрицательная и положительная обратная связь
    4. Что такое адаптивная система

    § 5 Информационное общество

    1. Информатизация общества
    2. Интернет и закон

    Глава 2. Моделирование

    § 6 Модели и моделирование

    1. Анализ и синтез
    2. Детеринированные и вероятностные модели
    3. Игровые модели
    4. Адекватность моделей

    § 7 Системный подход в моделировании

    1. Типы диаграмм
    2. Сетевое планирование
    3. Семантические сети
    4. Интеллект-карты (mind maps)
    5. Диаграммы Ганта
    6. Использование ленты времени

    § 8 Этапы моделирования

    1. Зачем и как вводить допущения при моделировании?
    2. Зачем тестировать модель?
    3. Программные средства для моделирования

    § 10 Математические модели в биологии

    1. Модели взаимодействия видов в биологии
    2. Что такое саморегуляция?

    Глава 3. Базы данных

    § 12 Информационные системы

    1. Информационные системы вокруг нас
    2. Технология клиент-сервер
    3. Бесплатные СУБД
    4. Коммерческие и бесплатные СУБД: плюсы и минусы

    § 13 Таблицы

    1. Типы данных, хранящиея в БД
    2. Суррогатные ключи: за и против
    3. Поиск с помощью индексов
    4. Что такое транзакция?
    5. Что такое RAID-массив?

    § 22 Нереляционные базы данных

    1. Нереляционные базы данных: за и против

    § 23 Экспертные системы

    1. Что такое база знаний?
    2. Что делает инженер по знаниям?
    3. Применение экспертных систем
    4. Язык программирования Пролог

    Глава 4. Создание веб-сайтов

    § 24 Веб-сайты и веб-страницы

    1. "Дизайн сайта - цель или средство?"
    2. "Что такое кроссбраузерность"
    3. "Современные браузеры"

    pascal - дата и время

    Как правильно посчитать разницу дат?

    Код для PascalABC.Net:

    program Now;
    
    uses System;
    
    begin
      writeln(DateTime.Now,' ; часов ',DateTime.Now.Hour,' ; минут ',DateTime.Now.Minute);
    end.
    

    program time_format;
    
    begin
      WriteLnFormat('{0:HH:mm}', System.DateTime.Now);
      WriteLnFormat('{0:HH:mm:ss}', System.DateTime.Now);
    end.
    

    program time_format2;
    
    uses System;
    
    begin 
      writeln(String.Format('{0:d/M/yyyy HH:mm:ss}', DateTime.Now));
    end.
    

    program times;
    
    uses System;
    
    begin
      var d: DateTime := DateTime.Now;
      writeln(d.Day,'.',d.Month,'.',d.Year);
      writeln(d.Hour,':',d.Minute,':',d.Second);
    end.
    

    program calc_days;
    
    uses system;
    
    var
     D: DateTime;
    
    begin
      D := DateTime.Parse('15.03.2001');
      writeln(D.Date);
      writeln(DateTime.Now - D);
    end.
    

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

    program calc_days1;
    
    uses system;
    
    var
     DT: DateTime; // тип для хранения даты
     DS: TimeSpan; // тип для разницы дат
     Tpos: byte;
     DSS1, DSs2: string;
     DSI, code: integer;
    
    begin
      DT := DateTime.Parse('15.03.2001');
      writeln(DT.Date);
      writeln(DateTime.Now - DT);
      
      DS := DateTime.Now - DT; // вычисляем разницу дат 
      writeln(TS.Days);
      
      DSS1 := DS.ToString; // переводим разницу дат в строку
      writeln(DSS1);
      
      Tpos := pos('.', DSS1); // находим позицию точки в строке
      writeln( 'point position is: ', Tpos);
      DSS2 := copy( DSS1, 1, Tpos - 1); // копируем подстроку с первой позиции до позиции точки
      writeln( 'days: ', DSS2);
      
      Val(DSS2, DSI, code); // преобразуем строку в число
      writeln( 'days+1: ', DSI + 1);
    end.
    

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

    program calc_days2;
    
    uses system;
    
    var
     DT: DateTime;
     TS: TimeSpan; // тип для разницы дат
     DDD: integer;
    
    begin
      DT := DateTime.Parse('15.03.2001'); // cтроку переводим в тип для даты
      writeln(DT.Date);
    
      writeln(DateTime.Now - DT);
      TS := DateTime.Now - DT; // вычисляем разницу дат 
      writeln(TS.Days);
    
      DDD := TS.Days; // встроенная функция выдаёт количество дней из типа для разнцы дат 
      writeln( 'days: ', DDD);
      
      writeln( 'days+1: ', DDD + 1);
      
    end.
    


    program calc_date;
    uses system;
    var
      D: DateTime;
    
    begin
      writeln( 'tekushee vremya: ', DateTime.Now.Hour,':', DateTime.Now.Minute,':', DateTime.Now.Second,'.', DateTime.Now.Millisecond );
    
      writeln( 'tekushaya data: ', DateTime.Now.Date );
    
      D := DateTime.Parse( '02.10.2001' );
      writeln( 'Дата из строки: ', D.Date );  
    end.
    


    Код для FreePascal:

    program calc_date;
    
    uses sysutils;
    
    var
      D, N: TDateTime;
    
    begin
    
      writeln( TimeToStr( StrToTime( '18:30' ) ) );
      writeln( DateToStr( StrToDate( '02.10.2017' ) ) );
    
      N := Now;
    
      writeln( 'tekushee vremya: ', TimeToStr( N ) );
      writeln( 'tekushaya data: ',  DateToStr( N ) );
      writeln( 'tekushee vremya i data: ',  DateTimeToStr( N ) );
    
      D := StrToDate( '02.10.2001' );
    
      writeln( 'raznitsa dat: ',  DateToStr( N - D ) );
    
    end.
    

    1. Информация и информационные процессы

    Формула Хартли:

    Из формулы

    N = 2I

    следует, что I - это степень, в которую нужно возвести 2, чтобы получить N, т.е. логарифм:

    I = log2N - это формула Хартли

    N - количество вариантов (мощность алфавита)
    I - количество информации при выборе одного из вариантов


    Объём сообщения длинной L символов, использующего алфавит из N символов, равен:

    I = L * log2 N




    Вероятность и информация

    • Вероятность события – число от 0 до 1, показывающее, как часто случается это событие в большой серии одинаковых опытов.

    • 0 ≤ p ≤ 1

      p - вероятность
      N – количество испытаний
      m – сколько раз произошло событие


      p = m / N

      I = - log2 p = log2 (1 / p)


      Неопределённость знаний об источнике данных вычисляется по формуле Шенона (N событий, вероятности pi):


    • Скорость передачи данных – это количество битов (байтов, Кбайт и т.д.), которое передается по каналу связи за единицу времени (например, за 1 с).
    • Основная единица измерения скорости — биты в секунду (бит/с, англ. bps — bits per second). Для характеристики быстродействующих каналов применяют единицы измерения с десятичными приставками (а не двоичными, как при измерении количества информации):
      килобиты в секунду (1 кбит/с = 1000 бит/с),
      мегабиты в секунду (1 Мбит/c = 106 бит/с) и
      гигабиты в секунду (1 Гбит/c = 109 бит/с);

      иногда используют байты в секунду (байт/с) и
      мегабайты в секунду (1 Мбайт/с = 106 байт/с).

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

      Исправление r ошибок:

      d ≤ 2r + 1

    • Коэффициент сжатия – это отношение размеров исходного и сжатого файлов.
    • Сжатие без потерь – это такое уменьшение объема закодированных данных, при котором можно восстановить их исходный вид из кода без искажений.
    • Префиксный код – это код, в котором ни одно кодовое слово не является началом другого кодового слова (условие Фано).
    • Сжатие с потерями – это такое уменьшение объема закодированных данных, при которых распакованный файл может отличаться от оригинала.
    • Битрейт – это число бит, используемых для кодирования 1 секунды звука.
    • Кодек (кодировщик/декодировщик) – это программа для сжатия данных и восстановления сжатых данных.
    • Кибернетика – это наука, изучающая общие закономерности процессов управления и передачи информации в машинах, живых организмах и обществе.
    • Система (с греч. составленный) – это группа объектов и связей между ними, выделенных из среды и рассматриваемых как одно целое.
    • Системный подход состоит в том, что объект исследования рассматривается как система с учётом всех взаимосвязей между её частями.
    • Компоненты - объекты, из которых строится система.
    • Информационное общество – это такая ступень развития цивилизации, на которой главными продуктами производства становятся информация и знания.
    • Ресурсы – условия, позволяющие после некоторой «обработки» получить желаемый результат.
    • Информационные ресурсы – документы в библиотеках, архивах, банках данных, информационных системах.
    • Технология – это способ сделать «продукт» из исходных материалов (с гарантированным результатом!).
    • Новые информационные технологии – это технологии, связанные с использованием компьютеров для хранения, защиты, обработки и передачи информации.

    СГО: Внесение расписания

    Выбираем в СГО указаные пункты и настраиваем их под свои занятия:

    Задачи из учебника информатики 11

    Глава 1. Информация и информационные процессы

    § 1 "Количество информации" (Формула Хартли)


    § 2 "Передача данных"




    § 3 "Сжатие данных"


    § 7 "Системный подход в моделировании"

    Два игрока играют в следующую игру. Вначале перед ними лежит куча из некоторого количества камней (обозначим его S). За один ход игрок может добавить в кучу 2 камня или увеличить количество камней в куче в два раза. У каждого игрока есть неограниченное количество камней. Победителем считается игрок, первым получивший кучу, в которой 25 камней или больше. Для каждого значения S (1 ≤ S ≤ 24) определите, кто выиграет и за сколько ходов. Для S = 7 постройте дерево игры, показывающее стратегию выигрывающего игрока.

    Два игрока играют в следующую игру. Вначале перед ними лежит куча из некоторого количества камней (обозначим его S). За один ход игрок может добавить в кучу 1 камень или увеличить количество камней в куче в три раза. У каждого игрока есть неограниченное количество камней. Победителем считается игрок, первым получивший кучу, в которой 55 камней или больше. Для каждого значения S (1 ≤ S ≤ 54) определите, кто выиграет и за сколько ходов. Для S = 16 постройте дерево игры, показывающее стратегию выигрывающего игрока.

    Два игрока играют в следующую игру. Вначале перед ними лежит куча из некоторого количества камней (обозначим его S). За один ход игрок может добавить в кучу два камня, добавить в кучу три камня или увеличить количество камней в куче в два раза. У каждого игрока есть неограниченное количество камней. Победителем считается игрок, первым получивший кучу, в которой 30 камней или больше. Для каждого значения S (1 ≤ S ≤ 29) определите, кто выиграет и за сколько ходов. Для S = 9 постройте дерево игры, показывающее стратегию выигрывающего игрока.

    Игра Баше. Два игрока играют в следующую игру. Вначале перед ними лежит куча из некоторого количества камней (обозначим его S). За один ход игрок может взять из кучи 1, 2 или 3 камня. Выигрывает тот, кто возьмет последний камень. Для каждого значения S (1 ≤ S ≤ 15) определите, кто выиграет и за сколько ходов. Для S = 12 постройте дерево игры, показывающее стратегию выигрывающего игрока.

    Материальная база для получения образования детей с ОВЗ

    1. Мультимудийный интерактивный комплекс (Доступная среда) Ноутбук, интерактивная доска с акустической системой, настенное крепление к проектору и кабелем 20м
    2. Подъемное устройство для беспрепятственного перемещения лиц с нарушением опорно-двигательного аппарата вдоль лестничного марша
    3. Интерактивная воздушнопузырьковая трубка с пультом управления. Размер: высота 170 см, диаметр 12 см.
    4. Мягкая платформа для воздушнопузырьковой трубки. Размер: 60х60х30 см.
    5. Комплект из двух акриловых зеркал для воздушнопузырьковой трубки. Размер: 170х60 см.
    6. Зеркальный шар с мотором. Размер: диаметр 30 см
    7. Источник света к зеркальному шару (2 шт.)
    8. Интерактивный сухой бассейн со встроенными кнопками-переключателями. Размер: 150х150х66 см.
    9. Прозрачный шарик для сухого бассейна. Размер: диаметр 7 см.
    10. Стол-мозаика
    11. Фиброскопический модуль "Молния" с пультом управления
    12. Световой стол из бука для рисования песком (в комплект входит песок 12,5 кг). Размер: 70х63х63 см.
    13. Светонепроницаемые шторы (карниз и фурнитура в комплекте) (3 шт.)
    14. Мягкая форма "Пуфик 90". Размер: диаметр 90 см. (2 шт.)
    15. Мягкий игровой набор (24 элемента)
    16. Пандус для преодоления порогов
    17. Поручень двойной прямой пристенный, нержавеющая полированная сталь (26 пог.м.). Диаметр трубы 38 мм.
    18. Диагностика умственного развития школьника. Программа компьютерного тестирования и обработки блока тестов. Локальная версия.
    19. Тактильная дорожка
    20. Лабиринт "Дубовый лист"
    21. Лабиринт для опорно-двигательного аппарата
    22. Комплект лабиринтов для развития моторики
    23. Набор дисков для релаксации, тематика:
      1. "Ароматерапия",
      2. "Хромотерапия",
      3. "Lightwaik",
      4. "Баланс",
      5. "Дети Океана",
      6. "Музыка в гармонии с природой".
      7. В комплекте ТРИ диска из данных композиций.
    24. Ионизатор воздуха "Горная свежесть"
    25. Распылитель эфирных масел "Эфа"
    26. Набор эфирных масел "Учись учиться"
    27. Тактильный знак (пиктограмма, номер и пр.) 100х100 мм, рельефный, пластик
    Праздники России

    Рейтинг

    Проблемы с госуслугами, медленный интернет или плохая связь? Напишите об этом — Минцифры поможет с решением