понедельник, 15 сентября 2014 г.

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

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



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

Запишем максимальные числа, которые можно вместить в 8, 16, 32 разрядах.


Количество разрядов Максимальное число
8 28 – 1 = 255
16 216 – 1 = 65535
32 232 – 1 = 4294967295



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

Для человека привычна запись числа в виде «знак-величина». Чтобы и в компьютере представлять числа в привычном для человека виде, необходимо самый левый разряд ячейки отвести для записи знака числа. При записи положительного числа в самый левый разряд ячейки, который называется знаковым, записывается 0, при записи отрицательного числа 1. То есть при знаковом представлении чисел 0 в самом левом разряде ячейки соответствует знаку плюс, а единица – знаку минус. Очевидно, что модуль числа можно записывать только в оставшихся k – 1 разрядах. Такое представление чисел называется прямым кодом.

  • количество представимых чисел в k разрядах ограничено и зависит от k;
  • диапазон знаковых чисел, представимых в k-разрядной ячейке, не симметричен относительно 0.
Запишем максимальные и минимальные числа, которые можно записать в 8, 16 и 32 разрядах при знаковом представлении.


Количество разрядов Минимальное число Максимальное число
8 –27 = –128 27 – 1 = 127
16 –215 = –32768 215 – 1 = 32767
32 –231 = –2147483648 231 – 1 = 2147483647





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

В k-разрядной целочисленной компьютерной арифметике 2k = 0, так как единица в самом старшем разряде числа 2k должна стоять в k+1 разряде и следовательно, «выползает» за границы ячейки. Дополнительный код отрицательного числа, записанный в k-разрядной ячейке, заменяет это отрицательное число на дополнение его модуля до числа 2k. То есть дополнительный код отрицательного числа m равен 2k – |m|. Такая замена позволяет заменить операцию вычитания чисел на операцию сложения. Действительно, если в 8-разрядной ячейке сложить числа 5 и –6, где вместо –6 написано число (28 – 6), то получится 5 + (28 – 6) = 28 – 1, что будет соответствовать записи числа –1.

Поэтому для k-разрядной ячейки дополнительный код отрицательного числа можно получить следующим образом:
  1. Модуль числа представляется прямым кодом в k разрядах.
  2. В прямом коде все нули заменяются на единицы, а единицы – на нули. Таким образом получаем обратный код.
  3. К полученному обратному коду прибавляется единица.


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

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

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

Особенности целочисленной компьютерной арифметики

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



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





























































пятница, 5 сентября 2014 г.

Наука и философия



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

Философия стремится рациональными средствами создать предельно обобщенную картину мира и места человека в нем. Она является теоретическим ядром мировоззрения.

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



2. "Никогда не поздно поумнеть"


Я полностью согласен с этой цитатой.

Говорят «любви все возрасты покорны», про знания можно сказать тоже самое. Ведь изучать что то новое для себя можно в любом возрасте.


Как, например семидесятилетние бабушки и дедушки получают пятое или шестое высшее образование.
3. "Умеете ли вы правильно задавать вопросы..."



Пока что нет. Я еще учусь вести диалог. В любом случае любой вопрос - это неуверенность в себе.








Философия об обществознании


1) Какие 2 вида познания включает обществознание?
Ответ:  Социальные науки и гуманитарные познания.




2) Чем отличаются социальные науки от гуманитарного познания?
Ответ: В социальной науке люди являются частью объективной картины. А в гуманитарном познании формы научной деятельности включаются в совместную жизнь людей.


3) Что связывает эти науки?
Ответ: У этих наук есть общий объект для изучения, это общество и человек.
 
4)




Суждение характеризующие социальные науки

Название гуманитарных дисциплин

В основном изучают структуру закономерностей и общих связей.

Краеведение, история

Возвышаются над людьми и их обыденной жизнью

Религия, культурология

Человек как часть объективной картины

Мхк, танцы, искусство



























































четверг, 24 апреля 2014 г.




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

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

 

1. Составьте на Паскале программу определения минимума из трёх чисел с использованием логических операций. Программа должна иметь дружественный интерфейс.
 
