PDF de programación - Filas en Pascal

Imágen de pdf Filas en Pascal

Filas en Pascalgráfica de visualizaciones

Publicado el 31 de Julio del 2017
566 visualizaciones desde el 31 de Julio del 2017
87,1 KB
6 paginas
Creado hace 10a (08/04/2014)
Ultimo Elemento

Primer elemento

Una Fila o Cola es una colección ordenada de elementos homogéneos en el que
los nuevos elementos se añaden de a uno por un extremo (el final) y se quita de a
uno por el otro extremo (el frente).
En las Filas el elemento que entró primero también sale primero.

Pilas y Filas

Filas en Pascal

- Fila de enteros

- Se identifican con un nombre

- Sólo se puede acceder al primer elemento (que es el primero que entró)

Primer elemento

5 7 8

Nombre de Fila

Auxiliar

Operaciones sobre Filas

Operaciones sobre Filas

Objetivo
Definición
Inicialización estática
Carga por teclado
Vacia? ( SI / NO)
PrimerElemento
<nro>
RecuperarElemento
AgregarElemento
MostrarElementos

<nro>

Fila
NombreFila: Fila
InicFila(NombreFila, ‘<nros>’)
ReadFila(NombreFila)
FilaVacia(NombreFila)
Primero(NombreFila)
Extraer(NombreFila)
Agregar(NombreFila, ‘<nro>’ )
WriteFila(NombreFila)

Objetivo
Definición
Inicialización estática
Carga por teclado
Vacia? ( SI / NO)
PrimerElemento
<nro>
RecuperarElemento
AgregarElemento
MostrarElementos

<nro>

Fila
NombreFila: Fila
InicFila(NombreFila, ‘<nros>’)
ReadFila(NombreFila)
FilaVacia(NombreFila)
Primero(NombreFila)
Extraer(NombreFila)
Agregar(NombreFila, ‘<nro>’ )
WriteFila(NombreFila)

Agregar(NombreFila, Extraer(NombreOtraFila )

Problema:

Program PasaElementosFila;
{Este Programa pasa los elementos de la fila Origen a Destino}

Se quieren pasar los elementos de una
Fila llamada Origen a otra Fila llamada
Destino.

uses Estructu;
var
Origen, Destino: Fila;

Begin
ReadFila(Origen);
InicFila(Destino, ' ');
While not FilaVacia(Origen) do

Agregar(Destino, Extraer(Origen));

WriteFila(Origen);
WriteFila(Destino)
end.

Problema

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen a la fila

destino hasta llegar al numero 3 }

Pasar los elementos de una Fila Origen a la

fila Destino hasta encontrar un numero 3

Uses Estructu;
Var
FilaOrigen, FilaDestino: Fila;
Begin

ReadFila(FilaOrigen);
inicFila(FilaDestino, ' ' );
while (primero(FilaOrigen) <> 3)do

Agregar(FilaDestino, extraer(FilaOrigen));

WriteFila(FilaOrigen);
WriteFila(FilaDestino);

end.

¿Es correcta la solución?

Si la FilaOrigen no tiene el 3 DA ERROR

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen a la fila destino

hasta llegar al numero 3 }

Uses Estructu;
Var
FilaOrigen, FilaDestino: Fila;
Begin

ReadFila(FilaOrigen);
inicFila(FilaDestino, ' ' );
while not Filavacia(FilaOrigen) do

If (primero(FilaOrigen) <> 3) then

Agregar(FilaDestino, extraer(FilaOrigen));

WriteFila(FilaOrigen);
WriteFila(FilaDestino);

end.

¿Es correcta la solución?

Si hay un elemento 3 no sale del ciclo.

Condiciones múltiples

Hay situaciones en que se desean evaluar
varias condiciones a la vez:

Una condición múltiple es una secuencia de
condiciones simples que se unen con
conectores lógicos.

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen
a la fila destino hasta llegar al numero 3 }

………..

Tenemos que pasar los elementos de Origen
mientras no esté vacía y no encontremos el numero
3.

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen a la fila

destino hasta llegar al numero 3 }

Uses Estructu;
Var
FilaOrigen, FilaDestino: Fila;
Begin

ReadFila(FilaOrigen);
inicFila(FilaDestino, ' ' );
while not Filavacia(FilaOrigen) and (primero(FilaOrigen) <> 3)do

