понедельник, 22 февраля 2016 г.

Домашнее задание. Задачи на ветвление

Оформить блок-схемы и программы.
1.  Даны целые числа х и у. Получить:
    а) max(x,y);
    b) min(x,y);
    c) C=max/min.
2. Дано число х.
   Вычислить |x| = x, если х>=0  и 
                    |x| = -x, если  x<0.

понедельник, 15 февраля 2016 г.

Домашнее задание (линейный алгоритм)

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

1. Дана длина ребра куба - а (целое число). Найти объем куба и площадь его боковой поверхности.
2. Даны 2 вещественных числа х и у. Найти среднее арифметическое и среднее геометрическое этих чисел.
3. Даны 2 катета прямоугольного треугольника. Найти гипотенузу и площадь треугольника.
4. Дан радиус окружности. Найти площадь круга, ограниченного данной окружностью.
5. Найти площадь кольца, где R1 - внутренний радиус, R2 - внешний радиус. (R1<R2).

четверг, 3 декабря 2015 г.

Решение содержательных логических задач с помощью кругов Эйлера/диаграмм Венна

Математическая справка. Диаграммы Эйлера-Венна используются прежде всего в теории множеств как схематичное изображение всех возможных пересечений нескольких множеств. В общем случае они изображают все 2n комбинаций n свойств.

Смысл логических связок становится более понятным, если проиллюстрировать их с помощью графической схемы – кругов Эйлера (диаграмм Эйлера-Венна).

Логическая связкаПример ПояснениеКруги Эйлера
& - “И”
(пересечение множеств)
Бабочки & МадагаскарРезультат операции "И": множество, включающее в себя только бабочек, обитающих на острове МадагаскарРис.1
| - “ИЛИ”
(объединение множеств)
Бабочки | МадагаскарРезультат операции "ИЛИ": множество всех бабочек и бабочек МадагаскараРис.2


понедельник, 5 октября 2015 г.

Алгоритмы сжатия и форматы графических файлов

Знание файловых форматов и их возможностей является одним из ключевых факторов в компьютерной графике. Да, сегодня нет такого калейдоскопа расширений, как в начале 90-х, когда каждая компания-производитель редакторов изображений считала своим долгом создать свой файловый тип, а то и не один, однако это не означает, что "все нужно сохранять в TIFF, а сжимать JPEG'ом". Каждый, из утвердившихся сегодня форматов, прошел естественный отбор, доказал свою жизнеспособность. Все они имеют какие-то характерные особенности и возможности, делающие их незаменимыми в работе. Знание особенностей, тонкостей технологии важно для современного дизайнера.
Почти все современные форматы графических файлов используют какой-либо из методов сжатия информации, поэтому, для лучшего понимания дальнейшего материала, начало данного раздела содержит краткое изложение этих методов.

воскресенье, 8 февраля 2015 г.

Среда и язык программирования Pascal


Паскаль - язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623-1662) и разработан в 1968-1971 гг. Никлаусом Виртом. Первоначально был разработан для обучения, но вскоре стал использоваться для разработки программных средств в профессиональном программировании.
Паскаль популярен среди программистов по следующим причинам:
  1. Прост для обучения.
  2. Отражает фундаментальные идеи алгоритмов в легко воспринимаемой форме, что предоставляет программисту средства, помогающие проектировать программы.
  3. Позволяет четко реализовать идеи структурного программирования и структурной организации данных.
  4. Использование простых и гибких структур управления: ветвлений, циклов.
  5. Надежность разрабатываемых программ.

Турбо Паскаль - это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования - это отражение торговой марки фирмы-разработчика Borland International (США).
Систему программирования Турбо Паскаль называют интегрированной (integration - объединение отдельных элементов в единое целое) средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.

суббота, 7 февраля 2015 г.

Что такое ООП

Объектно-ориентированное программирование

Языки программирования претерпели большие изменения с тех пор, как в сороковых годах началось их использование.
Первые языки программирования были очень примитивными и представляли собой последовательность нулей и единиц. Использование таких языков было крайне неудобно с точки зрения программиста. Первая попытка оптимизации программирования в двоичных кодах заключалась в разработке специальной системы кодирования двоичных машинных команд многобуквенными мнемоническими сокращениями. 
В пятидесятых годах ХХ века появились языки программирования высокого уровня. Форма записи программ на  них по сравнению с машинными языками и  ассемблером ближе к традиционной математической форме и разговорному языку. 
Первые программы для ЭВМ редко превышали объем 1 кбайт, сейчас же программы несравненно больше. По мере увеличения размера программ приходилось искать способы, позволяющие упростить программирование. 
Идеи разделения  программ на относительно самостоятельные крупные части, реализующие определенные процедуры и функции и образующие определенную иерархию взаимосвязей, нашли отражение в структурном подходе к разработке и созданию программных средств. В программировании структурный подход появился с возникновением первых подпрограмм (процедур и функций), написанных в так называемом процедурно-ориентированном стиле.
Дальнейшее развитие структурного подхода привело к модульному программированию. Оно предусматривает представление прикладной задачи в виде иерархии взаимодействующих модулей или программ.
Введение типов данных обозначило еще одно направление развития технологии программирования. Типизация данных предназначена как для облегчения составления программ, так и для автоматического выявления ошибок. Использование структурных или комбинированных типов позволяет сократить объем рутинной работы  программиста.
По мере развития технологии программирования все адекватнее отражалась структура решаемой прикладной задачи и осуществлялось объединение данных и процедур для их обработки. Это и привело к появлению в программировании объектного подхода. Сейчас уже совершенно ясно, что на смену традиционному программированию, пришло объектно-ориентированное (сокращенно ООП).