Program my1;
Var a,b,c:integer;
Begin
  WriteLn('a=');
  ReadLn(a);
  WriteLn('b=');
  ReadLn(b);
  WriteLn('c=');
  ReadLn(c);
  If a<b a<c Then WriteLn(a, ' -
меньшее')
  Else If b<a b<c Then WtiteLn(b, '-
меньшее')
  Else If c<a c<b WriteLn(c, ' -
меньшее')
  Else If a=b=c WriteLn('
числа равны')
End.
2. Составьте на Паскале программу, которая запрашивает возраст двух детей (Саши и Маши), а затем выводит информацию о том, кто из них старше.

program my2;
var a,b:integer;
begin
 
writeLn(' Саша');
 
readLn(a);
 
writeLn(' Маша');
 
readLn(b);
 
if a>b Then writeLn('Саша старше Маши')
 
else if b<a then wtiteLn('Маша старше Саши')
 
else If a=b then writeLn ('Возраст Маши равен возрасту Саши')
end.
3. Запишите на языке Паскаль программу, которая по номеру для недели будет выводить его название.
program my3;
var x:integer;
begin
writeln(‘
номер дня недели’);
readln(x);

  if x=1 Then writeLn('
понедельник')
  else If x=2 Then writeLn('
вторник')
  else If x=3 Then writeLn('среда')
  else If x=4 Then writeLn('четверг')
  else If x=5 Then writeLn('пятница')
  else If x=6 Then writeLn('суббота')
  else If x=7 Then writeLn('воскресенье')
  else If x>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)x=11, y=0, z=-9, i=1
2) x=4, y=-5, z=10, i=2


 

 

четверг, 10 апреля 2014 г.






 

         №1

  Program Numbers;

var a, b, c, d, f: integer;

begin

  readln (a, b, c, d);

  f:=(a+b+c+d)/4;

  writeln (f)

end.

 

 

№2 Program mine;

     var a,b,c,d:integer; x1,x2:real;

     begin

      writeln('Введите коэффициенты');

      readln(a,b,c);

      d:=b*b-4*a*c;

     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,'x2=',x2);

    end.

 

3. program mine1;

    var R1, R2: real;

    begin

       write('Введите данные - ');

       read(R1, R2);

       writeln('Pi = ', pi); 

       writeln('S = ', pi * abs(R1 * R1 - R2 * R2));

       end.

 

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


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

Тема: Работа с диапазонами. Относительная адресация

 

1. Сколько клеток ЭТ включают в себя следующие диапазоны:
    а) A2:B10    б) C13:E20  ?
 
а)9*2=18
б)8*3=24
 
2. Запишите приведенные ниже выражения с помощью функций EXCEL:
а) A5+A6+A7+B5+B6+B7   
б) (C4+C5+C6+C7)/4   (среднее арифметич.)
 
 
а)СУММ(А5:В7)
  б)СРЗНАЧ(С4:С7)
 
3. Придумайте и опишите ЭТ для вычисления общей стоимости покупок в магазине, если известны стоимость 1 единицы товара (или 1 кг) и количество купленных единиц (описать все формулы таблицы, таблица должна содержать не менее 5 наименований товара).
 
 
А1-А5 – наименование товара
В1-В5 – стоимость единицы товара
С1-С5 – кол-во купленных единиц
D1-D5 – стоимость товара
Общая стоимость покупки СУММ(D1:D5)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. В ячейке E4 находится формула (C3+C5)/D6. Как она изменится при переносе этой формулы в ячейку:
а) D8   б) E7    в) C6     г) F10
 
 
а)(B7+B9)/C10
б)(C6+C8)/D9
в)(A5+A7)/D8
г)(D9+D11)/E12
 
 
5. В ячейке E4 находится формула СУММ(A4:D4). Куда она переместиться и как изменится при
а) удалении строки 2,
б) удалении строки 7,
в) вставке пустой строки перед строкой 4,
г) удалении столбца 3,
д) вставке пустого столбца перед столбцом 6
 
а) Передвинуться на строку вверх СУММ(A3:D3)
б) Не изменится СУММ(A4:D4)
в) Передвинуться на строку вниз СУММ(А5:D5)
г) Передвинуться на столбец влево СУММ(А4:С4)
д) Не изменяется СУММ(А4:D4)