Inicio | Artículos | Cursos | Frases | Libros | Diccionario | Presentaciones | Servicios | Videos Mapa Web | Enlazar | Contactar

CURSO DE DISEÑO DE ALGORITMOS
Introducción
¿Qué es un Algoritmo?
¿Qué es un Ordinograma?
Elementos Básicos
Tipos de Datos
Identificadores
Variables
Constantes
Operadores y Expresiones
Tipos de Datos Definidos por el Programador
Datos de Tipos Enumerados
Datos de Tipos Subrangos
Instrucciones Primitivas
Instrucción de Asignación
Instrucción de Salida
Instrucción de Entrada
Estructura de un Algoritmo
Partes de un Algoritmo
Cabecera
Declaraciones
Cuerpo
Sintaxis de un Algoritmo
Comentarios
Introducción a los Diagramas de Flujo
Asignación
Entrada y Salida
Inicio y Fin
Decisiones
Instrucciones de Control
Instrucciones Alternativas
Instrucciones Repetitivas
Instrucciones De Salto
Llamadas a Subalgoritmos
¿Qué es un Subalgoritmo?
CarlosPes.comCurso de Diseño de Algoritmos > Instrucción interrumpir

Instrucción interrumpir

¿Qué es una instrucción de control de salto interrumpir?

En pseudocódigo, para escribir una instrucción de salto interrumpir, se utiliza la sintaxis:
interrumpir
La instrucción de salto interrumpir siempre se usa para interrumpir (romper) la ejecución normal de un bucle, es decir, la instrucción interrumpir finaliza (termina) la ejecución de un bucle y, por tanto, el control del programa se transfiere (salta) a la primera instrucción después del bucle.

Ejemplo 1: Estúdiese el siguiente algoritmo:
algoritmo Numeros_opuestos_del_menos_10_al_mas_10

variables
   entero n, a

inicio
   a ← 0
   hacer
      escribir( "Introduzca un número entero: " )
      leer( n )
      si ( n = 0 )
         escribir( "ERROR: El cero no tiene opuesto." )
         interrumpir
         /* En el caso de que n sea un cero,
            el bucle se interrumpe. */
      fin_si
      escribir( "El opuesto es: ", -n )
      a ← a + n
   mientras ( n >= -10 y n <= 10 )
   escribir( "Suma: ", a )
fin
El algoritmo puede ser la solución del problema siguiente:

Diseñe el agoritmo de un programa que:

1º) Pida por teclado un número (dato entero).
2º) Si el número introducido por el
usuario es distinto de cero, muestre por pantalla el mensaje:

"El opuesto  es: <-número>".

3º) Repita los pasos 1º y 2º, mientras que, el usuario introduzca un número mayor o igual que -10 y menor o igual que 10.
Pero, si el usuario introduce un cero, el bucle también finaliza, mostrándose por pantalla el mensaje:

"ERROR: El cero no tiene opuesto.".

4º) Muestre por pantalla la suma de los números introducidos por el usuario.

En pantalla:
Introduzca un número entero: 15
El opuesto es: -15
Suma: 15
La traza del algoritmo es:
Traza algoritmo que muestra números opuestos
El bucle ha finalizado porque la condición ( n >= -10 y n <= 10 ) es falsa, ya que, 15 no es mayor o igual que -10 y menor o igual que 10.

Sin embargo, el bucle también puede finalizar, no porque sea falsa la condición  ( n >= -10 y n <= 10 ), sino, porque se ejecute la instrucción interrumpir. Esto ocurrirá cuando el usuario introduzca un cero. Por ejemplo:
Introduzca un número entero: 8
El opuesto es: -8
Introduzca un número entero: -7
El opuesto es: 7
Introduzca un número entero: 0
ERROR: El cero no tiene opuesto.
Suma: 1
La traza en este caso es:
Traza de una Instrucción de Salto interrumpir
Normalmente, cuando en un bucle se utiliza una instrucción interrumpir, la ejecución de ésta se condiciona.

En el ejemplo 1, el bucle se interrumpe si la condición ( n = 0 ) es verdadera. Nótese que, dicha condición no está contemplada en la condición de salida estándar del bucle, por lo que, a la condición ( n = 0 ) se le considera condición de salida interna del bucle.

Ejemplo 2: No obstante, el problema también se puede resolver sin hacer uso de la instrucción interrumpir:
algoritmo Numeros_opuestos_del_menos_10_al_mas_10

variables
   entero numero, acumulador

inicio
   acumulador ← 0
   hacer
      escribir( "Introduzca un número entero: " )
      leer( numero )
      si ( numero = 0 )
         escribir( "ERROR: El cero no tiene opuesto." )
      sino
         escribir( "El opuesto es: ", -numero )
         acumulador ← acumulador + numero
      fin_si
   mientras ( numero >= -10 y numero <= 10 y
              numero <> 0 )
   escribir( "Suma: ", acumulador )
fin
Obsérvese que, en este algoritmo, sí se contempla en la condición de salida del bucle la posibilidad de que el usuario teclee un cero, en cuyo caso, el bucle deja de iterar de forma natural.

Los resultados por pantalla de este algoritmo son idénticos a los del algoritmo anterior.
Artículos Interesantes
Artículos de Desarrollo Web
Artículos de Informática
Artículos de Programación
Artículos de SEO
Cursos de Informática
Curso de Diseño de Algoritmos
Curso de Informática Básica
Curso de Ingeniería del Software
Curso de Lenguaje C
Curso de Marketing en Internet
Curso de Turbo Pascal
Curso de Representación de los Datos
Curso de SEO
Curso para Webmasters
Curso Web 2.0
Enlaces Web
Libros de Carlos Pes
36 Pasos Básicos para Desarrollar un Sitio Web
Empezar de Cero a Programar en Lenguaje C
Libros Recomendados
Libros de Analítica Web
Libros de Desarrollo Web
Libros de Java
Libros de Lenguaje C
Libros de Marketing Online
Libros de Pascal (Turbo Pascal)
Libros de SEO
Libros de Visual Basic
Recursos de Informática
Diccionario de Informática
Ejercicios de Programación
Guías de uso de Software
Sintaxis de Lenguajes de Programación
Frases y Citas
Frases de Amistad
Frases de Amor
Frases de Belleza
Frases de Ciencia
Frases de Éxito
Presentaciones Educativas
Recursos Educativos
Servicios
Desarrollo de Sitios Web
Diseño Web
Aplicaciones Web
Marketing Online
Formación y Conferencias
Consultoría
Videos Educativos
Directorio de Enlaces Web
Acerca de Carlos Pes
Bibliotecas
Colaboradores
Contactar
Enlazar
Librerías
Perfiles en Internet
Mapa Web
Blog de Carlos Pes Blog de Carlos Pes
© 2006-2012 CarlosPes.com