Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Curso de Ada - Llamadas a punto de entrada complejas

Curso de Ada - Llamadas a punto de entrada complejas

 ****- (10 opiniones)
GNU Free Documentation License Curso gratis de José Alfonso Malo Romero - 16 de Marzo de 2006
Temas Relacionados: Programación estructurada
56. Llamadas a punto de entrada complejas
A veces, interesa que una llamada a un punto de entrada de una tarea cumpla unos requisitos. Esto es debido a que se puede bloquear el proceso que realiza la llamada y puede ser interesante disponer de métodos para desbloquearlo si no se cumplen unas determinadas condiciones.

La sentencia select, además de servir como selección de aceptaciones de puntos de entrada dentro del cuerpo de la tarea que los contiene, también proporciona mecanismos para seleccionar el comportamiento de las llamadas a puntos de entrada. Su sintaxis es la siguiente:

llamada_a_punto_de_entrada_compleja ::= llamada_a_punto_de_entrada_con_tiempo_límite | llamada_a_punto_de_entrada_condicional | llamada_a_punto_de_entrada_asíncrona llamada_a_punto_de_entrada_con_tiempo_límite ::= select identif_p_entrada [ ( tipo | rango ) ] [ ( parámetro { , parámetro } ) ] ; [ secuencia_de_sentencias ] or delay [ until ] expresión ; [ secuencia_de_sentencias ] end select ; llamada_a_punto_de_entrada_condicional ::= select identif_p_entrada [ ( tipo | rango ) ] [ ( parámetro { , parámetro } ) ] ; [ secuencia_de_sentencias ] else secuencia_de_sentencias end select ; llamada_a_punto_de_entrada_asíncrona ::= select ( identif_p_entrada [ ( tipo | rango ) ] [ ( parámetro { , parámetro } ) ] ; ) | ( delay [ until ] expresión ; ) [ secuencia_de_sentencias ] then abort secuencia_de_sentencias end select ;

Tipos de punto de entrada


Como puede apreciarse, hay tres posibles llamadas a puntos de entrada a parte de la simple, éstas son: llamada con tiempo límite, llamada condicional y transferencia asíncrona.

Llamada con tiempo límite


Llama a un punto de entrada que es cancelado si no se produce la aceptación antes de que finalice un plazo de tiempo. Ejemplo:

select Controlador.Petición (Medio) (Elem); or delay 50.0; Put ("Controlador demasiado ocupado."); end select;

Llamada condicional


Llama a un punto de entrada que es cancelada si no es aceptada inmediatamente, es decir, tiene un tiempo límite nulo. Ejemplo:

select Procesado.Aviso; else raise Error; end select;

Transferencia asíncrona


Proporciona la transferencia asíncrona de control cuando se acepte la llamada a un punto de entrada o se cumpla un plazo de tiempo, mientras se esté ejecutando una secuencia de sentencias. Es decir, si se acepta la llamada al punto de entrada o cumple el plazo, se abortan las sentencias que se estuvieran ejecutando. Ejemplo:

select delay 5.0; raise FunciónNoConverge; then abort Función_recursiva (X, Y); end select;

Manual de referencia de Ada


