среда, 24 сентября 2014 г.

Представление текста, изображения и звука в компьютере

Модель цвета RGB

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

Дискретность цвета состоит в том, что интенсивности базовых цветов могут принимать конечное число дискретных значений. 

Если размер кода цвета равен b битов, то количество цветов вычисляется по формуле:
  K=2ᵇ

Модель цвета CMYK

Изображение на бумаге, формируемое с помощью отражения света.

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

Какая цветовая модель используется в полиграфии?

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

Представление целых чисел в памяти компьютера

Целые числа в компьютере

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

  • Беззнаковое используют только для неотрицательных целых чисел
  • Знаковое используют для отрицательных и положительных чисел 

Беззнаковое представление целых положительных чисел в компьютере

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

Знаковое представление целых чисел в компьютере




При знаковом представлении чисел 0 в самом левом разряде ячейки соответствует знаку плюс, а единица – знаку минус. Такое представление чисел называется прямым кодом.
Однако для представления отрицательных чисел в компьютере используется дополнительный код.
  • количество представимых чисел в k разрядах ограничено и зависит от k;
  • диапазон знаковых чисел, представимых в k-разрядной ячейке, не симметричен относительно 0.

Алгоритм построения дополнительного кода

Для k-разрядной ячейки дополнительный код отрицательного числа можно получить следующим образом:


  • Модуль числа представляется прямым кодом в k разрядах.
  • В прямом коде все нули заменяются на единицы, а единицы – на нули. Таким образом получаем обратный код.
  • К полученному обратному коду прибавляется единица.


Иногда требуется по имеющемуся дополнительному коду числа восстановить исходное число. Модуль искомого числа в таком случае можно получить двумя способами:

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


Перечисление целых знаковых чисел

Расположим целые знаковые числа, которые можно записать в 8-разрядах, в порядке возрастания на числовой оси:

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

Если мы хотим отнять от какого-либо числа единицу, то сдвигаемся влево.

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



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

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

вторник, 9 сентября 2014 г.

Общество как динамичная система

Понятие общества

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

Характеристики общества как системы

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

Общество входит в число систем:
  • сложных  (образующих его элементов и связей между ними чрезвычайно много);
  • открытых (взаимодействующих с внешней средой);
  • материальных (реально существующих);
  • динамичных (изменяющихся, развивающихся в результате внутренних причин и механизмов). 
Общество как сложная система состоит из множества элементов, которые, в свою очередь, могут быть объединены в подсистемы. 

Подсистемами (сферами) общественной жизни являются:


Общественные отношения.

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

Общественные отношение подразделяются на:

  • Материальные -возникают и складываются непосредственно в ходе практической деятельности человека  вне его сознания или независимо от него. (Производственные отношения, отношения по делопроизводству и экологические отношения)
  • Духовные - формируются предварительно "проходя через сознание" людей, определяются их ценностью.  (Религиозные, правовые, моральные, художественные, политические и философские отношения.)
источник - http://www.openclass.ru/node/214817

вторник, 22 апреля 2014 г.

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

Ветвления на Паскале.
Программирование
диалога с компьютером.


1. Составьте на Паскале программу определения минимума из трёх чисел с использованием логических операций. Программа должна иметь дружественный интерфейс.
program minimum;
var A,B,C,D: real;
begin
readln (A,B,C)
if (A<=B) and (A<=C) then D:=A;
if (B<=A) and (B<=C) then D:=B;
if (C<=A) and (C<=B) then D:=C;
writeln("Наименьшее число";D);
end.
2. Составьте на Паскале программу, которая запрашивает возраст двух детей (Саши и Маши), а затем выводит информацию о том, кто из них старше.
program Age;
var S,M:integer;
begin
write("Возраст Саши");
readln(S);
write("Возраст Маши");
readln(M);
if M>S then writeln("Маша старше");
if S>M then writeln("Саша страше");
end.
3. Запишите на языке Паскаль программу, которая по номеру дня недели будет выводить его название.
program day;
var D:integer;
begin
write("Введите номер дня недели");
readln(D);
if D=1 then writeln("Понедельник");
if D=2 then writeln("Вторник");
if D=3 then writeln("Среда");
if D=4 then writeln("Четверг");
if D=5 then writeln("Пятница");
if D=6 then writeln("Суббота");
if D=7 then writeln("Воскресенье");
end.
4. Что вычисляет приведённая ниже программа? Приведите два примера исходных данных и результата
Program example;
Var x,y,z,I :integer;
Begin
  ReadLn(a,b,c);
  i:=0;
  If a>0 then i:=i+1;
  If b>0 then i:=i+1;
  If c>0 then i:=i+1;
  WriteLn(i)
