Инструменты и приборы для поиска и устранения неисправностей ПК

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

Краткое описание

В любой вычислительной системе память относится к таким ресурсам, которых всегда не хватает. Управление памятью - одна из главных забот программиста, так как для него очень важно создавать программы, эффективно использующие память, ведь во время выполнения программы память необходима для следующих элементов программ и данных:
• сама программа пользователя;
• системные программы времени выполнения, которые осуществляют вспомогательные действия при работе программы пользователя;

Содержание работы

Аннотация - 2 -
Введение - 5 -
Глава I. Теоретическая часть - 8 -
1. Указатели. Описание указателей - 8 -
1.1. Указатели и адреса - 8 -
1.2. Описание указателей - 11 -
2. Списки - 13 -
2.1 Линейные однонаправленные списки - 13 -
2.2 Двунаправленные списки - 22 -
2.3 Циклические списки - 23 -
3. Очереди и стеки - 27 -
3.1 Очередь на базе списка - 27 -
3.2 Создание (очистка) очереди - 28 -
3.3 Проверка очереди на пустоту - 28 -
3.4 Включение элемента в очередь - 29 -
3.5 Выбор элемента из очереди - 30 -
3.6 Стек на базе списка - 32 -
3.7 Создание (очистка) стека - 33 -
3.8 Проверка стека на пустоту - 33 -
3.9 Занесение элемента в стек - 34 -
3.10 Выбор элемента из стека - 35 -
4. Двоичные деревья - 43 -
4.1 Поиск элемента в дереве - 44 -
4.2 Включение элемента в дерево - 45 -
4.3 Удаление элемента дерева - 50 -
4.4 Вывод элементов дерева - 53 -
Глава II. Практическая часть - 56 -
1-Задача 1. Программа «Калькулятор» - 56 -
2-Задача2. Выполнить сортировку по латинскому алфавиту - 60 -
Приложения - 63 -
Список литературы - 65 -

Содержимое работы - 1 файл

kursovik.doc

— 263.00 Кб (Скачать файл)

else      

begin        

new( T1 );        

T1^.Elem:= T^.Elem;        

CopyTree( T^.Left, T1^.Left );        

CopyTree( T^.Right, T1^.Right )      

 end

end;

 

 

 

 

 

 

 

 

 

Глава II. Практическая часть

1-Задача 1. Программа «Калькулятор»

Постановка  задачи. Составить программу калькулятор.

Листинг программы

program Kalkulator;

var

   M:array[1..50] of string;

   j,i,n:integer;

   s,s1,s2,s3:string;

   x,y:real;

begin

writeln('BBeDi OPeRAciy');

readln(s);

n:=length(s);

for i:=0 to n-1 do

begin

M[i]:=copy(s,i,1);

if (m[i]='+')or(m[i]='-')or(m[i]='*')or(m[i]='/') then j:=i;

     end;

s1:=copy(s,0,j-1);

s2:=copy(s,j,1);

s3:=copy(s,j+1,n);

val(s1,x,n);

val(s3,y,n);

if s2='+' then writeln(x+y:4:1);

if s2='-' then writeln(x-y:4:1);

if s2='*' then writeln(x*y:4:1);

if s2='/' then writeln(x/y:4:1);

readln;

end.

 

 

 

 

 

 

 

 

 

 

Блок-схема

 

 


 

 

 

 

 

 

 

 

 

 

 

 

Пояснение к  блок-схеме

 

№ блока

Назначение

1

Начало программы

2

Ввод/вывод данных

3

Выполнение операции N:=length(s)

4

Цикл i:=0 to n-1

5

Тело цикла, выполнение операции M[i]:=copy(s,i,1)

6

Тело цикла, условие (m[i]=’+’) or (m[i]=’-‘) or (m[i]=’*’) or m[i]=’/’)

7

Тело цикла выполнение операции j:=i

8

Выполнение операции s1:=copy (s,o,j-1); s2:=copy (s,j,1); s3:=copy (s,j+1,n)

9

Выполнение операции val(s1,x,n); val(s3,y,n)

10

Блок условия s2=’+’

11

Ввод/вывод данных x+y

12

Блок условия s2=’-‘

13

Ввод/вывод данных x-y

14

Блок условия s2=’*’

15

Ввод/вывод данных x*y

16

Блок условия s2=’/’

17

Ввод/вывод данных x/y

18

Конец программы


 

Протокол программы

BBeDi OPeRaciy

56*9

504,0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2-Задача2. Выполнить сортировку  по латинскому алфавиту

Постановка  задачи. Составить программу которая, сортирует буквы латинского алфавита по алфавиту.

Листинг программы

program Alfavit;

var

   M:array[1..50] of string;

   j,i,n:integer;

   b:boolean;

   s,tmp:string;

begin

writeln('BBeDu TekcT');

readln(s);

n:=length(s);

for i:=0 to n-1 do

begin

M[i]:=copy(s,i,1);

     end;

     b:=true;

     while b do

     begin

b:=false;

for i:=1 to n-1 do

   begin

if m[i] > m[i+1] then

begin

   tmp:= m[i];

   m[i]:=m[i+1];

   m[i+1]:=tmp;

   b:=true;

end;

   end;

     end;

     for i:=0 to n-1 do begin;

     write(m[i],' ');

     end;

     readln;

end.

 

Блок-схема

 

 

Пояснение к  блок-схеме

№ блока

Назначение

1

Начало программы

2

Ввод/вывод данных n:=length(s)

3

Цикл i:=0 to n-1

4

Тело цикла M:=copy(s,i,1)

5

Выполнение операции b:=true

6

Выполнение операции b:=false

7

Цикл i:=1 to n-1

8

Тело цикла, условие m[i]>m[i+1]

9

Выполнение операции tmp:=m[i]; m[i]:=m[i+1]; m[i+1]:=tmp; b:=true

10

Цикл i:=o to n-1

11

Ввод/вывод данных m[i]

12

Конец программы




 

 

 

Протокол программы

BBeDu TekcT

abrakadabra

aaaaabbdkr

 

 

 

 

 

 

 

 

 

Приложения

Рис. 1. Линейный список (связанный список)


 

 

Рис. 2. Двунаправленный  список


 

 

Рис. 3. Однонаправленный циклический список.


 

 

Рис. 4. Двунаправленный циклический список.


 

 

Рис. 5. Организация дека на основе линейного списка.

 


 

 

Рис. 6. Организация стека на основе линейного списка.


 

 

 

 

Рис. 7. Представление бинарного дерева в виде списковой структуры.

 

 

 

 

 


Информация о работе Инструменты и приборы для поиска и устранения неисправностей ПК