Inicio | Artículos | Biografías | Cursos | Entrevistas | Frases | Libros | Diccionario | Presentaciones | Servicios | Videos | Mapa Web | Enlazar | Contactar | Acerca de


CURSO/TUTORIAL 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?
Subprogramas
Procedimientos
Declaraciones Locales y Globales
Parámetros
Funciones
Representación mediante Diagramas de Flujo
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/Tutoriales de Informática
Curso/Tutorial de Algoritmos
Curso/Tutorial de Informática Básica
Curso/Tutorial de Ingeniería del Software
Curso/Tutorial de Lenguaje C
Curso/Tutorial de Marketing en Internet
Curso/Tutorial de Turbo Pascal
Curso/Tutorial de Representación de los Datos
Curso/Tutorial para Webmasters
Curso/Tutorial Web 2.0
Curso de SEO
Libros de Carlos Pes
36 Pasos Básicos para Desarrollar un Sitio Web
Empezar de Cero a Programar en Lenguaje C
Fundamentos del SEO
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
Biografías
Entrevistas
Frases y Citas
Recursos Educativos
Presentaciones Educativas
Videos Educativos
Enlaces Web
Servicios
Desarrollo de Sitios Web
Diseño Web
Aplicaciones Web
Marketing Online
Formación y Conferencias
Consultoría
Acerca de Carlos Pes
Bibliotecas
Colaboradores
Contactar
Enlazar
Librerías
Perfiles en Internet
Mapa Web
Blog de Carlos Pes Blog de Carlos Pes
Google+ CarlosPes.Com en Google+
© 2006-2017 CarlosPes.com