1
PROGRAMACIÓN I
UNIDAD IV
ESTRUCTURAS BÁSICAS DE
PROGRAMACIÓN
4.1. INTRODUCCIÓN
A medida que un programa aumenta de tamaño, aumenta a su vez la complejidad para
leerlo, su tiempo de desarrollo, de mantenimiento, disminuyendo su calidad si no se
mantiene un correcto orden y estructura del programa.
Es por esto que surgió un paradigma de programación llamado Programación
estructurada, que consiste en mejorar la claridad, calidad y acelerar el tiempo de
desarrollo, utilizando únicamente subrutinas y tres estructuras de control: Secuencial,
de Selección y de Iteración.
4.2. ESTRUCTURAS SECUENCIALES
La forma de resolver problemas involucra un conjunto de actividades
simples y complejas. La forma más sencilla de resolver los mismos
es sin pensar en las posibles situaciones que pudieran darse al
realizar una acción determinada; es decir, resolver el problema de
manera secuencial, una acción tras otra, corresponde a la
programación estructurada y una de las primeras formas de
programar es enfrentando a la programación con estructuras
secuenciales.
2
PROGRAMACIÓN I
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra
en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada
de la siguiente y así sucesivamente hasta el fin del proceso.
Se representa gráficamente como una caja después de otra, ambas con una sola
entrada y una única salida.
4.3. ESTRUCTURAS CONDICIONALES
Las estructuras de control selectivas en un lenguaje de programación son tan
importantes ya que su uso adecuado define la calidad de un programa.
Son tipos fundamentales de instrucciones que una computadora es capaz de
reconocer, manipular y ejecutar.
Las estructuras selectivas se utilizan para tomar decisiones, donde se evalúa una
condición y en función del resultado se realiza una opción u otra. Las condiciones se
especifican usando expresiones lógicas
También son conocidas como la estructura si verdadero - falso, plantea la selección
entre dos alternativas con base en el resultado de la evaluación de una condición;
equivale a la instrucción IF de todos los lenguajes de programación y se representa
gráficamente de la siguiente manera:
3
PROGRAMACIÓN I
Las estructuras condicionales se clasifican en:
• Estructura condicional simple
• Estructura condicional doble
• Estructura condicional múltiple
4.3.1. ESTRUCTURA CONDICIONAL SIMPLE
Hace uso de las palabras si-entonces. Evalúa una determinada condición. Si es
verdadera ejecuta una acción o un conjunto de acciones y si la condición es falsa no
hace nada.
Observe en la figura el formato general en las herramientas de programación.
4
PROGRAMACIÓN I
Ejemplo
1. Realizar el análisis, diagrama de flujo, diagrama nassi, pseudocódigo y programa en
C++ que permita leer una nota de un estudiante por teclado para determinar si la nota
es de aprobación.
Solución
Análisis del problema
Cantidad = 3
Entrada
Tipo = real
QUÉ
Cantidad = 1
Salida
Tipo = real
Cómo Algoritmo
1. Inicio
2. leer nota
3. si (nota>=61)
escribir(“Aprobado”)
4. fin
5
PROGRAMACIÓN I
Diagrama de flujo en DFD
Diagrama Nassi
Pseudocódigo
Pseudocódigo Principal
Inicio real Nota
leer Nota
si(Nota>=61)
escribir "Aprobado"
Fin
6
PROGRAMACIÓN I
Programa
Ejecución
4.3.2. ESTRUCTURA CONDICIONAL DOBLE
Hace uso de las palabras si-entonces-sino. Surge a causa de la limitación de la
estructura simple Evalúa una determinada condición. Si es verdadera ejecuta una
acción o un conjunto de acciones y si la condición es falsa ejecuta otra acción o
conjunto de acciones.
Observe en la figura el formato general en las herramientas de programación.
7
PROGRAMACIÓN I
Ejemplo #1: Realizar el análisis, diagrama de flujo, diagrama nassi, pseudocódigo y
programa en C++ que permita determinar si un número entero leído por teclado es
positivo o negativo utilizando la estructura selectiva doble.
Solución Análisis del problema
Cantidad = 1
Entrada
Tipo = real
QUÉ
Cantidad = 1
Salida
Tipo = real
Cómo Algoritmo
1. inicio
2. leer num
3. si (num>0)
Escribir “Positivo”
else
8
PROGRAMACIÓN I
Escribir “Negativo”
4. fin
Diagrama de flujo
Diagrama Nassi
Pseudocódigo
Inicio
entero num
leer num
si(num>0)
escribir "Aprobado"
sino
9
PROGRAMACIÓN I
escribir "Reprobado"
Fin
Programa
Ejecución
Ejemplo #2: Realizar el análisis, diagrama de flujo, diagrama nassi, pseudocódigo y
programa en C++ que permita calcular la división de dos números reales leídos desde
el teclado.
10
PROGRAMACIÓN I
Solución Análisis de problema
Cantidad = 2
Entrada
Tipo = real
QUÉ
Cantidad = 1
Salida
Tipo = real
Cómo algoritmo
1. inicio
2. leer a
3. leer b
4. si (b=0)
escribir (“Error: No existe división entre cero”)
sino
inicio
div=a/b
escribir div
fin
5. fin
11
PROGRAMACIÓN I
Diagrama de flujo
Diagrama Nassi
Pseudocódigo
Pseudocódigo Principal
Inicio
real a,b,div
leer a
leer b
si(b=0)
escribir "Error: No existe división entre cero"
sino
12
PROGRAMACIÓN I
inicio
div=a/b
escibir div
fin
fin
Programa
13
PROGRAMACIÓN I
Ejecución
4.3.3. ESTRUCTURA CONDICIONAL MÚLTIPLE
En esta sentencia se utiliza las palabras según_sea. Con frecuencia en la práctica, es
necesario que existan más de dos elecciones posibles. Esta sentencia evalúa una
expresión y según ésta puede tomar valores distintos o diferentes alternativas, según
tome un valor posteriormente se ejecutará una acción o un conjunto de acciones, o lo
que es igual, el flujo del algoritmo seguirá un determinado camino entre las n
posibilidades. Observe en la figura el formato general.
14
PROGRAMACIÓN I
Ejemplo #1: Realizar el análisis para diseñar diagrama de flujo, pseudocódigo y
programa en C++ que permita leer un número entero desde el teclado considerando:
Si el número es 1: Imprimir "Excelente"
Si el número es 2: Imprimir "Bueno"
Si el número es 3: Imprimir "Regular"
Si el nùmero es 4: Imprimir "Malo"
En otro caso, imprimir "No existe la opción"
Solución Análisis del problema
Cantidad = 1
Entrada
Tipo = real
QUÉ
Cantidad = 1
Salida
Tipo = mensaje (por cada caso)
Cómo Algoritmo
1. inicio
2. leer num
3. según_sea(num)
Inicio
caso 1: escribir “Excelente”
salto
caso 2: escribir “Bueno”
salto
caso 3: escribir “Regular”
salto
15
PROGRAMACIÓN I
caso 4: escribir “Malo”
salto
otro_caso: escribir “No existe la opción”
fin
4. fin
Diagrama de flujo
Pseudocódigo
Pseudocódigo Principal
Inicio entero num
leer num
según_sea(num)
inicio
caso 1: Escribir "Excelente"
salto
caso 2: Escribir "Bueno"
salto
caso 3: Escribir "Regular"
salto
caso 4: Escribir "Malo"
16
PROGRAMACIÓN I
salto
otro_caso: Escribir "No existe la opción"
fin fin
Programa
Ejecución
17
PROGRAMACIÓN I
Ejemplo #2: Realizar el análisis para diseñar diagrama de flujo, diagrama nassi,
pseudocódigo y programa en C++ que permita leer un carácter de teclado e identificar
si es una vocal. Utilice la sentencia selectiva múltiple.
Solución
Análisis del problema
Cantidad = 1
Entrada
Tipo = real
QUÉ
Cantidad = 1
Salida
Tipo = mensaje (por cada caso)
Cómo Algoritmo
1. inicio
2. leer carácter
3. convertir el carácter a mayúscula
3. según_sea(caracter)
Inicio
caso ‘A’: escribir “Es vocal”
salto
caso ‘E’: escribir “Es vocal”
salto
caso ‘I’: escribir “Esvocal”
salto
caso ‘O’: escribir “Es vocal”
salto
caso ‘U’: escribir “Es vocal”
salto
18
PROGRAMACIÓN I
otro_caso: escribir “No existe la
opción” fin 4. fin
Diagrama de flujo
Diagrama Nassi
Pseudocódigo
Pseudocódigo Principal
Inicio caracter caracter
leer caracter
caracter=toupper(caracer)
según_sea(caracter)
inicio
19
PROGRAMACIÓN I
caso 'A': Escribir "Es vocal"
salto
caso 'E': Escribir "Es vocal"
salto
caso 'I': Escribir "Es vocal"
salto
caso 'O': Escribir "Es vocal"
salto
caso 'U': Escribir "Es vocal"
salto
otro_caso: Escribir "No es vocal"
fin
fin
Programa
20
PROGRAMACIÓN I
Ejecución
21
PROGRAMACIÓN I
ACTIVIDADES
• Clase de gabinete: desarrollo de aplicaciones usando estructuras selectivas
• Clase en gabinete: desarrollo de aplicaciones usando estructuras repetitivas
• Juego Competitivo: Obtención de firmas por la resolución de ejercicios
• Demostración práctica del contenido y capacidad de análisis de los
participantes plasmados en la participación de los estudiantes con herramientas
orientado a evaluación del diseño de programas con estructuras condicionales
y repetitivas
• Presentación de trabajos realizados por los participantes en relación al
contenido abarcado