End.
Эта программа вычисляет количество положительных чисел.
Например:
1) а=3; b=6; c=1, тогда i=3
2) a=2; b=0; c=-4, тогда i=1

понедельник, 21 апреля 2014 г.

Практическое задание №20

Знакомство с языком Паскаль


1. Написать на языке Паскаль программу ввода четырёх целых чисел и вычисления их среднего арифметического.
program 12
var a,b,c,d : integer; e: real;
begin
 readln(a,b,c,d);
 e:=(a+b+c+d)/4;
 writeln(e)
end.
2. Написать программу для вычисления дискриминанта  d   квадратного уравнения  ax2 + bx + c = 0. Разработать тесты проверки правильности работы программы для вариантов, когда d>0, d=0 и d<0.
program 666
var a,b,c,d :real;
begin
 readln(a,b,c);
 d:=b*b-4*a*c;
 writeln(d)
end.
тест для проверки правильности работы программы:
d=0:
b=-4; a=2; c=2;
d>0:
b=5; a=3; b=1;
d<0:
b=1; a=4; c=2.
3. Написать программу для вычисления площади кольца, внешний радиус которого равен R1, а внутренний – R2 (R1>R2).
program god
var R1, R2, S: real;
begin
 readln(R1, R2);
 S:= 3.14*(R1*R1 - R2*R2);
 writeln(S)
end.

среда, 5 марта 2014 г.

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

Параграф №30

Задание №7

  Составьте программу, переводящую ГРИС в угол поля из любого исходного положения.

Программа БЗСХДНСТ
нач
пока впереди не стена
нц
прыжок
кц
поворот
пока впереди не стена
нц
прыжок
кц
кон

Задание №8

Составьте программу рисования прямоугольной рамки вдоль края поля при любом начальном состоянии исполнителя 
Программа РАМА
нач
пока впереди не стена
нц
прыжок
кц
поворот
сделай ЛИН
сделай ЛИН
сделай ЛИН
сделай ЛИН
сделай ЛИН
кон
Процедура ЛИН
нач
пока впереди не стена
нц
шаг
кц
поворот
кон

понедельник, 3 марта 2014 г.

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

Параграф № 29

Задание № 7

1)
программа ЗИГГИ
нач
сделай ЗИГ
сделай ЗИГ
шаг
кон
процедура ЗИГ
нач
шаг
поворот
шаг
поворот
поворот
поворот
шаг
поворот
поворот
поворот
шаг
поворот
кон
2) 
программа КРЕСТ
нач
сделай МЕТ
сделай МЕТ
сделай МЕТ
сделай МЕТ
кон
процедура МЕТ
нач
шаг
поворот
шаг
поворот
поворот
поворот
шаг
поворот
поворот
поворот
кон
3)
программа НОУЗ
нач
сделай ЭН
сделай ОУ
сделай ЭС

кон
процедура ЭН
нач
шаг
шаг
поворот
поворот
прыжок
поворот
поворот
поворот
шаг
поворот
прыжок
поворот
поворот
шаг
шаг
поворот
прыжок
кон
процедура ОУ
нач
прыжок
поворот
шаг 
шаг
поворот
шаг
поворот
шаг 
шаг
поворот
шаг
прыжок
кон
процедура ЭС
нач
поворот
шаг
шаг
поворот
поворот
поворот
шаг
поворот
поворот
поворот
прыжок
прыжок
поворот
поворот
поворот
шаг
кон
4)
программа ЛЕСЕНКА
нач
сделай ГЭ
сделай ГЭ
сделай ГЭ
кон
процедура ГЭ
нач
шаг
поворот
поворот
поворот
шаг
поворот
поворот
поворот
кон