Жизненный цикл ПО

Автор работы: Пользователь скрыл имя, 14 Февраля 2012 в 09:42, курсовая работа

Описание

Данная курсовая работа состоит из трех разделов.
Раздел первый – описание рабочего места.
Раздел второй – теоретические сведения по следующим разделам.
Системы счисления.
Логические основы.
Методы сортировок.

Содержание

Введение…………………………………………………………………………………………………………………………………………… 5
1. Вводная часть………………………………………………………............................................................................ 6
1. Описание рабочего места …………………………………………………………………………………………………………… 6
1.2 Освещенность рабочего места………………………………………………………………………………………………….. 7
1.3 Нормирование шума…………………………………………………………………………………………………………………. 8
1.4 Методы защиты от шума……………………………………………………………………………………………………………. 8
1.5 Вентиляция…………………………………………………………………………………………………………………………………. 9
2. Теоретический раздел…………………………………………………………………………………………………………………. 10
2.1 Системы счисления……………………………………………………………………………………………………………………. 10
2.1.1 Правила перевода из одной системы счисления в другую…………………………………………………… 11
2.1.2 Сложение в различных системах счисления………………………………………………………………………….. 14
2.1.3 Вычитание в различных системах счисления…………………………………………………………………………. 15
2.1.4 Умножение в различных системах счисления……………………………………………………………………….. 15
2.1.5 Деление в различных системах счисления…………………………………………………………………………….. 16
2.2 Логические элементы………………………………………………………………………………………………………………… 17
2.2.1 Схема И……………………………………………………………………………………………………………………………………. 17
2.2.2 Схема ИЛИ……………………………………………………………………………………………………………………………….. 17
2.2.3 Схема НЕ…………………………………………………………………………………………………………………………………… 18
2.2.4 Схема И—НЕ…………………………………………………………………………………………………………………………….. 18
2.2.5 Схема ИЛИ—НЕ……………………………………………………………………………………………………………………….. 18
2.3 Методы сортировок…………………………………………………………………………………………………………………… 19
2.3.1 Метод "пузырька"…………………………………………………………………………………………………………………… 19
2.3.2 Сортировка вставками……………………………………………………………………………………………………………. 20
2.3.3 Сортировка посредством выбора………………………………………………………………………………………….. 21
3. Основной раздел…………………………………………………………………………………………………………………………. 22
3.1 Системы счисления……………………………………………………………………………………………………………………. 22
3.2 Логические основы……………………………………………………………………………………………………………………. 25
3.3 Проверить тождественность логических функций X и Y…………………………………………………………… 26
3.5 Сортировка массивов…………………………………………………………………………………………………………………. 27
Используемая литература…………………

Работа состоит из  1 файл

курсак.doc

— 760.00 Кб (Скачать документ)
 
 
 

Out2=ln1*ln3*ln5

Ln1 ln3 Ln5 Ln1*ln3*ln5
     0      0      0      0
     0      0      1      0
     0      1      0      0
     0      1      1      0
     1      0      0      0
     1      0      1      0
     1      1      0      0
     1      1      1      1
 

3.3 Проверить тождественность логических функций X и Y

     X=(^f1*f2+f2*f3)*^(f1+f2*f3)*(^f1+^f2*f3)

     Y=^(f1*f3+^f2)*(f1*^f2+f2*f3)*^(^f1*^f2+f1*f3)

       

 Таблица  – Значения функции X

f1 f2 f3 (^f1*f2+f2*f3) ^ (f1+f2*f3) (^f1+^f3*f2) x
0 0 0 (1*0+0*0)0 (0+0*0)1 (1+1*0)1 0
0 0 1 (1*0+0*1)0 (0+0*1)1 (1+0*0)1 0
0 1 0 (1*1+1*1)1 (0+1*0)1 (1+1*1)1 1
1 0 0 (0*0+0*0)0 (1+0*0)0 (0+1*0)0 0
0 1 1 (1*1+1*1)1 (0+1*1)0 (1+0*1)1 0
1 0 1 (0*0+0*1)0 (1+0*1)0 (0+1*0)0 0
1 1 0 (0*1+1*0)0 (1+1*0)0 (0+1*1)1 0
1 1 1 (0*1+1*1)1 (1+1*1)0 (0+0*1)0 0
 

 Таблица  – Значения функции Y

f1 f2 f3 ^(f1*f3+^f2) (f1*^f2+f2*f3) ^(^f1*^f2+f1*f3) y
0 0 0 (0*0+1)0 (0*1+0*0)0 (1*1+0*0)0 0
0 0 1 (0*1+1)0 (0*1+0*1)0 (1*1+0*1)0 0
0 1 0 (0*0+0)1 (0*0+1*0)0 (1*0+0*0)1 0
1 0 0 (1*0+1)0 (1*1+0*0)1 (0*1+1*0)1 0
0 1 1 (0*1+0)1 (0*0+1*1)1 (1*0+0*1)1 1
1 0 1 (1*1+1)0 (1*1+0*1)1 (0*1+1*1)0 0
1 1 0 (1*0+0)1 (1*0+1*0)0 (0*0+1*0)1 0
1 1 1 (1*1+0)0 (1*0+1*1)1 (0*0+1*1)0 0
 