Agregar(FilaDestino, extraer(FilaOrigen));

WriteFila(FilaOrigen);
WriteFila(FilaDestino);

end.

5 7 3 8

FILAORIGEN

Tablas de Verdad

Not (No)

Condición 1

Not Condición 1

Falso

Verdadero

Verdadero

Falso

5 7

3 8

FILADESTINO

FILAORIGEN

Tablas de Verdad

And (y)

Tablas de Verdad

Or (o)

Condición 1

Condición 2

Condición 1 and Condición 2

Condición 1

Condición 2

Condición 1 or Condición 2

Verdadero

Verdadero

Falso

Falso

Verdadero

Verdadero

Falso

Verdadero

Falso

Falso

Falso

Falso

Verdadero

Verdadero

Falso

Falso

Verdadero

Falso

Verdadero

Falso

Verdadero

Verdadero

Verdadero

Falso

Tablas de Verdad

Leyes de DeMorgan

Tablas de Verdad

Leyes de DeMorgan

Condición _1

Condición_ 2

Not (Condición_1 AND
Condición_2)

not Condición _1 or not Condición_2

Condición_1

Condición_1

Not (Condición _1 OR
Condición_2)

not condición_1 and not Condición_2

Verdadero

Verdadero

Falso

Verdadero

Falso

Verdadero

Falso

Falso

Verdadero

Verdadero

Falso

Verdadero

Falso

Verdadero

Verdadero

Verdadero

Verdadero

Verdadero

Falso

Verdadero

Falso

Falso

Verdadero

Falso

Falso

Falso

Falso

Falso

Falso

Falso

Verdadero

Verdadero

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen a la fila

destino hasta llegar al numero 3 }

Program PasajeParcial;
{ Este programa Pasa los elementos de la Fila origen a la fila

destino hasta llegar al numero 3 }

Uses Estructu;
Var
FilaOrigen, FilaDestino: Fila;
Begin

Uses Estructu;
Var
FilaOrigen, FilaDestino: Fila;
Begin

ReadFila(FilaOrigen);
inicFila(FilaDestino, ' ' );
while not Filavacia(FilaOrigen) and (primero(FilaOrigen) <> 3)do

Agregar(FilaDestino, extraer(FilaOrigen));

ReadFila(FilaOrigen);
inicFila(FilaDestino, ' ' );
while (primero(FilaOrigen) <> 3) and (not Filavacia(FilaOrigen))do

Agregar(FilaDestino, extraer(FilaOrigen));

WriteFila(FilaOrigen);
WriteFila(FilaDestino);

end.

WriteFila(FilaOrigen);
WriteFila(FilaDestino);

end.

¡MAL! IMPORTA EL ORDEN, no se
puede preguntar por el primer
elemento de una Fila vacía

Problema

Program ComparaCantidadElementos;
{Este programa analiza si dos filas tienen la misma cantidad de elementos. Si es así, el programa
pone el tope de la pila AUX en la pila IGUAL sino pone el tope de AUX en la Pila DISTINTO. }

• Analizar si dos filas tienen la misma

cantidad de elementos. Si es así, poner el
tope de la pila AUX en la pila IGUAL sino
poner el tope de AUX en la Pila
DISTINTO.

• Entender el problema y su objetivo
• Entender que datos se manejan
• Pensar en una estrategia para resolverlo

• Y LUEGO Codificar

Uses Estructu;
Var
Origen1, Origen2, Descarte: Fila;
Aux, Igual, Distinta: Pila;
Begin

ReadFila(Origen1);
ReadFila(Origen2);
InicFila(Descarte, ' ' );
InicPila(Aux, '1' );
InicPila(Igual, ' ' );
InicPila(Distinta, ' ' );
while not (Filavacia(Origen1)) and not (Filavacia(Origen2)) do
begin

Agregar(Descarte, extraer(Origen1));
Agregar(Descarte, extraer(Origen2));

end;
if (Filavacia(Origen1)) and (Filavacia(Origen2)) then

Apilar(Igual, Desapilar(Aux))

else

Apilar(Distinta, Desapilar(Aux));

WritePila(Igual);
WritePila(Distinta);
end.
  • Links de descarga
http://lwp-l.com/pdf5920

Comentarios de: Filas en Pascal (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad