Отчет по лабораторной работе 6 Контрольные вопросы 6




Скачать 126.35 Kb.
НазваниеОтчет по лабораторной работе 6 Контрольные вопросы 6
Дата публикации29.06.2013
Размер126.35 Kb.
ТипОтчет
litcey.ru > Информатика > Отчет


ОГЛАВЛЕНИЕ

Общие указания к выполнению лабораторной работы 2

Цель работы 2

Постановка задачи 2

Последовательность выполнения 2

Методический пример 2

Отчет по лабораторной работе 6

Контрольные вопросы 6

Литература 8

Общие указания к выполнению лабораторной работы



Лабораторные работы выполняются на персональных компьютерах в операционной среде Windows с установленной системой Borland C++. Указания по технике безопасности совпадают с требованиями, предъявляемыми к пользователю ЭВМ. Другие опасные и вредные факторы отсутствуют.

^

Цель работы



Целью лабораторной работы является ознакомление с методами работы с динамическими элементами с использованием структур.
^

Постановка задачи


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

^

Последовательность выполнения



Для выполнения лабораторной работы «Освоение работы с динамическими элементами(списки) с использованием структур.» необходимо:

  1. Ознакомиться с основными элементами теории создания списков и использования данных, типа структура, для их создания.

  2. В соответствии с заданным вариантом написать программу, решающую конкретную задачу.

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

^

Методический пример



Задание: создать 2 двунаправленный список элементов целого типа и поиск в них чисел соответствующих числу введенному с клавиатуры. Если такие числа есть в первом списке, то они добавляются в конец второго списка, и наоборот.
#include

#include

#include

#include

void main()

// объявление структуры элемента списка

// и указателей на требуемые элементы

struct el { struct el* pred;

int ELEM;

struct el* posl;

}

EL1,*pTEK,*pPRED,*temp, *pSTART1,*pEND1,*pSTART2,*pEND2;

int i,z,flag=0;

clrscr();

// бесконечный цикл для ввода элементов первого списка

// так как количество элементов неизвестно

for(;;)

{

cout<<"\nввести элемент?";cin>>z;

if (z<1) break;

pTEK=(struct el*)(malloc(sizeof(EL1))); //выделенная память //заносится в указатель

//на текущий элемент

cout<<" \nэлемент=";cin>>pTEK->ELEM; //первоначальное

//опреде-

pTEK->pred=0; //ление полей элемента

pTEK->posl=0; // списка

//при создании первого элемента сохраняются соответствующие адреса

if(flag==0){pSTART1=pTEK;pPRED=pTEK;

pEND1=pTEK;flag=1; continue;}

pPRED->posl=pTEK; // заполнение полей

pTEK->pred=pPRED; // элементов списка

pEND1=pPRED=pTEK; // изменение указателей на конец списка // и предыдущий элемент

}

// вывод на экран первого списка

pTEK=pSTART1;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

cout<<"\nадрес кон элем:"<


// бесконечный цикл для ввода элементов второго списка

// так как количество элементов неизвестно

flag=0;

for(;;){

cout<<"\n ввести элемент:";cin>>z;

if (z<1) break;

pTEK=(struct el*)(malloc(sizeof(EL1)));

cout<<"\n элемент=";cin>>pTEK->ELEM;

pTEK->pred=0;

pTEK->posl=0; if(flag==0){pSTART2=pTEK;pPRED=pTEK;pEND2=pTEK;flag=1;

continue;}

pPRED->posl=pTEK;

pTEK->pred=pPRED;

pEND2=pPRED=pTEK;

}

// вывод на экран второго списка

pTEK=pSTART2;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

cout<<"\nадрес кон элем:"<


int ch,d;

cout<<"\nВвести число для проверки ";

cin>>ch;

// поиск искомого числа в первом списке и добавление его

// в конец второго списка

flag=0; //flag указание на начало работы с первым эл

pTEK=pSTART1;

