elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:33  


Tema destacado: Últimos eventos sobre seguridad/inseguridad

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL  (Leído 1,536 veces)
manu3742

Desconectado Desconectado

Mensajes: 20


Ver Perfil
AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
« en: 25 Abril 2011, 11:46 »

hola de nuevo y gracias por leer este mensaje y por la ayuda que me podais dar.

Tengo que hacer un procedimiento para dar de alta libros, sobre una tabla de 50 libros o más. Las altas se tienen que hacer de una en una. NO todas de golpe.

Con esto el algoritmo sería:

Todas las posiciones de la tabla en las que el campo ALTA sea TRUE, es que estan ocupadas.

Todas en las que ALTA sea FALSE estan libre.

buscar una posición libre.

ALGORITMO:

encontrado=false (cuando sea true es que he encontrado la posicion)
posicionlibre=1 (empiezo a buscar por la uno)
indice=1 (para ir recorriendo la tabla)
fin=false (he llegado al final de la tabla)
mientras encontrado sea false y fin sea false hacer (salgo del bucle si
encuentro una posición libre o llego al final de la tabla)
   si tabla[indice].alta es false
en caso de que la posicion indice esté libre (el campo alta es false)
      encontrado=true y posicionlibre=indice
   else
      if(indice es distinto de tamcoleccion) es decir si todavía no he
llegado al final
         indice=indice+1
      else
          fin=true (he llegado al final y lo indico con fin)
fin mientras
salgo del bucle si he llegado al final sin encontrar posicion libre, en
ese caso fin vale true o si he encontrado una posicion libre, en ese caso
encontrado vale true
entonces ya se lo que tengo que hacer en cada caso:
si fin=true
  mostrar mensaje "No hay sitio en la tabla para más libros"
si encontrado=true
  leer datos del libro y meterlos en la posición posicionlibre

hasta dónde yo comprendo he realizado el siguiente código:

Código
Procedure alta_libro(biblioteca: Tbiblioteca; longitud: integer);
 
var
 
i : integer;
encontrado: boolean;
posicionlibre : real;
indice: real;
fin : boolean;
 
begin
 
While(encontrado = false ) AND (fin = false) do
 
  Begin
 
    while (encontrado = false) and (fin = false) do
 
       begin
 
          if bilbioteca[i].alta = false then
          encontrado = true;
          posicionlibre = indice;
 
          else
 
          if indice <> TAMBIBLIOTECA THEN
          indice = indice +1;
 
          else
 
            fin = true;
          end;
 
    end;
 
    begin
 
      if fin = true then
      writel('No hay sitio en la tabla para los libros');
      if encontrado = true then
 
leer datos del libro y meterlos en la posición libre.
 
 

Necesito saber si el código esta bien interpretado y cual me falta es lo último que me queda y la primera vez que hago un procedimiento igual.

un saludo y muchísimas gracias en lo que me podais ayudar.


En línea
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
« Respuesta #1 en: 25 Abril 2011, 14:58 »

manu3742, abriste 3 hilos para resolver el mismo problema, si la gente no te contesta, no abras más hilos.

http://foro.elhacker.net/programacion_general/ayuda_procedimiento_pascal-t325199.0.html
http://foro.elhacker.net/programacion_general/procedimiento_para_dar_de_baja_un_registro_en_pascal-t324849.0.html


« Última modificación: 25 Abril 2011, 21:29 por Khronos14 » En línea

manu3742

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
« Respuesta #2 en: 25 Abril 2011, 16:13 »

puedes eliminar mis peticiones y mi cuenta?
Gracias,  adios
En línea
el-viejo


Desconectado Desconectado

Mensajes: 1.257



Ver Perfil WWW
Re: AYUDA.PROCEDIMIENTO PARA DAR DE ALTA. PASCAL
« Respuesta #3 en: 25 Abril 2011, 17:44 »

puedes eliminar mis peticiones y mi cuenta?

De verdad quieres hacer eso? Ve a tu perfil que por ahi tienes tu opcion.

saludos...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Procedimiento matriz simetrica pascal
Programación General
Bretuor 2 1,661 Último mensaje 14 Enero 2006, 11:01
por Bretuor
ejercicio Pascal, ayuda para terminarlo « 1 2 »
Programación General
manu3742 16 2,208 Último mensaje 6 Abril 2011, 20:40
por el-viejo
procedimiento para dar de baja un registro en Pascal
Programación General
manu3742 3 1,141 Último mensaje 20 Abril 2011, 13:06
por manu3742
Ayuda procedimiento Pascal
Programación General
manu3742 3 522 Último mensaje 20 Abril 2011, 17:48
por manu3742
Pascal para Linux
GNU/Linux
M33RK4T 2 143 Último mensaje 19 Mayo 2012, 11:07
por Seaworth
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines