Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование / си++ / ЛЕКЦИИ АСУ-03 за 1й курс / II cemecTP / Лабораторные работы по информатике.doc
Скачиваний:
221
Добавлен:
10.12.2013
Размер:
562.69 Кб
Скачать

Арифметические операции в позиционных сс

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

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

Примеры

101102 236518

+ +

011012 170438

1000112 427248

Аналогично выполняются и все остальные действия.

Задачи

1)2AC,B перевести в десятичную СС , в двоичную и в восьмеричную.

2) 3715 перевести в шестнадцатеричную и двоичную СС.

3) 1981 перевести в двоичную СС.

3) 2 3 _ 5 _

+1 _ 6 4 2

4 2 4 2 3

Определить в какой СС написаны слагаемые и сумма.

4) Найти Х из условия 135х+250х=1х110

5) Найти Х из условия х268-1х38=34х 10

Основное содержание работы

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

Варианты заданий

Вариант

Исходная СС

Промежуточная СС

Результирующая СС

Примечание

1

2

нет

10

только целые

2

3

нет

10

только целые

3

4

нет

10

только целые

4

5

нет

10

только целые

5

8

нет

10

только целые

6

2

8

10

целые и вещественные

7

2

16

10

целые и вещественные

8

3

9

10

целые и вещественные

9

8

16

10

целые и вещественные

10

2

4

10

целые и вещественные

11

4

8

10

целые и вещественные

12

8

16

10

целые и вещественные

13

4

8

10

целые и вещественные

14

2

4, 8

10

целые и вещественные

15

2

4,16

10

целые и вещественные

16

3

нет

10, 9

целые и вещественные

17

4

нет

8, 10

целые и вещественные

18

2

нет

16, 10

целые и вещественные

19

16

нет

10,2

целые и вещественные

20

8

нет

10, 16

целые и вещественные

21

2

8, нет

10

целые и вещественные

22

2

16, нет

10

целые и вещественные

23

2

4, нет

10,16

целые и вещественные

24

4

8, нет

10,9

целые и вещественные

25

4

16, нет

10,8

целые и вещественные

Содержание отчета

  1. Постановка программы.

  2. Пример данных в исходной СС.

  3. Пример перевода исходных данных из исходной СС в результирующую.

  4. Программа.

  5. Тесты.

Лабораторная работа №2 «Работа с динамическими структурами данных (стеки, очереди, двунаправленные списки, кольца) »

ЦЕЛЬ РАБОТЫ:

Знакомство и работа с динамическими структурами данных.

Теоретические сведения.

СТЕК представляет собой линейный список с определенной дисциплиной обслуживания, которая заключается в том, что элементы списка всегда включаются, выбираются и удаляются с одного конца, называемого вершиной стека. Это обеспечивает доступ к элементам стека по принципу «последний пришел, первый ушел»(LIFO- last in, first out).

ОЧЕРЕДЬ - это такой линейный список, в который элементы включаются с одного конца, называемого хвостом очереди, а выбираются и удаляются с другого конца, называемого вершиной очереди. Дисциплина обслуживания в очереди «первым пришел, первым вышел» (FIFO- first in, first out)

В ДВУНАПРАВЛЕННОМ СПИСКЕ каждый элемент содержит адреса и последующего и предыдущего элементов:

First last

Элементы списка могут быть описаны следующим образом:

type Point = ^ item ;

item = record

number : integer;

left , right : Point;

end;

Двунаправленный список можно просматривать и от конца к началу и от начала к концу.

КОЛЬЦО - это список, последний элемент которого содержит адрес его первого элемента.

First

ВАРИАНТЫ

Написать процедуры для работы со стеком:

  1. Добавление элемента в стек;

  2. Удаление элемента из стека;

  3. Печать стека.

2.

Написать процедуры для работы с очередью:

  1. Добавление элемента в очередь;

  2. Удаление элемента из очереди;

  3. Печать очереди.

3.

Написать процедуры для работы с двунаправленным списком:

  1. Формирование списка;

  2. Печать списка слева направо;

  3. Печать списка справа налево;

  4. Удаление списка из памяти.

4

Написать процедуры для работы с кольцевым списком:

  1. Формирование списка;

  2. Печать списка слева направо, начиная с 1 ого элемента;

  3. Печать списка, начиная с К-ого элемента до К-1;

  4. Удаление списка из памяти.

5.

Написать процедуры для работы с кольцевым двунаправленным списком:

  1. Формирование списка;

  2. Печать списка слева направо, начиная с 1 ого элемента;

  3. Печать списка справа налево, начиная с последнего элемента;

  4. Удаление списка из памяти.

6.

Написать процедуры для работы с кольцевым двунаправленным списком:

  1. Формирование списка;

  2. Печать списка слева направо, начиная с К-ого элемента до К-1;

  3. Печать списка справа налево, начиная с К-ого до К+1 элемента;

  4. Удаление списка из памяти.

7.

Написать процедуры для работы со стеком:

  1. Добавление элемента в стек;

  2. Удаление элемента из стека;

  3. Просмотр элемента;

  4. Печать стека.

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

8.

Написать процедуры для работы с очередью:

  1. Добавление элемента в очередь;

  2. Удаление элемента из очереди;

  3. Просмотр элемента;

  4. Печать очереди.

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

9.

Написать процедуры для работы со стеком:

  1. Добавление элемента в стек;

  2. Удаление элемента из стека;

  3. Просмотр элемента;

  4. Печать стека.

С помощью этих процедур сформировать стек и найти в нем количество элементов, совпадающих с последним элементом стека.

10.

Написать процедуры для работы с очередью:

  1. Добавление элемента в очередь;

  2. Удаление элемента из очереди;

  3. Просмотр элемента;

  4. Печать очереди.

С помощью этих процедур сформировать очередь и найти в ней количество элементов, совпадающих с последним элементом очереди.

11.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Просматривая список слева направо, найти среднее арифметическое его элементов, просматривая список справа налево, найти количество элементов больше среднего арифметического.

12.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Найти минимальный и максимальный элементы списка и поменять их местами (менять ссылки, а не значения).

13.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Определить входит ли элемент Е в список, если таких элементов несколько, то определить число вхождений.

14.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Отсортировать список по возрастанию ключей.

15.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

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

16.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

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

17.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

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

18.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

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

19.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

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

21.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Печать списка;

Сформировать два списка L1 и L2. Проверить входит ли список L2 в список L1 и отсортировать списки по возрастанию ключей.

22.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Из файла f : file of byte записать в список только четные элементы. Отсортировать список по возрастанию ключей.

23.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Из файла f : file of real записать в список только элементы, не имеющие дробной части .Отсортировать список по возрастанию ключей.

24.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Из файла f : file of integer записать в список L1 только элементы, кратные 5, а в список L2 элементы кратные 3.Отсортировать списки по возрастанию ключей и проверить сколько элементов в списках совпадают.

25.

Написать процедуры для работы с двунаправленным списком:

  1. Добавление элемента в список;

  2. Удаление элемента из списка;

  3. Сортировка списка (при сортировке менять не значения ключей, а ссылки);

  4. Просмотр списка;

Из файла f : file of real записать в список L1 только элементы, с нечетными номерами, а в список L2 все элементы с четными номерами .Отсортировать списки по возрастанию ключей. Добавить в конец списка L1 элементы списка L2.

Соседние файлы в папке II cemecTP