Tabla de contenidos
  1. 1 - Introducción
  2. 2 - Historia
  3. 3 - Manual de referencia
  4. 4 - Instalación
  5. 5 - Hola Mundo
  6. 6 - Elementos del lenguaje
  7. 7 - Tipos
  8. 8 - Enteros
  9. 9 - Enumeraciones
  10. 10 - Coma flotante
  11. 11 - Coma fija
  12. 12 - Arrays
  13. 13 - Strings
  14. 14 - Registros
  15. 15 - Registros discriminados
  16. 16 - Registros variantes
  17. 17 - Punteros a objetos
  18. 18 - Punteros a subprogramas
  19. 19 - Tipos derivados
  20. 20 - Tipos etiquetados (orientación a objetos)
  21. 21 - Subtipos
  22. 22 - Objetos (variables y constantes)
  23. 23 - Atributos
  24. 24 - Expresiones
  25. 25 - Operadores
  26. 26 - Sentencias y estructuras de control
  27. 27 - Subprogramas
  28. 28 - Sobrecarga
  29. 29 - Entrada/salida
  30. 30 - Pragmas
  31. 31 - Interfaz con otros lenguajes
  32. 32 - Diseño y programación de sistemas grandes
  33. 33 - Paquetes
  34. 34 - Clausula use
  35. 35 - Clausula with
  36. 36 - Paquete Standard
  1. 37 - Declaraciones
  2. 38 - Ámbito
  3. 39 - Visibilidad
  4. 40 - Renombrado
  5. 41 - La biblioteca Ada (unidades y subunidades)
  6. 42 - Unidades de biblioteca
  7. 43 - Unidades hijas
  8. 44 - Subunidades
  9. 45 - Compilación separada y dependiente
  10. 46 - Tipos abstractos de datos
  11. 47 - Tipos limitados
  12. 48 - Unidades genéricas
  13. 49 - Excepciones
  14. 50 - Paquete Ada.Exceptions
  15. 51 - Concurrencia
  16. 52 - Tareas
  17. 53 - Sincronización de tareas mediante puntos de entrada o citas (entry)
  18. 54 - Aceptación de citas (accept)
  19. 55 - Selección de citas (select)
  20. 56 - Llamadas a punto de entrada complejas
  21. 57 - Tareas dinamicas: creación dinamica de tareas (tipos t
  22. 58 - Dependencia de tareas
  23. 59 - Ejemplos de tareas
  24. 60 - Programación distribuida con GLADE
  25. 61 - Novedades de Ada 2005
  26. 62 - Unidades predefinidas
  27. 63 - Paquete Ada.Strings.Fixed
  28. 64 - Paquete Ada.Strings.Unbounded
  29. 65 - Paquete Ada.Text_IO
  30. 66 - Paquete Ada.Text_IO.Editing
  31. 67 - Paquete Ada.Float_Text_IO
  32. 68 - Paquete Ada.Sequential_IO
  33. 69 - Paquete Ada.Command_Line
  34. 70 - Paquete Interfaces
  35. 71 - Recursos en la Web
Autor y licencia de 'Curso de Ada - Llamadas a punto de entrada complejas'
José Alfonso Malo Romero Extraído de: http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Ada_/_Introducci%C3%B3n GNU Free Documentation License
El contenido está disponible bajo los términos de GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Curso de Ada - Llamadas a punto de entrada complejas'

Un punto de equilibrio dinámico es aquel que cambia con el tiempo y en donde... Más »
Excelente curso de iniciación a la astronomía para aquellos que quieran aprender sobre esta apasionante... Más »
Este es un curso tremendamente completo, guiado y con ejemplos y prácticas pensadas para convertirlo... Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Gente Wiki
Lisandro Daniel Hernández Barrero
Administrador de redes - cisco ccna - actualmente cursando estudios para la certificacion de maestro programador en tecnologias de negocios en...
Protección de datos
Cristina Laird
Astróloga, psicoterapeuta y psicodramatista. Especialista en psicoastrología y astrología arquetípica. 25 años de práctica astrológica con estudios en el centro...
Froilàn Sudario Remigio
Soy profesor de lengua y literatura, ciencia religiosas egresado de la u. Champagnat. Participo en grupo parroquìal en sjm. Tengo...
Historia, Historia de la literatura,...
Carlos Raul Lopez Reatiga
Soy maestro en el centro de estudio de idiomas de la universidad autónoma de sinaloa, méxico. Imparto la materia de...
Fero
Soy profesor de educación secundaria en méxico df y me interesa conocer sobre diferentes temas que resulten de interés para...
Cine, Filología,...
Anier
De nacionalidad cubana, graduado en la universidad medica de la habana como licenciado en enfermeria, con diplomados en salud publica,...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?