3.4 Структуры данных

     Имеются  данные о распределении лесосырьевых  ресурсов в регионе:

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

 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 

3.5 Сортировка массивов

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

Распределяющая  сортировка - RadixSort - цифровая - поразрядная 

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

      Разрядность данных (количество возможных значений элементов) - m - также должна быть известна заранее и постоянна. Если мы сортируем слова, то элемент сортировки - буква, m = 33. Если в самом длинном слове 10 букв, k = 10. Обычно мы будем сортировать данные по ключам из k байт, m=256. 

      Пусть у нас есть массив source из n элементов  по одному байту в каждом. 

      Составим таблицу распределения. В ней будет m (256) значений и заполняться она будет так:

      for i := 0 to Pred(255) Do distr[i]:=0;

      for i := 0 to Pred(n) Do distr[source[i]] := distr[[i]] + 1;

      

      

      Для нашего примера будем иметь distr = <0, 0, 0, 0, 1, 1, 0, 3, 1, 1>, то есть i-ый элемент distr[] - количество ключей со значением i. 

      Заполним  таблицу индексов:

      index: array[0 .. 255] of integer;

      index[0]:=0;

      for i := 1 to Pred(255) Do index[i]=index[i-1]+distr[i-1]; 

      В index[ i ] мы поместили информацию о  будущем количестве символов в отсортированном массиве до символа с ключом i.

      Hапример, index[8] = 5 : имеем <4, 5, 7, 7, 7, 8>. 

      А теперь заполняем новосозданный  массив sorted размера n:

      for i := 0 to Pred(n) Do Begin

        sorted[ index[ source[i] ] ]:=source[i];

        {

          попутно изменяем index уже вставленных символов, чтобы

          одинаковые ключи шли один  за другим:

        }

        index[ source[i] ] := index[ source[i] ] +1;

      End; 

      Итак, мы научились за O(n) сортировать байты. А от байтов до строк и чисел - 1 шаг. Пусть у нас в каждом числе - k байт. 

      Будем действовать в десятичной системе  и сортировать обычные числа ( m = 10 ).

      Цитата

      сначала они в сортируем по младшему на один

      беспорядке: разряду: выше: и еще раз: 

      523 523 523 088

      153 153 235 153

      088 554 153 235

      554 235 554 523

      235 088 088 554 

      Hу  вот мы и отсортировали за O(k*n) шагов. Если количество возможных  различных ключей ненамного превышает  общее их число, то 'поразрядная  сортировка' оказывается гораздо  быстрее даже 'быстрой сортировки'!

      Реализация  алгоритма "распределяющей" сортировки: 

program sort;

uses crt;

Const

  n = 8;

Type

  arrType = Array[0 .. Pred(n)] Of Byte;

Const

  m = 256;

  a: arrType =

       (7, 6, 5, 2, 4, 3, 0, 1);

Procedure RadixSort(Var source, sorted: arrType);

  Type

    indexType = Array[0 .. Pred(m)] Of Byte;

  Var

    distr, index: indexType;

    i: integer;

  begin

    fillchar(distr, sizeof(distr), 0);

    for i := 0 to Pred(n) do

      inc(distr[source[i]]);

      index[0] := 0;

    for i := 1 to Pred(m) do

      index[i] := index[Pred(i)] + distr[Pred(i)];

    for i := 0 to Pred(n) do

      begin

        sorted[ index[source[i]] ] := source[i];

        index[source[i]] := index[source[i]] + 1;

      end;

  end;

var

  b: arrType;

  i:integer;

begin

clrscr;

for i:=0 to Pred(n) do

write(a[i]);

  RadixSort(a, b);

writeln;

writeln;

for i:=0 to Pred(n) do

 write(b[i]);

  readln;

end.

      
 
Используемая литература

 
  1. Е. Андреева/И. Фалина. Системы счисления и компьютерная арифметика. Учебное пособие - М.: Бином. Лаборатория знаний, 2004 г.- 256с.
  2. Вальциферов Ю.В. ИНФОРМАТИКА: ч.1. Арифметические п логические основы ЭВМ. Учебное пособие - М.: МГУ, 2001 г.- 125с.
  3. Борис Соболь. Информатика. (5-е издание). - М.: Феникс · 2010.
  4. А. М. Епанешников. Программирование в среде Turbo Pascal 7.0 - 1995. 288 с.

     
     

Информация о работе Жизненный цикл ПО