ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

La Problemática Del Uso Racionalizado Del Agua

AFRODITAa124 de Octubre de 2013

1.085 Palabras (5 Páginas)340 Visitas

Página 1 de 5

Aclaración :

“:” = Del tipo

“->” = Es similar a Objeto.metodo

1. Escriba un programa que dada una lista que contiene números, la divida en dos listas independientes. Una formada por los números positivos y otra formada por los números negativos.

Inicio programa

//Diagrama de tipos (TDA)

TDato:int

TLista:Registro

cab:Puntero

actual:Puntero

Fin Registro

Puntero->Nodo //Puntero a nodo

Nodo:Registro

info:Tdato

sig:Puntero

Fin Registro

Variables:

LPos:TLista // Lista de Positivos

LNeg:TLista // Lista de negativos

Procedimiento(L:TLista)

Si L->cab = null entonces

mensaje ("La lista esta vacía")

Si no

// si no es null trato el 1° elemento por separado y luego recorro la lista.

L->actual = L->cab //Igualo el puntero actual al puntero cab para asegurarme

el principio de la lista.

//Asumo que hay espacio en memoria para crear las dos listas:

Lcrear(LNeg) //crear lista vacia

Lcrear(LPos) //crear lista vacia

Si L->actual->info < 0 entonces

LinsertarFin(LNeg , L->actual->info) //Crear Nodo y cargar el dato

Si no

//Considero al cero como numero +

LinsertarFin(LPos , L->actual->info) //Crear Nodo y cargar el dato

Fin si

Mientras L->actual->sig <> null hacer

L->actual = L->actual->sig

Si L->actual->info < 0 entonces

LinsertarFin(LNeg , L->actual->info) //Crear Nodo y cargar el dato

Si no

//Considero al cero como numero +

LinsertarFin(LPos , L->actual->info) //Crear Nodo y cargar el dato

Fin si

Fin Mientras

Fin Si

Lcrear(LNeg:TLista) //Crea Listas.

LNeg->cab = NULL

Fin Lcrear

LinsertarFin(L:TLista , D:Tdato) //Esta funcion es la que Crea los dos listas nuevas.

N*Nodo

AUX*Nodo

CrearNodo(N, D)

Si L->cab = NULL //La lista esta vacia:

L->cab = N

Si no

AUX = L->cab

Mientras AUX->sig <> NULL hacer

AUX = AUX->sig

Fin Mientras

AUX->sig = N

Fin Si

Fin LinsertarFin

CrearNodo(N*Nodo, D:Tdato) //Crea un nodo y tambien lo inicializa con un dato.

N->info = D

N->sig = NULL

Fin CrearNodo

/*

Esta funcion no la uso:

TengoEspacio() int //Averiguo si hay espacio en memoria para crear la lista

Le paso la estructura de la lista a crear

N*Nodo //Puntero a nodo "Nodo"

int

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com