<--Чтобы получать знания, надо уметь слушать,
а не искать красивые слова. -->
- Вводный
курс - Web-дизайн
и разработка - Программирование
и моделирование - Подготовка
в ВУЗ - Олимпиады
- Полезное
Вводный курс
Исторические факты развития вычислительной математики и техники.
МЕТОДЫ И МОДЕЛИ ОЦЕНКИ КОЛИЧЕСТВА ИНФОРМАЦИИ
СИСТЕМЫ СЧИСЛЕНИЯ
ЧИСЛОВАЯ СИСТЕМА ЭВМ
- Представление целых чисел без знака и со знаком в памяти ЭВМ.
- Задачи на представление целых чисел
- Формат чисел с фиксированной и плавающей запятой.
- Арифметические операции над вещественными числами.
- Задачи на представление вещественных чисел
ЛОГИЧЕСКИЕ ОСНОВЫ ЭВМ
Программное обеспечение
- Работа с файловой системой в режиме "Командная строка"(Терминал)
- Основы работы в терминале Linux
- Утилиты командной строки linux
- Лабораторный практикум по информатике(Linux)
- Midnight Commander - консольный файловый менеджер для Linux
- Тест по работе с файлами
- Вопросы по файловой системе
- Введение в ОС Linux
- Администрирование Linux.Программирование на Bash
Моделирование
АЛГОРИТМИЗАЦИЯ
Программирование
Тестирование
Web-дизайн и разработка
Основные правила Web-проектирования. Приложения для проектирования Web-страниц
Язык HTML
Стилевое оформление веб-страниц при помощи каскадных таблиц стилей CSS
- Практическая работа №5. CSS. Способы применения Каскадных таблиц к HTML-странице. Работа с текстом
- Практическая работа №6. CSS. Способы создания стилевых описаний. Классы. Идентификаторы
- Практическая работа №7. CSS. Контейнеры. Позиционирование
- Практическая работа №8. CSS. Фоны и фоновые изображения
- Практическая работа №9. Стилизация гиперссылок. Создание панелей навигации
- Тест по CSS
- Тест по CSS(1)
Основы Web-дизайна
Динамические Web-страницы.
- Учебник по разработке Java-scriptов.
- Основы javaScript
- Операторы ветвлений и логические условия в JavaScript
- Типы переменных и доступные с ними методы и свойства.Операторы циклов, switch, рекурсии, стеки в JavaScript
- Свойства основных объектов и работа с ними в JavaScript
- Интерактивный учебник по разработке Java-scriptов.
Вебсервера. Обзор популярных вебсерверов, их различия, особенности и использование.
- СПРАВОЧНИК-УЧЕБНИК ПО PHP
- Знакомство с программой Денвер(<---|для тех кому интересно]) Первый сценарий на PHP
- Комментарии. Типы данных. Переменные. Массивы. Операторы
- Условные операторы и циклы
- Пользовательские функции. Вызов функции. Функции обработки строк. Функции даты и времени
- Функции для работы с массивами. Включение файлов
- HTTP-формы. Работа с формами методами GET и POST. Проверка передаваемых значений
- Работа со сложными формами
- Проектирование сайта. Создание макета сайта
- Верстка сайта. Разбивка шаблона на PHP-блоки
- Знакомство с phpMyadmin. Создание базы данных MySql. Работа с базой данных
Программирование и моделирование
Сетевые утилиты
Введение в язык программирования Java
- Основные конструкции языка программирования
- Простейшая программа на Java
- Базовые типы Java, литералы, переменные и константы, приведение типов, основные операторы
- Java класс Math
- Операторы сравнения и логические операторы. Ветвление в программе. Условный оператор.
- Ветвление в программе. Вложенные условные операторы. Оператор множественного выбора
- Потоки ввода/вывода и строки в Java
- Циклы в Java
- Массивы в Java
- Статические методы в Java, перегрузка методов, рекурсия
- Создание собственных классов в Java: свойства, методы, конструкторы
- Создание класса: инкапсуляция, полиморфизм
- Абстрактные классы и методы. Интерфейсы. Множественное наследование интерфейсов
- Исключения и их обработка
Основы баз данных
- База данных
- Лабораторная работа №1. Создание и заполнение таблицы.
- Лабораторная работа №2. Создание и работа с формой.
- Лабораторная работа №3. Организация поиска
- Лабораторная работа №4. Конструктор формы. Элементы управления.
- Лабораторная работа №5. Установка связей между таблицами.
- Лабораторная работа №6. Создание запросов.
- Лабораторная работа №7. Построение отчетов.
Основы работы математическими пакетами
- Решение математических задач SciLab
- Ссылка для скачивания SciLab
- Пакет Scilab. Начало работы
- Основы работы Scilab
- Массивы и матрицы. Решение задач линейной алгебры
- Построение двумерных графиков
- Построение трехмерных графиков
- Нелинейные уравнения и системы в SCILAB
- Численное интегрирование и дифференцирование
- Решение обыкновенных дифференциальных уравнений
- Программирование в SciLab
- Создание графических приложений в среде Scilab
- Обработка экспериментальных данных
- Решение дифференциальных уравнений в частных производных
- Решение задач оптимизации
- Математический пакет аналитических вычислений Maxima и др. математические приложения
- КВ "Основы работы в системе компьютерной алгебры"
- КВ "Основы математического анализа с CAS Maxima."
Основы работы JavaFX
Основы моделирования
Олимпиады
ВОШ
- Ссылка на участие в олимпиаде по информатике
- Официальный сайт олимпиады по ВОШ-2016, направление "Программирование"
- Инструкция участнику Олимпиады 2016, по ВОШ-2016, направление "Программирование"
- Регистрация и виртуальный тур по ВОШ-2016, направление "Программирование"
- Задания школьного тура олимпиады 2015
- МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по проведению школьного и муниципального этапов всероссийской олимпиады школьников по информатике в 2015/2016 учебном году
- 2008
- 2009-1
- 2009-1
- 2010
- 2011
- 2012
- 2013
Олимпиадное программирование
Единая Система Регистрации на олимпиады школьников
Competitive Programming, 1st Edition (PDF) 4Clojure
Codeabbey
Codechef
Codeeval
Codeforces
Coderbyte
Codewars
Codingame
Facebook Hackercup
Hackerrank
Hello World Open
Internet Problem Solving Contest
Just another Golf Coding
Microcorruption
Saratov State University
Topcoder
Yandex Contest
Акмуллинская олимпиада
КИТ-компьютеры, информатика, технологии
Полезное
ЛОГИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРА
Основные понятия алгебры логики
Логика – наука о законах и формах мышления. Математическая логика изучает любые рассуждения с помощью методов математики.
Математическая логика входит в группу фундаментальных наук, которые образуют теоретическую основу информатики.
Центральная идея математической логики восходит еще к Г.В. Лейбницу (1646-1716) и состоит в том, чтобы записывать математические утверждения в виде последовательностей символов и оперировать с ними по формальным правилам. При этом правильность рассуждений можно проверять механически, не вникая в их смысл.
Усилиями большого числа математиков и логиков второй половины XIX и первой половины XX века (Буль, Кантор, Фреге, Пеано, Рассел, Уайтхед, Цермело, Френкель, Гильберт, фон Нейман, Гёдель и другие) эта программа была в основном выполнена.
Английский математик Джордж Буль (1815-1864) впервые применил алгебраические методы для решения логических задач.
Алгебра логики – это раздел математической логики, значения всех элементов (функций и аргументов) которой определены в двух элементном множестве: 0 и 1. Алгебра логики оперирует логическими высказываниями.
Логическое высказывание, предложение – это утверждение, в отношении которого можно однозначно сказать, истинно оно или ложно. В исчислении высказываний не рассматриваются утверждения, имеющие значения, отличные от «истинно» и «ложно». Используется двузначная логика: ответ, отличный от «Да», есть «Нет». Древние философы назвали этот принцип «законом исключенного третьего».
Высказывание не может быть выражено повелительным или вопросительным предложением. Не каждое повествовательное предложение является логическим высказыванием. Высказыванием не является, например, предложение «Информатика – интересный предмет».
Примеры высказываний:
Сканер – устройство ввода в компьютер (истинно).
Дважды два – четыре (истинно).
Плоттер является устройством ввода в компьютер (ложно).
Высказывания делятся на простые и сложные (составные). Высказывание, содержащее одну простую законченную мысль, называется простым. Значение истинности простого высказывания не зависит от значений истинности каких-либо других высказываний. Сложные высказывания образуются из двух и более простых высказываний с помощью логических операций. Значение истинности сложного высказывания зависит от значений истинности других высказываний.
Простые высказывания являются логическими аргументами, а сложные – логическими функциями аргументов.
Пример. Сидорову 20 лет и он студент и не солдат.
Для образования сложных высказываний наиболее часто используются базовые логические операции, выражаемые с помощью логических связок «и», «или», «не».
В таблице приводятся обозначения, используемые для логических связок (операций) в различной литературе.
Обозначения логических связок (операций)
Связка |
Название |
Логика |
Программирование |
||
НЕ |
Инверсия (логическое отрицание) |
¬ |
–– (черта сверху) |
! |
NOT |
И |
Конъюнкция (логическое умножение) |
∧ |
· |
& |
AND |
ИЛИ |
Дизъюнкция (логическое сложение) |
∨ |
+ |
| |
OR |
Наглядной иллюстрацией этих логических связок служат следующие диаграммы:
Простые
высказывания обозначаются буквами
латинского алфавита (A, B, C, ...).
Истинное значение обозначают единицей (1) либо символом T (True – истина), а ложное – нулем (0) либо F (False – ложь), иногда заменяют словами «да» («yes»), «нет» («no»).
Отрицание высказывания Ā является простым высказыванием. Оно истинно, когда А ложно, и ложно, когда А истинно
Таблица истинности логического отрицания
А |
Ā |
0 |
1 |
1 |
0 |
Таблица истинности – это табличное представление логической операции, в котором перечислены все возможные сочетания значений истинности входных сигналов (операндов) вместе со значением истинности выходного сигнала (результата операции) для каждого из
этих сочетаний.
Составное высказывание, образованное в результате логического умножения (конъюнкции, лат. conjunctio – соединение), истинно тогда и только тогда, когда истинны все входящие в него простые высказывания.
Таблица истинности логического умножения
А |
В |
P= A&B |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Составное высказывание, образованное в результате логического сложения (дизъюнкции, лат. disjunctio – разделение) истинно тогда, когда истинно хотя бы одно из входящих в него простых высказываний.
Таблица истинности логического сложения
А |
В |
P = A ∨ B |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
Последовательность выполнения операций при отсутствии скобок в сложных логических формулах определяется старшинством операций (приоритетом). Наивысший приоритет имеет отрицание, затем следует конъюнкция и, наконец, дизъюнкция.
Основные законы алгебры логики
В алгебре логики выполняются основные законы, позволяющие производить тождественные преобразования логических выражений.
Законы алгебры логики
Законы |
Для ИЛИ |
Для И |
Коммутативности (поместительный) |
А + В = B + A |
A · B = B · A |
Ассоциативности (сочетательный) |
A + (B + C) == (A + B) + C |
A · (B · C) == (A · B) · C |
Дистрибутивности (распределительный) |
A · (B +C) = (A · B) + (A · C) |
A + (B· C) == (A + B) · (A + C) |
Правила де Моргана |
А + В = А ⋅ B |
A ⋅ B = A + B |
Операция переменной с её инверсией |
А + А = 1 |
А ⋅ А = 0 |
Операция с константами |
A + 0 = A; A + 1 = 1 |
A · 1 = A; A · 0 = 0 |
Закон коммутативности утверждает, что можно переставлять операнды при использовании конъюнкции или дизъюнкции. Это может показаться очевидным (в обычной алгебре слагаемые и множители можно менять местами), но имеются операторы вроде арифметического минуса, для которых это неверно: A-B отлично от B-A.
Закон ассоциативности позволяет расставлять скобки произвольным образом, если в логическом выражении используются только операции логического умножения или только операции логического сложения. В таких случаях можно вообще обойтись без скобок, так как закон ассоциативности гарантирует получение одного и того же результата независимо от того, как сгруппированы предложения.
Закон дистрибутивности. В отличие от обычной алгебры, где за скобки можно выносить только общие множители, в алгебре высказываний можно выносить за скобки как общие множители, так и общие слагаемые.
Законы де Моргана. Отрицание дизъюнкции эквивалентно конъюнкции отрицаний. Отрицание конъюнкции эквивалентно дизъюнкции отрицаний. Эти свойства иногда выражают словами: «конъюнкция двойственна дизъюнкции».
Операция переменной с её инверсией. Закон непротиворечия: Высказывание не может быть одновременно истинным и ложным. Логическое произведение высказывания и его отрицания ложно.
Закон исключенного третьего. Высказывание может быть либо истинным, либо ложным – третьего не дано. Результат логического сложения высказывания и его отрицания всегда принимает значение «истина».
Вместе эти законы определяют булеву алгебру. Из них можно получить другие полезные законы
Законы булевой алгебры
Дополнение (закон двойного отрицания) |
А = А |
Идемпотентность |
A · A = A; A + A = A |
Поглощение |
A · (A + B) = A |
Большинство законов существует в двух похожих формах. Принцип двойственности гласит, что любая теорема булевой алгебры остается истинной, если в ее формулировке заменить все связки И на ИЛИ, ИЛИ на И.
Импликация и эквивалентность
Любая логическая формула может быть выражена через три базовые логические операции (ранее рассмотренные), однако на практике часто используют еще две логические связки. Первая из них называется импликацией (лат. implico – тесно связаны) и служит для задания так называемых условных высказываний. В русском языке этой логической операции соответствуют фразы если ..., то ... или когда ..., тогда ...
Импликация – двухместная операция: часть формулы до импликации называют основанием условного высказывания, а часть, расположенную за ней, – следствием. В логических формулах импликация обозначается знаком →.
Операция A→B определяет логическую функцию, тождественно совпадающую с функцией А ∨ В .
Пример 1. Сложное высказывание: «Если на улице дождь, то на улице мокро». Обозначим через А простое высказывание «на улице дождь», а через В – «на улице мокро». Тогда логической формулой этого сложного высказывания будет импликация: A→B.
Пример 2. Если число Х делится на 4, то оно делится на 2. Это означает, что высказывание (Х делится на 4) → (Х делится на 2) истинно при всех Х.
Таблица истинности логической импликации
А |
В |
P = A→B |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
Составное высказывание, образованное с помощью операции логического следования (импликации), ложно тогда и только тогда, когда из истинной предпосылки (первого высказывания) следует ложный вывод (второе высказывание).
Однако операция логического следования несколько отличается от обычного слова «следует». Если первое высказывание (предпосылка) ложно, то вне зависимости от истинности или ложности второго высказывания (вывода) составное высказывание истинно. Это можно понимать таким образом, что из неверной предпосылки может следовать что угодно.
Другой распространенной операцией является эквивалентность (равнозначность, равносильность). Ее аналог в разговорной речи – фразы, подобные словосочетанию тогда и только тогда, когда ... или если и только если ... Для ее обозначения используется символ ↔ (или = , или ~).
Эквиваленцию A↔B можно выразить через отрицание, дизъюнкцию и конъюнкцию: (А ∨ В) & ( A ∨ B).
Пример 1. Сложное высказывание: «В зачетную книжку выставляется оценка за экзамен тогда и только тогда, когда он сдан». Обозначим через А простое высказывание «В зачетную книжку выставляется оценка за экзамен», а через В – «Экзамен сдан». Тогда логическая формула сложного высказывания запишется в виде: A↔B.
Пример 2. Многоугольник является вписанным в круг, если его вершины лежат на окружности.
Таблица истинности логической эквивалентности
А |
В |
P = A↔B |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Составное высказывание, образованное с помощью логической операции эквивалентности, истинно тогда и только тогда, когда оба высказывания одновременно либо истинны, либо ложны.
Вне зависимости от смысла равнозначными являются как истинные, так и ложные высказывания, например,
А = (дважды два – пять);
B = (один плюс два – шесть);
А~В («А и В равнозначны»).
Рассмотренные логические операции в порядке убывания приоритетов располагаются так: отрицание, конъюнкция, дизъюнкция, импликация, эквивалентность.
Как составить таблицу истинности для логической формулы?
Согласно определению таблица истинности логической формулы выражает соответствие между всевозможными наборами значений переменных и значениями формулы.
Для формулы, которая содержит две переменные, таких наборов значений переменных всего четыре: (0,0), (0,1), (1,0), (1,1).
Если формула содержит три переменные, то возможных наборов значений переменных восемь: (0,0,0), (0,0,1), (0,1,0), (0,1,1), (1,0,0), (1,0,1), (1,1,0), (1,1,1).
Количество наборов для формулы с четырьмя переменными равно шестнадцати и т. д.
Удобной формой записи при нахождении значений формулы является таблица, содержащая, кроме значений переменных и значений формулы, также и значения промежуточных формул.
Пример. Составим таблицу истинности для формулы А ∧ B∨ А∨ B∨ А
Таблица истинности для формулы А ∧ B∨ А∨ B∨ А
Переменные |
Промежуточные логические формулы |
Формула |
|||||
А |
В |
А |
А ∧ B |
А ∨ B |
А∨ B |
А ∧ B∨ А∨ B |
А ∧ B∨ А∨ B∨ А |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
Из данных таблицы 18 следует, что при всех наборах значений переменных А и В формула А ∧ B∨ А∨ B∨ А принимает значение 1, т. е. является тождественно-истинной.
Если задача сформулирована на естественном языке, её необходимо формализовать, то есть записать на языке алгебры высказываний. Полученное логическое выражение необходимо упростить и проанализировать. Упрощение логического выражения состоит в преобразовании его к более простому (по числу переменных, операций или операндов; не содержащему отрицаний неэлементарных формул) эквивалентному выражению путем использования основных законов алгебры логики. Наиболее простой вид получается при сведении функции к постоянной – 1 (истина) или 0 (ложь).
Некоторые преобразования логических формул похожи на преобразования формул в обычной алгебре (вынесение общего множителя за скобки, использование переместительного и сочетательного законов и т. п.), тогда как другие преобразования основаны на свойствах,
которыми не обладают операции обычной алгебры (использование распределительного закона для конъюнкции, законов поглощения, де Моргана и др.).
Рассмотрим на примерах некоторые приемы и способы, применяемые при упрощении логических формул.
(применяется
правило де Моргана, выносится за скобки
общий множитель, используется правило
операций переменной с её инверсией).
(применяются
правило де Моргана, сочетательный закон,
правило операций переменной с её
инверсией и правило операций с
константами).
(к
отрицаниям неэлементарных формул
применяется правило де Моргана,
используются законы двойного отрицания
и поглощения).
(общий
множитель А выносится за скобки,
комбинируются слагаемые в скобках –
первое с третьим и второе с четвертым,
к дизъюнкции В ⋅ С + В ⋅ С применяется
правило операций переменной с её
инверсией).