for(;;){

temp=pTEK->posl; // в temp хранится адрес послед элем списка

// что требуется для выхода из цикла

if(pTEK->ELEM!=ch)

if (temp==0) break;

{pTEK=pTEK->posl;flag=1;

continue;}

if(flag==0)pSTART1=pTEK->posl;//если начальный элемент списка

//удаляется то изменяется

//начальный адрес списка ((pTEK->pred)->posl)=(pTEK->posl); // перезапися адресов впер-

((pTEK->posl)->pred)=(pTEK->pred); // вом списке

pEND2->posl=pTEK; //добавлениеэлемента в

pTEK->posl=0; // конец второго списка, и

pTEK->pred=pEND2; // настройка

//соответствующих

pEND2=pTEK; // полей элем

pTEK=temp; // занесение в указатель

// адреса след элем

// вывод на экран первого списка

cout<<"\n--------------------------";

pTEK=pSTART1;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

// вывод на экран второго списка

pTEK=pSTART2;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

cin>>d;

/* добавление в первый список */

flag=0;

pTEK=pSTART2;

for(;;)

temp=pTEK->posl;

if(pTEK->ELEM!=ch)

if (temp==0) break;

pTEK=pTEK->posl;flag=1;

continue;

if(flag==0)pSTART2=pTEK->posl;

((pTEK->pred)->posl)=(pTEK->posl);

((pTEK->posl)->pred)=(pTEK->pred);

pSTART1->pred=pTEK;

pTEK->pred=0;

pTEK->posl=pSTART1;

pSTART1=pTEK;

pTEK=temp;

cout<<"\n--------------------------";

pTEK=pSTART1;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

pTEK=pSTART2;

cout<<"\nадрес нач элем:"<


do

cout<<"\n "<
pred<<" "<
ELEM<<" "<
posl;

pTEK=pTEK->posl;

while(pTEK!=0);

^

Отчет по лабораторной работе



Отчет оформляется в соответствии с требованиями, предъявляемыми к оформлению лабораторных работ в вузе (возможен электронный вид), и должен содержать:

  1. Титульный лист

  2. Наименование и цель работы.

  3. Исходные данные варианта задания.

  4. Распечатка готового программного продукта



^

Контрольные вопросы


    1. Что собой представляет динамическая память.

    2. Как динамическая память выделяется и освобождается.

    3. Может быть элементом списка двумерный массив чисел, если под него тоже динамически выделяется память.

    4. Может быть элементом списка структура, если под нее тоже динамически выделяется память.

    5. Может быть элементом списка динамический список.

    6. Что собой представляет кольцевой список.

    7. Что собой представляет двунаправленный список.

    8. Что собой представляет структура?

    9. Что может являться элементами структуры?

    10. Как осуществляется доступ к динамическим элементам структуры?

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




Тип списка

Элемент списка

Действия

Создать список из соответствующих элементов

1

однонаправленный

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуре ,и удалить ее.

2

двунаправленный

вещественное

Найти вещественное число по числу, введенному с клавиатуры,и удалить его.

3

Однонаправленный кольцевой

целое

Найти целое число по числу, введенному с клавиатуры и удалить его.

4

Двунаправленный кольцевой

символ

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

5

однонаправленный

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуре ,и после нее добавить новую строку.

6

двунаправленный

вещественно

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

7

Однонаправленный кольцевой

целое

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

8

Двунаправленный кольцевой

символ

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

9

однонаправленный

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуре ,и заменить ее новой строкой.

10

двунаправленный

вещественное

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

11

Однонаправленный кольцевой

целое

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

12

Двунаправленный кольцевой

символ

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

13

однонаправленный

символ

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

14

двунаправленный

целое

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

15

Однонаправленный кольцевой

вещественное

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

16

Двунаправленный кольцевой

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуре ,и заменить ее новой строкой.

17

однонаправленный

символ

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

18

двунаправленный

целое

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

19

Однонаправленный кольцевой

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуре ,и после нее добавить новую строку.

20

Двунаправленный кольцевой

символ

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

21

однонаправленный

вещественно

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

22

двунаправленный

целое

Найти целое число по числу, введенному с клавиатуры и удалить его.

23

Однонаправленный кольцевой

вещественное

Найти вещественное число по числу, введенному с клавиатуры, и удалить его.

24

Двунаправленный кольцевой

Строка из 10 символов

Найти строку символов по строке, введенной с клавиатуры ,и удалить ее.


Литература


  1. Керниган Б., Ритчи Д., Фьюэр А. “Язык программирования Си”.-М.: Финансы и статистика, 1985.

  2. “Турбо Си” Руководство пользователя Borland International, Inc, 1987

  3. Фейсон Т. “Объектно-ориентированное программирование на Borland C++”-Киев: “Диалектика”, 1996.

  4. Подбельский В.В, “Язык Си++”: Уч. Пособие для вузов 3-изд., Москва, 1996.


 А.А. Мерсов, составление, оформление, 2002

 МГАПИ, 2002
Оригинал-макет подготовлен в Microsoft Word2000



Похожие:

Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе 4 Контрольные вопросы 4
Лабораторные работы выполняются на персональных компьютерах в операционной среде Windows с установленной системой Borland C++. Указания...
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №2 «Исследование диодных схем» по дисциплине «Электроника»
Подготовиться к лабораторной работе, т е знать и понимать процессы, происходящие в исследуемых схемах
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №15 по дисциплине "Программирование...
Отчет по лабораторной работе №15 по дисциплине "Программирование на языке высокого уровня"
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №1 По дисциплине «Название дисциплины»

Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе должен содержать номер, название, цель...
Основным носителем информации является файл. Файлы организованы в системе не хаотическим образом, а виде определенной структуры,...
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №
«освоение технологии реализации позиционных, линейных коллекций на примере атд "список"»
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчёт По лабораторной работе м-04 «Изучение законов равноускоренного движения»
Цель работы: Изучение динамики поступательного движения связанной системы тел с учётом силы трения: оценка силы трения как источника...
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №2 по курсу «Электроника»
Овладеть методикой снятия вольт-амперных характеристик (вах) нелинейных элементов
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №4 по дисциплине электроника “
Что должно быть получено в результате его выполнения (прогнозируемый результат)?
Отчет по лабораторной работе 6 Контрольные вопросы 6 iconОтчет по лабораторной работе №4 по дисциплине электроника исследование
Что должно быть получено в результате его выполнения (прогнозируемый результат)?
Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
litcey.ru
Главная страница