Documentos de Académico
Documentos de Profesional
Documentos de Cultura
-Pseudocódigo-Programación Estructurada
INDICE
INTRODUCCION
FUNDAMENTOS BÁSICOS DE ALGORITMOS
ESTRUCTURAS REPETITIVAS
Estructura Repetitiva Desde/Para 28
Estructura Repetitiva Hacer – Mientras 32
Estructura Repetitiva Mientras 35
Página 1/37
Tema 1.-Pseudocódigo-Programación Estructurada
FUNDAMENTOS DE PROGRAMACION
INTRODUCCION
Este manual está dedicado a todas aquellas personas que necesitan aprender a
resolver problemas y plantear una solución en un lenguaje de programación, en
este caso Java. Esta es la principal razón de este manual, esta característica es
fundamental, sobre todo desde el punto de vista académico, porque trata de
enseñar, de hacer entender, de hacer ver, al lector, como resolver un problema, y luego
como programar esa solución en un lenguaje de programación de alto nivel. En general,
aprender a usar una herramienta es sencilla, la mayoría de los libros se enfoca en ello;
pero para saber utilizar una herramienta no resuelve el problema: saber manejar
una máquina de escribir, por ejemplo, no lo hace a uno escritor.
El presente manual de Fundamentos de programación explica los conceptos
fundamentales de la programación lógica apoyados de las herramientas de
programación como son los algoritmos, pseudocódigos o diagramas de flujo, y
luego serán codificados en lenguaje de programación Java.
Este manual de Fundamentos de Programación se divide en dos partes: La
primera realiza un introducción a la programación estructurada usando para ello las
estructuras secuenciales, Condicionales, Selectivas y Repetitivas a apoyadas en las
técnicas de Diagrama de Flujo de Datos y Pseudocódigo.
La Segunda parte se enfoca a la utilización de un lenguaje de programación
utilizando para esta ocasión Java y el IDE Netbeans para codificar los algoritmos
resueltos en la primera parte.
Página 2/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo 02:
Leer el radio de una circunferencia. Calcular su área y longitud.
Datos de Entrada ---> Radio de una circunferencia.
Proceso ---> Área = πr2 y Longitud = 2πr
Datos de Salida ---> El área y longitud de una circunferencia.
Página 3/37
Tema 1.-Pseudocódigo-Programación Estructurada
Palabras reservadas
Palabras utilizadas por los algoritmos o lenguajes de programación para representar
sentencias, órdenes, etc.
Ejemplos:
inicio. si–entonces-sino.
Fin. mientras.
hacer. desde.
Identificadores
Son nombres usados para identificar a los objetos y demás elementos de un programa:
variables, constantes, operadores, funciones, procedimientos, etc. Existen reglas para
construir identificadores validos y son los siguientes:
El primer carácter debe ser una letra o el carácter subrayado bajo.
Los caracteres siguientes pueden ser letras, números o símbolos de subrayado bajo.
Las letras mayúsculas y las letras minúsculas se tratan como distintas. Así suma,
Suma y SUMA son tres identificadores distintos.
No pueden ser iguales a ninguna palabra reservada.
Página 4/37
Tema 1.-Pseudocódigo-Programación Estructurada
Variables
Una variable es un objeto a quien se le asigna un valor y cuyo valor puede cambiar
durante el desarrollo del algoritmo o ejecución del programa. Si una variable está
compuesto por dos palabras, éstas pueden estar juntas o unidos por el subrayado bajo,
guión bajo o subguión ‘ _ ’ .
Nota:
No se deben utilizar como nombres de variables (identificadores) palabras reservadas
del algoritmo o del lenguaje de programación.
Ejemplos:
● Nota ● Apellido_paterno ● precios
● Nombre ● apellido_materno ● hora
● Apellidos ● Nota1 ● prom
● nota_oral ● Contador1 ● pi
Los nombres de las variables elegidas deben ser significativos y tener relación con el
objeto que representan, como pueden ser los casos siguientes:
nombre para representar nombres de personas.
precios para representar los precios de diferentes artículos.
notas para representar las notas de una clase.
A continuación se muestra como ejemplos los nombres de variables no
adecuados porque tienen otro significado a lo expresado:
azucar para representar la nota de una clase.
pan para representar la edad de una persona.
Constantes
Una constante toma o recibe un valor que no cambia durante el desarrollo del
algoritmo o la ejecución del programa.
Instrucciones
Las instrucciones especifican las operaciones o acciones que deben ser realizadas o
ejecutadas.
Página 5/37
Tema 1.-Pseudocódigo-Programación Estructurada
Expresiones
Son combinaciones de constantes, variables, símbolos de operación, paréntesis y
nombres de funciones especiales, que cumplen determinadas reglas.
Ejemplos:
1. a + ( b * 3 ) / c
2. 5 * a * b / ( c + d)
1. EXPRESIONES ARITMÉTICAS
Son análogas a las formulas matemáticas. Las variables y constantes son numéricas
(real o entera) y las operaciones son las aritméticas.
Página 6/37
Tema 1.-Pseudocódigo-Programación Estructurada
Reglas de prioridad
Las expresiones que tienen dos o más operandos en una expresión se evalúan, en
general, según el siguiente orden.
1. Las operaciones que están encerradas entre paréntesis se evalúan primero. Si
existen diferentes paréntesis anidados (internos unos a otros), las expresiones
más internas se evalúan primero.
2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente
orden de prioridad.
a. Operador exponencial (^,↑ o bien **)
b. Operadores *, /, \
c. Operadores div y mod
d. Operadores + , -
Nota:
En caso coincidir varios operadores de igual prioridad en una expresión o subexpresión
encerrada entre paréntesis, el orden de prioridad en este caso es de izquierda a derecha.
Ejemplo 1. ¿Cuál es el resultado de las siguientes expresiones?
Página 7/37
Tema 1.-Pseudocódigo-Programación Estructurada
Solución:
Ejemplos:
a. 15 div 6 = 2 b. 14 div 2 = 7 c. 0 div 3 = 0
d. 7 div 9 = 0 e. 3 div 3 = 1 f. 2 div 5 = 0
Resto (mod)
El operador mod se utiliza para obtener el residuo o resto de una división entera. Igual
que para el operador div, para poder hallar el residuo de una división utilizando el
operador mod, los operandos deben ser exclusivamente enteros.
Página 8/37
Tema 1.-Pseudocódigo-Programación Estructurada
2. EXPRESIONES LÓGICAS
Una expresión lógica es una expresión que solo puede tomar dos valores: verdad y
falso. Las expresiones lógicas se forman combinando constantes lógicas, variables
lógicas y otras expresiones lógicas, utilizando los operadores relacionales (de relación o
comparación) y los operadores lógicos not, and y or.
Operadores de relación
Permiten realizar comparaciones de valores de tipo numérico o carácter. Los
operadores de relación sirven para expresar las condiciones en los algoritmos. El
resultado de las operaciones de comparación será verdadero o falso.
Ejemplos:
Si P = 7 * 2 y Q = 3 ^ 2
Expresión Lógica Resultado
P>Q Verdad
P<Q Falso
P <> Q Verdad
(P-3) = (Q+2) Verdad
15 < 14 Falso
4+6=9 Falso
Página 9/37
Tema 1.-Pseudocódigo-Programación Estructurada
Nota
Para tener completa seguridad en la ordenación de los caracteres, será preciso
consultar el código de caracteres de su computadora, normalmente el ASCII (American
Standar Code for Information Interchange) o bien el EBCDIC (Extended Binary-Coded
Decimal Interchange Code) utilizado en computadoras IBM diferentes a los modelos
PC y PS/2.
Operadores lógicos
Los operadores lógicos o booléanos son not (no), and (y) y or(o). Las definiciones de
las operaciones no, y, o se resumen en unas tablas conocidas como las tablas de la
verdad.
Página 10/37
Tema 1.-Pseudocódigo-Programación Estructurada
Nota:
Siendo P y Q expresiones booleanas, V valor verdadero, F valor falso.
Negación = not
Disyunción = and
Conjunción = or
Ejemplos:
o (7 < 12) y (9 < 21) verdad
o (9 > 15) y (3 < 4) falso
o (6 = 41) o (13 > 8) verdad
o (16 > 8) o (2 > 5) verdad
o no (18 > 6) falso
Funciones Internas
Las operaciones que se requieren en los programas exigen en numerosas ocasiones,
además de las operaciones aritméticas básicas, ya tratadas, un número determinado
de operadores especiales que se denominan funciones internas, incorporadas o
estándar.
Por ejemplo, la función raiz2 calcula la raíz cuadrada de un número positivo, la
función abs devuelve el valor absoluto de un número, la función cuadrado devuelve el
valor de un número elevado al cuadrado. Existen otras funciones que se utilizan para
determinar las funciones trigonométricas.
La siguiente tabla recoge las funciones internas más usuales en algoritmos, siendo ‘x’ el
argumento de la función.
Página 11/37
Tema 1.-Pseudocódigo-Programación Estructurada
Tipos de Datos
Página 12/37
Tema 1.-Pseudocódigo-Programación Estructurada
Tipo entero
Es el subconjunto finito de los números enteros, no tienen componentes fraccionarios o
decimales, y pueden ser negativos o positivos.
Ejemplos:
6 -9
-20 11
5 19
15 -1
Tipo reales
Subconjunto de los números reales, siempre tiene un punto decimal y pueden ser
positivos o negativos. Constan de un entero y una parte decimal.
Ejemplos:
9.9 12.24
-123.11 0.89
1470.274 -0.99
54.77 3.0
Nota:
Existe un tipo de representación denominado notación exponencial o científica y que se
utiliza para números muy grandes o muy pequeños.
Ejemplo:
Dado un número cualquiera:
367520100000000000000
Página 13/37
Tema 1.-Pseudocódigo-Programación Estructurada
Datos lógicos
Es aquel dato que solo puede tomar uno de dos valores:
cierto o verdadero (true) y falso (false)
Ejemplo:
Cuando se le pide si un valor entero es par, la respuesta será verdadera o falsa, según
sea impar o par.
Página 14/37
Tema 1.-Pseudocódigo-Programación Estructurada
Para representar un algoritmo se debe utilizar algún método que permita independizar
dicho algoritmo del lenguaje de programación elegido. Ello permitirá que un
algoritmo pueda ser codificado indistintamente en cualquier lenguaje. Para conseguir
este objetivo se precisa que el algoritmo sea representado gráfica o numéricamente,
de modo que las sucesivas acciones no dependan de la sintaxis de ningún lenguaje de
programación, sino que la descripción pueda servir fácilmente para su transformación
en un programa, es decir, su codificación.
Los métodos usuales para representar un algoritmo son:
Diagrama de Flujo.
Diagrama estructurado o N – S (Nassi Schneiderman).
Pseudocódigo. Es el que vamos a utilizar nosotros
Pseudocódigo
Página 15/37
Tema 1.-Pseudocódigo-Programación Estructurada
Como se ve en esta solución del ejemplo 1, en pseudo código, se coloca el nombre del
algoritmo, en la sección de declaración de variables se escriben a la parte izquierda los
tipos de datos y a la derecha las variables que pertenecen a ese tipo de dato. Para este
ejemplo solo tenemos el tipo de dato entero. Se tiene un cuerpo del programa donde se
escriben todas las instrucciones necesarias para resolver el problema.
Página 16/37
Tema 1.-Pseudocódigo-Programación Estructurada
A continuación la misma solución pero pidiendo las variables de entrada por teclado:
algoritmo Ejemplo 2
var
entero : b, h, a, p
Inicio
leer (b)
leer (h)
a= b*h
p= 2*(b+h)
escribir ( a, p )
fin
ESTRUCTURA SECUENCIAL
La estructura secuencial es aquella en la que una instrucción (acción) sigue a otra en
secuencia.
Página 17/37
Tema 1.-Pseudocódigo-Programación Estructurada
Para poder conocer cómo se realiza un algoritmo utilizando los métodos para
representar algoritmos, procederemos a realizar tres ejercicios.
EJERCICIOS
1. Escribir un algoritmo que determine el pago por la compra de dos televisores LCD
de 21'' marca SONY, si cada uno cuesta 2 400 soles.
2. Encontrar el valor de la función: x = 3y + z
3. Escribir un algoritmo en el cual se ingresen dos números. Se desea calcular y
mostrar la suma y resta.
Ejercicio 01:
Ejercicio 02:
Ejercicio 03:
Página 18/37
Tema 1.-Pseudocódigo-Programación Estructurada
ESTRUCTURAS SELECTIVAS
No todos los problemas pueden resolverse empleando estructuras secuenciales. Cuando
hay que tomar una decisión aparecen las estructuras selectivas. En nuestra vida diaria
se nos presentan situaciones donde debemos decidir:
¿Elijo la carrera A o la carrera B?
¿Me pongo este pantalón?
Para ir al trabajo, ¿elijo el camino A o el camino B?
Al cursar una carrera, ¿elijo el turno mañana, tarde o noche?
Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se
suelen denominar también estructuras condicionales, de decisión o alternativas.
En las estructuras selectivas 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.
Las estructuras selectivas pueden ser:
1. Simples.
2. Dobles.
3. Múltiples.
4. Anidadas.
Ejemplo1:
Ingresar el sueldo de una persona, si supera los 3000 €, mostrar un mensaje en
pantalla indicando que debe abonar impuestos.
Página 19/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo2:
Realizar un algoritmo que permita el ingreso de un número entero, si es positivo debe
mostrar el mensaje que es un número positivo, elevarlo al cuadrado y mostrar dicho
resultado. Al terminar el algoritmo debe decir ’fin del algoritmo’.
Página 20/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo de autoaprendizaje:
Resuelva en pseudocódigo.
Ejemplo 4:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno.
Calcular la nota promedio y si el promedio es mayor o igual a 10.5 mostrar un mensaje
“Aprobado” o “Suspenso”.
Página 21/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo5:
Realizar un algoritmo que lea un número que represente el día de la semana y diga
qué día es, teniendo en cuenta lo siguiente: (Lunes=1, Martes=2, ..., Domingo=7).
Página 22/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo de autoaprendizaje:
Resuelva en pseudocódigo.
Ejemplo6:
Escribir un algoritmo que solicite el ingreso de dos números y a continuación un
operador aritmético (+, -, *, /). El algoritmo debe calcular el resultado de la operación
seleccionada.
Página 23/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo 7:
Realizar un algoritmo que permita el ingreso de tres notas de un alumno. Calcular la
nota promedio e imprima alguno de estos mensajes:
a. Si el promedio está entre 20 y 16 mostrar “Alumno Excelente”
b. Si el promedio está entre 15 y 11 mostrar “Alumno Regular”
c. Si el promedio está entre 10 y 6 mostrar “Alumno Malo”
d. Si el promedio está entre 5 y 0 mostrar “Alumno Pésimo”
ESTRUCTURAS REPETITIVAS
Las computadoras están diseñadas para aquellas aplicaciones en las cuales una
operación o conjunto de ellas deben repetirse muchas veces. Un tipo muy importante
de estructura es el algoritmo necesario para repetir una o varias acciones por un
número determinado de veces, a está estructura se la llama Estructura Repetitiva.
Las estructuras repetitivas se utilizan cuando se desea que una instrucción o
bloque de instrucciones se repita un número determinado de veces o hasta que una
condición de terminación se cumpla.
Las estructuras que repiten una secuencia de instrucciones un número determinado de
veces se denominan bucles, y se llama iteración al hecho de repetir la ejecución de una
secuencia de acciones. Iterar es repetir una vez el bucle.
Página 24/37
Tema 1.-Pseudocódigo-Programación Estructurada
CONTADOR
En un proceso repetitivo cuya función es contar los sucesos o acciones internas del
bucle, como pueden ser el número de iteraciones del bucle, la cantidad de elementos
que tiene un archivo, un vector, una matriz, etc. Una forma de controlar un bucle es
mediante un contador.
Página 25/37
Tema 1.-Pseudocódigo-Programación Estructurada
Nota:
Un contador puede ser positivo (incrementos, uno a uno) o negativo (decrementos, uno
a uno). Un contador también puede incrementar o decrementar de dos en dos, tres en
tres, cuatro en cuatro y así sucesivamente, dependiendo de la tarea que esté realizando
el bucle.
Ejemplo 3: Contador que incrementa de dos en dos
ACUMULADOR
Un acumulador es una variable cuya misión es almacenar cantidades variables. Realiza
la misma función que un contador pero con la diferencia de que el incremento o
decremento es variable y no constante como en el contador.
La forma de representar un acumulador es:
Página 26/37
Tema 1.-Pseudocódigo-Programación Estructurada
Nota:
En todo acumulador es necesario que exista una instrucción que inicializa la variable
que va a tener la función de acumulador y esta variable puede ser cualquier
identificador.
Ejemplo 5:
Calcular el promedio de notas de 10 alumnos, primero debemos utilizar una variable
acumulador para ir sumando las 10 notas (cantidades variables) y luego dividir este
valor entre diez. La variable S va a tener la función de ser el acumulador.
Solución del ejemplo 5.
S=0
leer(nota)
S=S+nota
Prom=S/10
La explicación del algoritmo es el siguiente:
Página 27/37
Tema 1.-Pseudocódigo-Programación Estructurada
En su forma más típica y básica, esta estructura requiere una variable entera que
cumple la función de un contador de vueltas. En la sección indicada como
“inicialización”, se suele colocar el nombre de la variable que hará de contador,
asignándole a dicha variable un valor inicial. En la sección de “condición” se coloca la
condición que deberá ser verdadera para que el ciclo continúe (en caso de falso el ciclo
se detendrá). Y finalmente, en la sección “modificación” se coloca una instrucción que
permite modificar el valor de la variable que hace de contador (para permitir que
alguna vez sea falsa).
Ejemplo: Queremos que se repita 50 veces el bloque de instrucciones.
Describiremos el siguiente ejemplo por etapas:
Nota: El símbolo de la flecha apuntando a la izquierda ( ) significa = (igual)
1era Etapa (c=1): Cuando el ciclo comienza antes de dar la primera vuelta, la
variable de inicialización toma el valor indicado en la sección de inicialización.
Página 28/37
Tema 1.-Pseudocódigo-Programación Estructurada
Analicemos el ejemplo:
La variable c toma inicialmente el valor 1.
Se controla automáticamente el valor de la condición: como c vale 1 y esto es menor
que 50, la condición da verdadero.
Como la condición fue verdadera, se ejecutan la(s) instrucción(es).
Al finalizar de ejecutar todas las instrucciones, se retorna a la instrucción c = c + 1,
por lo que la variable c se incrementa en uno.
Se vuelve a controlar automáticamente si c es menor o igual a 50. Como ahora su
valor es 2 y sigue siendo menor que 50, se ejecuta nuevamente el bloque de
instrucciones e incrementa nuevamente la variable del contador c.
El proceso se repetirá hasta que la variable c sea incrementada al valor 51. En ese
momento la condición será falsa, el ciclo se detendrá y saldrá del bucle repetitivo.
Página 29/37
Tema 1.-Pseudocódigo-Programación Estructurada
Analicemos el ejemplo:
La variable c toma inicialmente el valor 100.
El valor de la condición es c >= 1.
La variable c decrementa de dos en dos.
Esto quiere decir que el bucle se repite 50 veces, que comienza en un valor de
contador = 100, decrementa de dos en dos, hasta que la condición es falsa.
La representación gráfica de la estructura repetitiva para en el pseudocódigo es la
siguiente:
Página 30/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo 1:
Realizar un algoritmo que permita hallar la suma de los 10 primeros números enteros
positivos, y su promedio.
Nota:
En Pseudocódigo si la instrucción de incremento es en uno, se puede obviar la
instrucción inc 1, y solamente se puede colocar: desde c = 1 hasta 10 hacer . Porque en
algoritmo se sobrentiende que aumenta en 1.
Ejemplo2:
Realizar un algoritmo que permita hallar la suma y promedio de 20 números enteros
ingresados por teclado.
Página 31/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplos de autoaprendizaje:
Resuelva en pseudocódigo.
Ejemplo3:
Realizar un algoritmo que me permita leer 10 números positivos y negativos, e
imprima solamente los números positivos.
Ejemplo4:
Realizar un algoritmo que me permita leer 20 números e imprimir cuántos son
positivos, negativos y neutros.
Dato: Neutro se le conoce al cero “0”
Ejemplo 5:
En el curso de Algoritmos y Diagramación existen 40 alumnos, de los cuales se tiene el
promedio de la Primera Unidad. Se pide realizar un algoritmo que permita hallar el
promedio general de estos alumnos.
Página 32/37
Tema 1.-Pseudocódigo-Programación Estructurada
Solución
Página 33/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo 6:
Se desea contabilizar cuántos números son positivos, negativos y neutros del ingreso
continuo de números enteros. Este proceso re repite hasta que el usuario pulse la tecla
N al mensaje en pantalla “Desea Continuar [s/n]:”.
Solución
Para la solución del problema se va a necesitar de tres contadores, que realizarán la
acción de contar cuántos números son positivos, negativos y neutros se ingresarán por
teclado, de una serie de números.
Para ello, utilizaremos tres variables, a las que llamaremos:
cc : contador de ceros
cp : contador de positivos
cn : contador de negativos
Además, utilizaremos estructuras selectivas anidadas, con las que haremos la
comprobación de cuáles números son iguales a cero, positivos y negativos. Y de
acuerdo al resultado de la condición, los contadores (cc, cp y cn) incrementarán su
valor.
Terminadas de realizar todas las condiciones, se preguntará al usuario si ‘Desea
continuar [s/n]’ ingresando más números, para ello utilizaremos una variable de tipo
carácter, llamado opc. El cuál almacenará el carácter de ‘s’ de “sí continuo”, o ‘n’ de
“no continuo” ingresando valores. De acuerdo a la respuesta seguiremos o terminamos
el bucle.
Al responder en 'n' de “no continuo” el algoritmo debe reportar lo siguiente:
Cantidad de números ceros.
Cantidad de números positivos.
Cantidad de números negativos.
Página 34/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo de autoaprendizaje:
Resuelva en pseudocódigo.
Ejemplo 7:
En una campaña médica de medición de presión, se pide que se ingresen todas las
edades de los pacientes que serán atendidos. Se solicita que se calcule la mayor y menor
edad ingresada.
Página 35/37
Tema 1.-Pseudocódigo-Programación Estructurada
Ejemplo 8:
Escribir un algoritmo que lea las 40 notas finales del curso de Fundamentos de
Programación, e informe cuántos alumnos han aprobado y cuántos desaprobaron.
Dato: (Nota >= 10.5 Aprobado)
Ejemplo 9:
Realizar un algoritmo que permita calcular la suma de los números enteros
comprendidos entre dos cantidades ingresadas por teclado. Hallar adicionalmente el
promedio de la suma.
Página 36/37
Tema 1.-Pseudocódigo-Programación Estructurada
Página 37/37