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

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

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

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

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

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

Чтобы получить представление целого положительного числа в компьютере, это число необходимо перевести в двоичную систему счисления. Если двоичное число состоит не более чем из 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)
программа ЛЕСЕНКА
нач
сделай ГЭ
сделай ГЭ
сделай ГЭ
кон
процедура ГЭ
нач
шаг
поворот
поворот
поворот
шаг
поворот
поворот
поворот
кон

среда, 19 февраля 2014 г.

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

Управление и кибернетика.
 Управление с обратной связью.
1. В приведённом ниже списке найдите соответствие между управляющим иуправляемым объектами и заполните таблицу: оркестр, лошадь, тренер, наездник, актёр, дирижёр, водитель, режиссёр, спортсмен, автобус.

Управляющий объект
Управляемый объект
 Дирижер
 Оркестр
 Наездник
 Лошадь
 Тренер
 Спортсмен
 Режиссер
 Актер
 Водитель
 Автобус


2. Первоклассник пришёл домой и увидел, что мама оставила ему записку с информацией о том, как разогреть обед:
- открой холодильник,
- достань из холодильника жёлтую кастрюлю,
- поставь кастрюлю на газовую плиту,
- зажги газ,
- подожди 5 минут,
- выключи газ,
- налей из кастрюли суп в тарелку.
К какому типу относится данный алгоритм (с обратной связью или без обратной связи?) Поясните свой ответ.

Это алгоритм с обратной связью, так как пред тем, как преступить к следующему шагу, первокласснику следует посмотреть на результат предыдущего шага и на состояние объекта.

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

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

Б) - открой холодильник,
- достань из холодильника жёлтую кастрюлю,
- поставь кастрюлю на газовую плиту,
- сходи к соседям и попроси зажигалку или спички,
- зажги газ,
- подожди 5 минут,- выключи газ,- суп из кастрюли налей в тарелку.

В) - открой холодильник,
- достань из холодильника жёлтую кастрюлю,
- налей из кастрюли суп в тарелку.
- поставь тарелку в микроволновую печь,
- включили таймер на 5 минут
- подожди 5 минут,
- достань тарелку.

Г) - открой холодильник,
- достань из холодильника жёлтую кастрюлю,
- поставь кастрюлю на газовую плиту,
- зажги газ,
- дождись, когда суп закипит,
- выключи газ,
- налей из кастрюли суп в тарелку.

4. Приведите примеры использования встроенных в бытовые приборы микропроцессоров (3-4 примера).

1. телефон
2. телевизор
3. стиральная машина

5. Какие из приведённых ниже систем относятся к САУ, а какие  - к АСУ:
- система противопожарной сигнализации,
- компьютеризированная система «Метеоролог»,
- компьютеризированная система управления предприятием,
- станок с числовым программным управлением,
- «автопилот» в самолёте,
- компьютеризированная система управления электроснабжением.
АСУ:- компьютеризированная система управления предприятием,- станок с числовым программным управление,- компьютеризированная система «Метеоролог», 

САУ:- «автопилот» в самолёте,- компьютеризированная система управления электроснабжением- система противопожарной сигнализации,