elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  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 4,758 veces)
manu3742

Desconectado Desconectado

Mensajes: 20


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

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
  1. Procedure alta_libro(biblioteca: Tbiblioteca; longitud: integer);
  2.  
  3. var
  4.  
  5. i : integer;
  6. encontrado: boolean;
  7. posicionlibre : real;
  8. indice: real;
  9. fin : boolean;
  10.  
  11. begin
  12.  
  13. While(encontrado = false ) AND (fin = false) do
  14.  
  15.   Begin
  16.  
  17.     while (encontrado = false) and (fin = false) do
  18.  
  19.        begin
  20.  
  21.           if bilbioteca[i].alta = false then
  22.           encontrado = true;
  23.           posicionlibre = indice;
  24.  
  25.           else
  26.  
  27.           if indice <> TAMBIBLIOTECA THEN
  28.           indice = indice +1;
  29.  
  30.           else
  31.  
  32.             fin = true;
  33.           end;
  34.  
  35.     end;
  36.  
  37.     begin
  38.  
  39.       if fin = true then
  40.       writel('No hay sitio en la tabla para los libros');
  41.       if encontrado = true then
  42.  
  43. leer datos del libro y meterlos en la posición libre.
  44.  
  45.  

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: 443


A lie is a lie


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

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 pm 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 pm »

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

d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



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

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

Max 400; caracteres restantes: 366
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con procedimiento
Programación Visual Basic
4D1cTo 8 3,311 Último mensaje 19 Febrero 2008, 03:54 am
por Chefito
ejercicio Pascal, ayuda para terminarlo « 1 2 »
Programación General
manu3742 16 9,724 Último mensaje 6 Abril 2011, 20:40 pm
por d(-_-)b
procedimiento para dar de baja un registro en Pascal
Programación General
manu3742 3 4,843 Último mensaje 20 Abril 2011, 13:06 pm
por manu3742
Ayuda procedimiento Pascal
Programación General
manu3742 3 2,820 Último mensaje 20 Abril 2011, 17:48 pm
por manu3742
Pascal para Linux
GNU/Linux
M33RK4T 2 2,523 Último mensaje 19 Mayo 2012, 11:07 am
por Seaworth
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines