Beruflich Dokumente
Kultur Dokumente
Programacin
Estructurada
Tabla de contenido
Introduccin
Programacin
Programacin estructurada
Lenguajes de programacin
Procesos o algoritmos
Componentes
Operadores
Ejercicios guiados
Ejercicios
Pseudocdigo
Variables
Tipos de datos
Operadores en pseudocdigo
Prioridad de operadores
Comentarios
Ejercicios guiados
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Ejercicios
Estructuras condicionales
Condicional
Condicional simple
Ejercicios guiados
Condicional compuesto
Ejercicios guiados
Seleccin (switch,segn)
Ejercicios guiados
Ejercicios
Estructuras cclicas
Contadores
Acumuladores
Ciclo mientras
Ejercicios guiados
Ciclo repetir-hasta
Ejercicios guiados
Ciclo para
Ejercicios guiados
Ejercicios
Subprocesos/Subalgoritmos
Declaracin de un subproceso
Invocar un proceso
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Retorno
Invocar un subproceso
Ejercicios guiados
Parmetros
Ejercicios guiados
Ejercicios guiados
Locales
Globales
Ejercicios
Arreglos
Declaracin de un arreglo
Ejercicios guiados
Declaracin
Ejercicios
Registros
Declaracin de un registro
Benllisoft
Curso de Programacin Estructurada
Asignar valores a los campos del registro
Arreglo de registros
Ejercicios guiados
Ejercicios
Benllisoft
Curso de Programacin Estructurada
Introduccin
Programacin
Programacin estructurada
Lenguajes de programacin
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen
su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el cdigo
fuente de un programa informtico, se le llama programacin.
Procesos o algoritmos
Benllisoft
Curso de Programacin Estructurada
Diagrama de flujo
Los smbolos grficos del flujo del proceso/algoritmo estn unidos entre s con flechas
que indican la direccin de flujo.
El diagrama de flujo ofrece una descripcin visual de los pasos del proceso,facilitando la
rpida comprensin de cada paso y su relacin con las dems.
Componentes
Smbolo Descripcin
Benllisoft
Curso de Programacin Estructurada
Operadores
Smbolo Descripcin
Operadores Aritmticos
+ Suma
- Resta
* Multiplicacin
/ Divisin
Operadores Relacionales
< Menor
> Mayor
== Igual
!=,<> Distinto
Operadores Lgicos
Y (AND,&&) Conjuncin
O (,OR,||) Disyuncin
Operador de asignacin
Benllisoft
Curso de Programacin Estructurada
Ejemplos
2. Entrada/Salida:
Salida: permite mostrar mensaje o valores almacenados en variables. Para indicar que
se desea mostrar un mensaje se debe escribir el texto entre .
Benllisoft
Curso de Programacin Estructurada
Entrada: Permite recibir datos. Para esto es necesario indicar en donde ser recibido el
dato, es necesario el uso de variable.
Variable: espacio de memoria en el cual se puede almacenar datos dados por el usuario
o asignados por el programador.
Ejemplo: Recibir el nombre de una persona en una variable N y luego mostrarlo por
salida. En este caso no es necesario el uso de en la segunda salida, ya que no se est
mostrando un texto sino una variable que est siendo usada en el proceso, por lo tanto
se mostrar el contenido almacenado en ella.
Benllisoft
Curso de Programacin Estructurada
Ejemplo: Recibir dos valores, luego mostrarlos
Benllisoft
Curso de Programacin Estructurada
3. Actividad: consiste en llevar a cabo operaciones sobre las variables
Benllisoft
Curso de Programacin Estructurada
Los operadores relacionales son smbolos que se usan para comparar dos valores. Si el
resultado de la comparacin es correcto la expresin considerada es Verdadera, en caso
contrario es Falsa.
Con el uso de los operadores relacionales podemos establecer las condiciones que
determinan el flujo de ejecucin de las instrucciones.
Benllisoft
Curso de Programacin Estructurada
Ejemplo: Un sistema informtico tiene una clave de acceso. Recibir una clave dada por
el usuario y verificar que sea la que posee el sistema (Asumir que la clave es 1234).
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
1. Suma de valores: programa que recibe dos valores, calcula la suma y luego la
muestra el resultado.
Pasos:
Benllisoft
Curso de Programacin Estructurada
2. Positivo o negativo: Recibir un valor e indicar si es positivo o negativo.
Pasos:
Benllisoft
Curso de Programacin Estructurada
3. Promedio: indicarle al usuario que ingrese 3 notas, luego mostrar el promedio de las
notas.
Nota: En la tercera instruccin haciendo uso de , entre los nombre de las variables se simplificaron tres
lecturas.
4. Duplicar: Recibir un valor positivo y mostrar el valor duplicado (verificar que el valor
sea positivo).
Nota: El resultado es asignado a la variable v ,por lo tanto pierde su antiguo valor y es actualizada con el
resultado de la expresin. Con esto se ahorra el uso de variables,ya que no fue necesario usar una nueva
variable para almacenar el resultado.
Benllisoft
Curso de Programacin Estructurada
5. Dado un valor indicar si es positivo, negativo o igual a 0.
Benllisoft
Curso de Programacin Estructurada
6. Operadores lgicos: Con los operadores lgicos se pueden crear condiciones
compuestas.
6.1. Verificar que un precio dado por el usuario est entre 0 y 100.
Benllisoft
Curso de Programacin Estructurada
6.2 Verificar que un Nombre de usuario y clave sean correctos (Asumir Nombre= P y
clave=1).
Nota: Para trabajar los valores no numricos es necesario el uso de , con esto se indica que se desea
comparar el contenido de la variable con la letra P, puesto que, en caso de no usarlos se puede pensar
que se est haciendo una comparacin con una variable P la cual no ha sido usada durante el proceso.
Benllisoft
Curso de Programacin Estructurada
Benllisoft
Curso de Programacin Estructurada
NO: Cambia el valor de la expresin de verdadero a falso y viceversa
Benllisoft
Curso de Programacin Estructurada
Ejercicios
Usando el editor de diagramas de pseint para elaborar y ejecutar los diagramas de flujo
correspondiente a los siguientes procesos:
Benllisoft
Curso de Programacin Estructurada
15. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig.
manera:
Benllisoft
Curso de Programacin Estructurada
Pseudocdigo
Variables
Para hacer uso de una variable es necesario que est definida previamente, mediante
la instruccin de Declaracin o Definicin. Durante la definicin se debe indicar qu tipo
de dato ser almacenado en la variable, pudiendo ser de tipo numrico, caracter o
lgico.
Benllisoft
Curso de Programacin Estructurada
Tipos de datos
En la instruccin de declaracin es necesario indicar cual es tipo de dato que podr ser
almacenado en la variable, pudiendo ser de tipo Numrico: Enteros y Reales, Caracteres
o Lgicos.
Tipo Descripcin
Benllisoft
Curso de Programacin Estructurada
Operadores en pseudocdigo
Smbolo Descripcin
Operadores Aritmticos
+ Suma
- Resta
* Multiplicacin
/ Divisin
Operadores Relacionales
< Menor
> Mayor
== Igual
<> , != Distinto
Operadores lgicos
OR (O,||) Disyuncin
Operador de asignacin
Benllisoft
Curso de Programacin Estructurada
Prioridad de operadores
Mayor Prioridad
Operador Descripcin
() Parntesis
**,^ Potencia
<,<=,>,>=,==,<> Relacionales
NOT Negacin
AND Conjuncin
OR Disyuncin
Menor Prioridad
Benllisoft
Curso de Programacin Estructurada
Comentarios
Se emplean los caracteres // para indicar que esa lnea es un comentario la pareja de
smbolos /* y */ para delimitar un comentario que abarca varias lneas.
Benllisoft
Curso de Programacin Estructurada
Declaracin de variables
Sintaxis:
Definir <Identificador> como <tipo de dato>;
Ejemplos:
Ejemplo
Pseudocdigo:
Proceso Programa
Definir x como Entero;
Fin Proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Asignacin de valores a variables
Sintaxis:
Ejemplos
x=20;
Letra='a'; //Se emplean las comillas para indicar el uso de caracteres
Letra="caracas"; //Se emplean las comillas dobles para indicar el uso de cadenas
V=Verdadero;
Ejemplo:
Pseudocdigo:
Proceso Asignacin
Definir x como Entero;
x=1;
FinProceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Algoritmo Ejemplo
Definir x como Entero;
x=20;
FinAlgoritmo
Algoritmo Programa
Definir Letra como caracter ;
Letra='w';
FinAlgoritmo
3. Definir un algoritmo y declarar dos variables a,b como Enteros, asignarle un valor a a,
duplicarlo y almacenar el resultado en b.
Proceso Ejemplo4
Definir a,b como Entero;
a=20;
b=a*2;
FinProceso
4. Definir una variable y asignarle un valor,luego duplicar su valor (no hacer uso de una
variable extra).
Algoritmo Duplicar
Definir x como Entero;
x=20;
x=x*2;
FinAlgoritmo
Benllisoft
Curso de Programacin Estructurada
5. Declarar dos variable,asignarles valores y luego calcular la suma almacenando el
resultado en una tercera variable.
Algoritmo suma
Definir valor1 como Entero;
Definir valor2 como Entero;
Definir respuesta como Entero;
valor1=10;
valor2=50;
Respuesta=valor1+valor2;
FinAlgoritmo
Proceso Programa
Definir x como Real;
Definir y como Real;
x=1;
y=x+1; // y=2
y=y*10; // y=20
z=y/2-5*x+2; // z=7
FinProceso
7. Definir 3 variables n1,n2 y n3 con los valores 10,15 y 7 respectivamente, luego calcular
el promedio de estos tres valores.
Algoritmo Promedio
Definir n1 como Real;
Definir n2 como Real;
Definir n3 como Real;
Definir suma como Real;
Definir promedio como Real;
n1=10;
n2=15;
n3=7;
suma=n1+n2+n3;
promedio=suma/3;
FinAlgoritmo
Benllisoft
Curso de Programacin Estructurada
8. Definir 3 variables n1,n2 y n3 con los valores 10,15 y 7 respectivamente, luego calcular
el promedio de estos tres valores (sin usar variables extras).
Proceso Promedio
Definir n1 como Real;
Definir n2 como Real;
Definir n3 como Real;
n1=10;
n2=15;
n3=7;
n1=n1+n2+n3;
n1=n1/3; //El valor de n1 es actualizado con el resultado de la operacin.
FinProceso
Benllisoft
Curso de Programacin Estructurada
9. Definir 3 variables n1,n2 y n3 con los valores 10,15 y 7 respectivamente, luego calcular
el promedio de estos tres valores (sin usar variables extras y con menos instrucciones).
Pseudocdigo:
Algoritmo Promedio
Definir n1,n2,n3 como Real; //Se declaran n1,n2 y n3 como Enteros
n1=10;
n2=15;
n3=7;
n1=(n1+n2+n3)/3;
FinAlgoritmo
Benllisoft
Curso de Programacin Estructurada
Sintaxis:
Ejemplos
Algoritmo Salida
Escribir "Curso de Programacin";
FinAlgoritmo
Diagrama de flujo:
Ejecucin:
*** Ejecucin Iniciada. ***
Curso de Programacin
*** Ejecucin Finalizada. ***
Benllisoft
Curso de Programacin Estructurada
2. Definir una variable como real, asignarle un valor y luego mostrar el valor por pantalla.
Pseudocdigo:
Proceso Salida
Definir Precio como real;
Precio<-100;
Escribir Precio;
FinProceso
Diagrama de flujo:
Ejecucin:
Benllisoft
Curso de Programacin Estructurada
3. Mostrar por pantalla x*2 donde x es un a variable del tipo entero con algn valor
asignado.
Pseudocdigo:
Proceso salida3
Definir x Como Entero;
x<-1
Escribir x*2
FinProceso
Diagrama:
Ejecucin:
Benllisoft
Curso de Programacin Estructurada
Operacin de lectura (entrada)
Permite leer datos y asignarlos a variables. Esta operacin realiza una pausa en la
ejecucin del programa hasta que el usuario ingresa el dato a almacenar.
Sintaxis:
Leer <Nombre_Variable> ;
Ejemplos
Pseudocdigo:
Proceso lectura
Definir num Como Entero;
Escribir Ingrese un valor; //Mensaje al usuario indicando que ingrese un valor
Leer num; // El valor ingresado por el usuario es asignado a la variable
FinProceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
1. Indicarle al usuario que ingrese dos valores numricos, luego hacer lecturas de estos
valores.
Proceso Datos
Definir v1,V2 como Real; //Declaracin de variables
Escribir Ingrese dos valores; //Mensaje al usuario
Leer v1; //El primer valor ingresado es asignado a v1
Leer v2; // El segundo valor asignado es asignado a v2
Finproceso
Proceso Datos2
Definir edad como Entero;
Definir nom como caracter;
Escribir Ingrese su edad;
Leer edad;
Escribir Ingrese su nombre;
Leer nom;
Finproceso
Proceso Duplicar
Definir P,P2 Como Real;
Escribir Ingrese un precio;
Leer P;
P2=P*2;
Escribir P2;
FinProceso
Proceso Suma
Definir a,b,c Como Real;
Escribir Ingrese dos valores a sumar valor;
Leer a;
Leer b;
c=a+b;
Escribir "El resultado es : " c;
FinProceso
Benllisoft
Curso de Programacin Estructurada
Ejercicios
2. Indicarle al usuario que ingrese su nombre y nmero de cedula, recibir los datos y
mostrarlos.
8. Recibir 3 precios:
Calcular la suma de los montos
Calcular el IVA
Mostrar la suma de los montos sin IVA y el monto neto.
Benllisoft
Curso de Programacin Estructurada
Estructuras condicionales
Operadores relacionales
Los operadores relacionales son smbolos que se usan para comparar dos valores. Si el
resultado de la comparacin es correcto la expresin considerada es verdadera, en caso
contrario es falsa.
Con el uso de los operadores relacionales podemos establecer las condiciones tambin
llamadas expresiones lgicas que dependiendo del valor que tome determinarn el flujo
de ejecucin de las instrucciones.
Operadores Relacionales
< Menor
> Mayor
== Igual
<> , != Distinto
Benllisoft
Curso de Programacin Estructurada
Operadores lgicos
Operadores lgicos
OR (O,||) Disyuncin
Benllisoft
Curso de Programacin Estructurada
Condicional
Condicional simple
La condicin debe ser una expresin lgica (simple o compuesta) que al ser evaluada
retorna Verdadero Falso.
Sintaxis:
Si <condicin> entonces
<Bloque de instrucciones>
finsi
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Pseudocdigo
Proceso Condicional
Definir x como real;
Escribir "Ingrese un valor";
Leer x;
Si x>0 Entonces
Escribir "Mayor a 0";
FinSi
Fin Proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
2. Un sistema informtico tiene una clave de acceso. Recibir una clave dada por el
usuario y verificar que sea la que posee el sistema. (Asumir que la clave es 1234)
Pseudocdigo
Proceso Clave
Definir c como Entero;
Escribir "Ingrese clave";
Leer c;
Si c==1234 Entonces
Escribir "clave correcta";
FinSi
FinProceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Condicional compuesto
La condicin debe ser una expresin lgica (simple o compuesta) que al ser evaluada
retorna verdadero falso.
Sintaxis:
Si <Condicin> entonces
<Bloque de instrucciones 1>
sino
<Bloque de instrucciones 2>
finsi
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Pseudocdigo:
Proceso Condicional
Definir x como real; // Declaracin de la variable
Escribir "Ingrese un valor"; //Mensaje al usuario
Leer x; // Lectura del valor
Diagrama:
Benllisoft
Curso de Programacin Estructurada
2. Un sistema informtico tiene una clave de acceso. Recibir una clave dada por el
usuario y verificar que sea la que posee el sistema. Indicar si la clave es correcta no.
(Asumir que la clave es 1234)
Pseudocdigo:
Proceso Clave
Definir c como Entero;
Escribir "Ingrese clave";
Leer c;
Si c==1234 Entonces
Escribir "clave correcta";
Sino
Escribir "clave incorrecta";
FinSi
FinProceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Pseudocdigo:
Proceso PROGRAMA
Definir numero como real;
Escribir Ingrese un valor;
Leer num;
si num==0 entonces
Escribir igual a 0;
sino
si num<0 entonces
Escribir Menor a 0;
sino
Escribir Mayor a 0;
finsi
finsi
Fin proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
4. Recibir un precio y calcular el IVA, verificar que el precio sea correcto antes de realizar
la operacin, en caso contrario indicar error.
Proceso Factura
Definir precio como Real;
Escribir Ingrese el precio;
Leer precio;
Proceso promedio
Definir n1,n2,n3,suma,prom como real;
Escribir Ingrese las 3 notas;
Leer n1,n2,n3;
suma=n1+n2+n3;
prom=suma/3;
si prom>=30 entonces
Escribir Aprobado;
sino
Escribir Reprobado;
finsi
Fin proceso
Benllisoft
Curso de Programacin Estructurada
6. Ejemplos: Expresiones lgicas compuestas en los condicionales.
Proceso Rango
Definir num como Real;
Escribir Ingrese el valor;
Leer num;
6.2. Recibir un usuario y una clave de ingreso. Verificar los valores y dar un mensaje de
ingreso o de error (Asumir usuario=Programacion,clave= PE2016)
Algoritmo clave
Definir usuario como caracter;
Definir clave como caracter;
Benllisoft
Curso de Programacin Estructurada
O: La expresin compuesta es verdadera si al menos una condicin es verdadera.
Proceso vocal
Definir letra como caracter;
Escribir Ingrese una letra;
Leer letra;
si letra==a o letra==e o letra==i o letra==u entonces
Escribir vocal;
sino
Escribir consonante;
finsi
Proceso programa
Definir dato como Real;
Escribir ingrese el valor;
Leer dato;
Benllisoft
Curso de Programacin Estructurada
Seleccin (switch,segn)
Sintaxis:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
1. Dada una letra indicar si es una vocal o consonante. Si es vocal indicar cul fue la
vocal ingresada.
Pseudocdigo:
Proceso Seleccion
Definir letra como caracter;
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ejercicios
11. Recibe un numero del 1 al 7 y mostrar con cul dia de la semana corresponde.
Benllisoft
Curso de Programacin Estructurada
Estructuras cclicas
Contadores
Es importante inicializar los contadores. El valor con que se inicie el contador depender
del problema a resolver.
Acumuladores
Benllisoft
Curso de Programacin Estructurada
Ciclo mientras
Sintaxis:
Diagrama de flujo:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Pasos:
1. Declarar el contador y darle un valor inicial
2. Establecer la condicion
3. Establecer el incremento,decremento
Pseudocdigo
Proceso Repeticin
Definir x como entero;
x=1; // Valor inicial
Mientras x<=5 hacer //Condicin
Escribir HOLA;
x=x+1, //Incremento
Fin mientras
Diagrama:
Benllisoft
Curso de Programacin Estructurada
1.2 Mostrar por pantalla los nmeros del 1 al 100
Pseudocdigo
Proceso Repeticin
Definir cont como entero;
cont=1; //Valor inicial
Mientras cont<=100 hacer //Condicin
Escribir cont;
cont=cont+1; //Incremento
Fin mientras
Fin proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Programa que realiza una sumatoria de n valores dado por el usuario, 0 indica el fin de
la secuencia de ingreso.
Proceso Sumatoria
Definir acum como Real;
Definir x como Real;
Escribir Ingrese el valor a sumar o 0 para culminar;
Leer x; //Valor inicial
acum=x;
Mientras x<>0 hacer //Condicin
Escribir Ingrese el valor a sumar o 0 para culminar;
Leer x; // Cambio de variable evaluada en la condicin
acum=acum+x;
fin Mientras
Escribir El resultado de la sumatoria es acum;
Finproceso
Benllisoft
Curso de Programacin Estructurada
Programa que realiza una sumatoria de n valores dado por el usuario, termina cuando la
sumatoria tome al valor mximo de 50 o cuando el usuario ingrese 0 para indicar el fin de
la secuencia (Mostrar un mensaje si se llega al valor mximo).
Proceso Ciclo_Mientras
Definir acum como real;
Definir x como real;
Escribir Ingrese un valor o 0 para terminar;
Leer x;
acum=x;
Proceso Tabla
Definir num,resp,x como entero;
Escribir Cual tabla desea ver?;
Leer num;
x=1;
Benllisoft
Curso de Programacin Estructurada
Ciclo repetir-hasta
Dado que la condicin se evala al final del cuerpo, el ciclo se ejecuta al menos una vez.
Sintaxis:
Repetir
<instrucciones>
Hasta que <condicion>;
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
Pseudocdigo
Proceso Programa
Definir P como Real;
Repetir
Escribir Ingrese un valor;
Leer P;
Hasta P>=0;
Fin Proceso
Diagrama
Benllisoft
Curso de Programacin Estructurada
2. Programa que utiliza el ciclo Repetir para validar que el ingreso de un valor est en un
rango especfico.
Pseudocdigo
Proceso Programa2
Definir v como Real;
Repetir
Escribir Ingrese un valor mayor a 0 y menor a 30;
Leer v;
Hasta que v>0 y v<=30;
Fin proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ciclo para
Sintaxis
Al comienzo del ciclo la variable recibe (se le asigna) el valor inicial, luego la condicin
es evaluada, si resulta que el valor de la variable supera el valor final se termina la
ejecucin del ciclo, en caso contrario se ejecuta el conjunto de instrucciones, luego se
incrementa la variable en paso y se evala de nuevo la condicion. Esto se repite hasta
que el valor final sea superado.
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
1. Mostrar la tabla de multiplicar de un valor dado por el usuario.
Pseudocdigo
Proceso tabla
Definir i,n como Entero;
Escribir Ingrese el numero de la tabla;
Leer n;
Para i=1 hasta 10 Con Paso 1 hacer
Escribir n*i;
fin para
Fin proceso
Diagrama:
Benllisoft
Curso de Programacin Estructurada
Proceso Error_ciclo
Definir x como entero;
Mientas x<=50 hacer
Escribir x;
Fin Mientras
Fin Proceso
Algoritmo tabla_Error
Definir i,n Como Entero;
Escribir Ingrese el numero de la tabla;
Leer n;
Para i<-1 Hasta 10 Con paso 1 Hacer
Escribir n*i;
i=i-1;
FinPara
FinAlgoritmo
Benllisoft
Curso de Programacin Estructurada
Ejercicios
1. Realizar un algoritmo que muestre los nmeros de uno en uno hasta el diez usando
cualquier estructura cclica. Exprese el algoritmo usando Pseudocdigo y diagramas de
flujos.
4. Duplicar un numero positivo dado por el usuario, en caso de no ser positivo mostrar un
mensaje de error y repetir la la instruccin de lectura.
5. Muestre un men al usuario con opciones de suma, resta, multiplicacin, divisin y una
opcin de salir. Reciba la opcin y los datos requeridos para la operacin, luego indique
cual es el resultado. Mientras no se indique la opcin de salir el programa debe mostrar
de nuevo el men.
8. En una empresa se requiere calcular el salario semanal de cada uno de los N obreros
que laboran en ella. El salario se obtiene de la sig. forma:
El programa debe:
Benllisoft
Curso de Programacin Estructurada
Subprocesos/Subalgoritmos
Caractersticas
El retorno es un solo valor de tipo simple al punto de llamada. Este retorno puede
hacerse dentro de una expresin como si fuera una variable ordinaria de tipo
simple.
Benllisoft
Curso de Programacin Estructurada
SubProcesos/Subalgoritmos sin retorno (acciones, funciones del tipo void)
Declaracin de un subproceso
Sintaxis
Invocar un proceso
Ejercicios guiados
1. Declarar e invocar un subproceso llamado Suma que muestre la suma de dos valores
dados por el usuario.
Subproceso Suma
Definir a,b como Reales;
Escribir ingrese dos valores a sumar;
Leer a,b;
a=a+b;
Escribir a;
fin subproceso;
Proceso principal
Suma(); // Llamado al proceso Suma.
fin proceso
Benllisoft
Curso de Programacin Estructurada
2. Declara e invocar un subproceso llamado Muestra_Tabla, el cual le indica al usuario
que ingrese un nmero entero y muestra la tabla de multiplicar de ese numero.
Subproceso Muestra_Tabla
Definir x,i como Entero;
i=1;
Escribir Ingrese un valor;
Leer x;
Proceso Principal
Muestra_Tabla();
Fin proceso
Benllisoft
Curso de Programacin Estructurada
3. Declarar un subproceso A, el cual recibe un valor dado por el usuario, si el valor es par
invoca a un subproceso B el cual calcula la suma de dos nmeros, en caso contrario
invoca a un subproceso C el cual calcula la resta de dos nmeros.
Subproceso C
Definir a,b como Reales;
Escribir Ingrese dos valores a restar;
Leer a;
Leer b;
a=a-b;
Escribir a;
fin subproceso
Subproceso B
Definir a,b como Reales;
Escribir Ingrese dos valores a suma;
Leer a;
Leer b;
a=a+b;
Escribir a;
fin subproceso
Subproceso A
Definir x como Reales;
Escribir Ingrese un numero par para sumar o impar para restar;
Leer x;
Si x%2==0 entonces
B();
sino
C();
finsi
fin subproceso
Proceso principal
A();
Finproceso
Benllisoft
Curso de Programacin Estructurada
SubProcesos con retorno( Funciones)
Retorno
Invocar un subproceso
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
1. Declara una funcion que recibe un valor dado por el usuario ,y retorna el valor
duplicado.
Proceso principal
Definir x como Entero;
x=Duplicar(); // En x se almacena el resultado de la funcin
Escribir El valor duplicado es : x;
Fin proceso
2. Desarrolle un programa que retorne el promedio de 10 notas, utilice una funcin que
reciba las notas y retorne la suma de ellas. Luego muestre el promedio en el proceso
principal.
Proceso Principal
Definir s como real;
s=Lectura()/10; // La funcin retorna la sumatoria.
Escribir s;
Fin proceso
Benllisoft
Curso de Programacin Estructurada
3. Definir una funcin que lea dos valores y retorne el mayor de ellos.
Proceso Principal
Fin proceso
Benllisoft
Curso de Programacin Estructurada
Parmetros
Ejercicios guiados
1. Definir un subproceso llamado DUPLICAR que reciba un valor entero por parmetro y
lo retorna duplicado.
Proceso principal
Definir respuesta,p como Real;
Escribir Ingrese un valor a duplicar;
Leer p;
respuesta=DUPLICAR(p); //Se le enva a duplicar el valor de p
Escribir respuesta;
fin proceso
2. Definir una funcin llamada SUMA que reciba dos valores enteros por parmetros y
retorne la suma de ellos.
Proceso principal
Definir a,b,respuesta como Real;
Escribir ingrese dos valores a sumar;
Leer a,b;
Escribir El resultado de la suma es : Suma(a,b);
Fin proceso
Benllisoft
Curso de Programacin Estructurada
3. Definir una funcion llamada potencia, recibe dos valores , base y exponente , luego
retorna la potencia.
resp=acum;
fin subproceso
Proceso Principal
Definir b como real;
Definir e como entero;
Proceso Programa
Definir p como real;
Escribir Ingrese el monto;
Leer p;
IVA(p);
Fin proceso
Benllisoft
Curso de Programacin Estructurada
Parmetros por referencia
Ejercicios guiados
Proceso principal
Definir a como entero;
a=2;
Escribir Valor antes del proceso a;
DUPLICAR(a);
Escribir Valor despus del proceso a;
fin proceso
Benllisoft
Curso de Programacin Estructurada
2. Disee una funcin que reciba dos precios y retorne:
Ya que el retorno es nico, se puede hacer uso de una variable pasada por referencia
para guardar el dato de inters.
Proceso Principal
Definir p1,p2,s,iva como Real;
Escribir Ingrese los dos precios;
Leer p1,p2;
Benllisoft
Curso de Programacin Estructurada
Variables Locales y globales
Las reglas de mbito de un lenguaje son las reglas que controlan si un fragmento de
cdigo conoce o tiene acceso a otro fragmento de cdigo o de datos.
Locales
Caractersticas
Ejemplos
Subproceso EXAMPLE
Definir x como Real;
Definir z como carcter;
Fin subproceso
Proceso PROGRAMA
Definir numero como Real;
EXAMPLE();
fin proceso
Benllisoft
Curso de Programacin Estructurada
Error al tratar de usar una variable local de otro subproceso.
subproceso EXAMPLE
Definir x como Real;
x=20;
Fin subproceso
Proceso PROGRAMA
Example();
Escribir El valor de la variable x de EXAMPLE es x;
fin proceso
Benllisoft
Curso de Programacin Estructurada
Globales
Son aquellas que se definen fuera del cuerpo de cualquier proceso o subproceso,
normalmente al principio del programa.
El mbito de una variable global son todos los subprocesos y el proceso que componen
el programa, cualquier subproceso y el proceso puede acceder a dichas variables para
leer y escribir en ellas.
Benllisoft
Curso de Programacin Estructurada
Ejercicios
1.Muestre un men al usuario con opciones de suma, resta, multiplicacin, divisin y una
opcin de salir. Reciba la opcin y los datos requeridos para la operacin, luego indique
cual es el resultado. Mientras no se indique la opcin de salir el programa debe mostrar
de nuevo el men.
Opcin suma: Invocar a un subproceso que reciba dos valores dados por el usuario y
muestre la suma.
Opcin resta: Invocar una funcion que retorne la resta de dos nmeros dados por el
usuario, luego mostrar el resultado de la resta despus del retorno.
Opcin multiplicacin: Invocar un subproceso que reciba por parmetros los valores a
multiplicar, realice la operacin y muestre el resultado.
Opcion divisin: Invocar un subproceso que reciba una variable por referencia, reciba
los nmeros a dividir por el usuario y por ltimo le asigne el resultado al parmetro.
Mostrar el resultado en el proceso principal.
2. Definir una funcion que reciba un numero N muestre la suma de todos los numeros
que esten en el rango de 1 a N (Validar que N>=1).
considere el uso de una funcion la cual verifica que la contrasea sea correcta o no en
cada intento.
5. Escribir un programa que utilizando funciones con parmetros, lea desde el teclado las
unidades y el precio de un producto que est en venta, y en funcin de las unidades
introducidas le haga un descuento o no (cuando las unidades excedan media docena se
aplicar 4% y el 10% cuando exceda la docena).
Benllisoft
Curso de Programacin Estructurada
Tipos de datos Estructurados
A diferencia de los datos de tipo simple que slo pueden almacenar un valor, los datos
estructurados o estructuras de datos pueden recolectar varios valores simultneamente.
Arreglos
Registros
Arreglos
Un arreglo es un tipo de dato estructurado, que est formado de una coleccin finita y
ordenada de datos del mismo tipo (Es una estructura homognea).
Benllisoft
Curso de Programacin Estructurada
Caractersticas:
2. Permite tener un nico nombre de variable que representa a todos los elementos,
y estos a su vez se diferencian por el ndice.
5. Otro detalle muy importante es que cuando se declaran arreglos, los valores para
el nmero de elementos deben ser siempre constantes enteras.
Benllisoft
Curso de Programacin Estructurada
Declaracin de un arreglo
Psient:
Sintaxis
C++:
Sintaxis
<tipo> <identificador>[N];
En <tipo> se debe indicar cual es el tipo de dato de los elementos del arreglo y N indica
la dimension.
Ejemplos
Pseint:
Proceso Programa
Dimension valores[10]; // Arreglo llamado valores de 10 posiciones
fin proceso
C++:
#include <iostream>
using namespace std;
int main(){
int valores [10]; // Arreglo valores de 10 posiciones tipo entero.
return 0;
}
Benllisoft
Curso de Programacin Estructurada
2. Es posible declarar un arreglo de un tamao N, donde N es una variable tipo Entero
que tiene un valor asignado.
Pseint:
Proceso Programa
Definir N como entero;
N=100;
Dimension Datos[N];
Fin proceso
C++:
#include <iostream>
using namespace std;
int main(){
int N;
int valores [N];
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ejemplos:
Pseint:
Proceso PROGRAMA
Dimension datos[3];
datos[0]=10;
datos[1]=20;
datos[2]=30;
Fin proceso
C++:
#include <iostream>
using namespace std;
int main(){
int datos[3];
datos[0]=10;
datos[1]=20;
datos[2]=30;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Lecturas y escrituras
Lecturas
Consiste en hacer una lectura o y asignar directamente un valor a una posicin del
arreglo.
Escrituras
Pseint:
Proceso PROGRAMA
Dimension datos[3];
Escribir Ingrese 3 valores;
Leer datos(0);
Leer datos(1);
Leer datos(2);
Escribir Los valores ingresados son datos[0],datos[1],datos[2];
Fin proceso
C++:
#include <iostream>
using namespace std;
int main(){
int datos[3];
cout<<Ingrese 3 valores<<endl;
cin>>datos[0];
cin>>datos[1];
cin>>datos[2];
cout<< Los valores ingresados son<<endl;
cout<<datos[0]<<,<<datos[1]<<,<<datos[2]<<endl;
}
Benllisoft
Curso de Programacin Estructurada
Variables para el acceso a una posicin
A travs de una variables del tipo entero podemos indicar el ndice a usar en el arreglo.
Pseint:
Proceso PROGRAMA
Definir i,j como enteros;
Dimension datos[2];
i=0;
j=1;
datos(i)=10; // El entero 10 es asignado a la posicin 0
Escribir Ingrese un valor;
Leer datos(j); // El valor introducido por el usuario es almacenado en la posicin 1
C++:
int main(){
int i,j;
int datos[3];
i=0;
j=1;
datos[i]=10; // El entero 10 es asignado a la posicin 0
cout<< Ingrese un valor<<endl;
cin>>datos[j]; // El valor introducido por el usuario es almacenado en la posicin 1
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ciclos y arreglos
Con el uso de ciclos se puede simplificar y automatizar las operaciones con los arreglos.
Ejercicios guiados
Pseint:
Proceso Programa
Definir i como entero;
Dimension Precios[10];
C++:
int main(){
int i;
int datos[10];
for(i=0;i<=9;i++){
cout<<Ingrese el dato de la posicin <<i+1<<endl;
cin>>datos[i];
}
return 0;
}
Benllisoft
Curso de Programacin Estructurada
2. Sumar los valores de un arreglo luego de hacer la lectura de los datos.
Pseint:
Proceso Programa
Definir i como entero;
Dimension Precios[10];
C++:
int main(){
int i;
int datos[10];
for(i=0;i<=9;i++){
cout<<Ingrese el dato de la posicin <<i+1<<endl;
cin>>datos[i];
}
for(i=0;i<=9;i++){
acum=acum+datos[i];
}
cout<<acum<<endl;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Arreglos de dos dimensiones
Son estructuras de datos que agrupan muchos datos del mismo tipo, en donde cada
elemento se puede trabajar individualmente y se puede referenciar con un mismo
nombre. Se usan para representar datos que pueden verse como una tabla con filas y
columnas, en donde se especifica un ndice para las flas y otro para las columnas.
Declaracin
Pseint:
C++:
Benllisoft
Curso de Programacin Estructurada
Ejemplos
Pseint:
Proceso Programa
Fin proceso
C++:
int main(){
En este caso se puede hacer referencia al almacn 1 con la fila 1 y al almacn 2 con la
fila dos.
Pseint:
Proceso Programa
Dimension Precios [2,10];
Fin programa
C++:
int main(){
float precios [2][10];
return 0;
}
Benllisoft
Curso de Programacin Estructurada
3. Declarar un arreglo para almacenar las notas de 3 exmenes de 50 alumnos
Pseint:
Proceso Programa
Fin proceso
C++:
int main(){
float Notas [3][10];
return 0;
}
Pseint:
Proceso Principal
Definir N,M como Enteros;
N=3;
M=3;
Dimension Tabla [N,M];
Fin proceso
C++:
int main(){
int N,M;
N=3;
M=3;
int tabla [N][M];
return 0:
}
Benllisoft
Curso de Programacin Estructurada
Operaciones bsicas con arreglos de dos dimensiones
Ejemplo
Pseint:
Proceso Programa
Dimension Precios [2,2];
Precios[0,0]=525.2;
Precios[0,1]=792.80;
Precios[1,1]=2507;
Precios[1,1]=390.50;
Fin proceso
C++:
int main(){
float Precios [2][2];
Precios[0][0]=525.2
Precios[0][1]=792.80
Precios[1][1]=2507
Precios[1][1]]=390.50
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Lecturas y escrituras
Ejemplo
Proceso Lectura_De_Datos
Dimension Precios[2,2];
Escribir Ingrese 4 valores;
Leer Precios[0,0];
Leer Precios[0,1];
Leer Precios[1,1];
Leer Precios[1,1];
Escribir Los precios ingresados son los siguientes:;
Escribir Precios[0,0];
Escribir Precios[0,1];
Escribir Precios[1,1];
Escribir Precios[1,1];
Fin proceso
C++:
int main(){
float precios [2][2];
cout<<Ingrese 4 valores<<endl;
cin>>Precios[0][0];
cin>>Precios[0][1];
cin>>Precios[1][1];
cin>>Precios[1][2];
cout<<Escribir los precios ingresados son<<endl;
cout<<Precios[0][0]<<endl;
cout<<Precios[0][1]<<endl;
cout<<Precios[1][1]<<endl;
cout<<Precios[1][2]<<endl;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ciclos y arreglos de dos dimensiones
Recorrido clsico
Recorrer el arreglo por filas usando ciclos, un ciclo controla el ndice que indica las filas y
otro el ndice que indica las columnas.
Consiste en fijar un valor para el ndice que se usa como referencia para las filas e
incrementar el valor del ndice que hace referencia a las columnas, hasta el valor de la
ltima columna, luego repetir el proceso con cada fila.
Pseint:
Proceso Recorrido
Dimension tabla[10,10];
Definir i,j como enteros;
C++:
int main(){
int i,j;
int tabla[10][10];
for(i=0;i<=9;i++){
for(j=0;j<=9;j++){
cout<< Ingrese el valor a asignar en la fila <<i<< y columna <<j<<endl;
cin>>tabla[i][j];
}
}
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ejercicios
1. Declarar e inicializar un arreglo de una dimension con 3 posiciones, con los valores
10,12 y 3. Asignar a una variable X la suma de todos los valores del arreglo.
2. Declarar un arreglo de una dimension para almacenar 3 notas dadas por el usuario,
luego calcule el promedio.
4. Declarar e inicializar un arreglo de enteros en donde el tamao y los valores son dados
por el usuario.
Permita que el usuario asigne las notas a cada posicin del arreglo.
Calcule la suma de las notas.
Luego indique cul es el promedio del conjunto de notas.
6. Escribir un programa que tras asignar los nmeros, -2, 5, 8, -9, 10, 15 y 4 a un
arreglo, calcule independientemente la suma de los elementos positivos y negativos.
7. Declarar un arreglo de Reales de tamao 3x3 y permitir que el usuario ingrese los
valores.
9. Declarar un arreglo de Reales de tamao 6x6 y permitir que el usuario ingrese los
valores luego sumar los valores de la tercera fila.
10. Escribir un programa que multiplique por dos los elementos de la siguiente matriz:
5 6 13
14 2 4
21 7 6
Benllisoft
Curso de Programacin Estructurada
Registros
Es un tipo de dato estructurado formado por la unin de varios elementos bajo una
misma estructura. Estos elementos pueden ser, o bien datos elementales (entero, real,
carcter,...), o bien estructuras de datos. A cada uno de esos elementos se le llama
campo.
Dado que los elementos pueden ser de distintos tipos se considera una estructura
Heterognea.
Declaracin de un registro
C++:
#include <iostream>
using namespace std;
int main(){
struct{
<campos>
<campos>
<campos>
<campos>
}<Identificador>;
return 0;
}
Como es habitual en C++, para declarar la variable hemos indicado primero el tipo de
datos (struct { ...} ) y despus el nombre que tendr esa variable .
Benllisoft
Curso de Programacin Estructurada
Tambin podemos declarar primero cmo van a ser nuestros registros, es decir, declarar
la estructura como un tipo de dato y ms adelante definir variables de ese tipo.
#include <iostream>
using namespace std;
int main(){
struct <Identificador_tipo_registro>{
<campos>
<campos>
<campos>
};
return 0;
Benllisoft
Curso de Programacin Estructurada
Ejemplos
1.1
#include <iostream>
using namespace std;
int main(){
struct{
string nombre;
int cedula;
int semestre;
}Estudiante; //Declaracin del registro Estudiante
return 0;
}
1.2
#include <iostream>
using namespace std;
int main(){
struct Estudiante{
string nombre;
int cedula;
int semestre;
};
return 0;
}
Benllisoft
Curso de Programacin Estructurada
2. Declarar un registro para una Fecha con los campos : da, mes y ao.
2.1
#include <iostream>
using namespace std;
int main(){
struct {
int dia,mesa,ao;
}Fecha;
return 0;
}
2.2
#include <iostream>
using namespace std;
int main(){
struct Fecha{
int dia,mesa,ao;
};
Fecha F1;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Asignar valores a los campos del registro
Para acceder a cada uno de los datos que forman el registro, tanto si queremos leer su
valor como si queremos cambiarlo, se debe indicar el nombre de la variable y el del dato
(o campo) separados por un punto.
Ejemplo
#include <iostream>
using namespace std;
int main(){
struct{
int dia;
int mes;
int ao;
}Fecha;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
2. Registro Estudiantil Definir 2 registros para guardar los datos de dos estudiantes con
los campos: Nombre,cdula y semestre.
#include <iostream>
using namespace std;
int main(){
struct Registros_Estudiantil{
string nombre;
int cedula;
int semestre;
}
Registro_estudiantil e1,e2;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Arreglo de registros
Dado un registro podemos definir un arreglo de registro, es decir en cada posicin del
arreglo se encuentra un Registro.
<tipo> <identificador>[Dimension];
Ejemplos
Se requiere un programa para registrar en una lista a 10 personas, los campos del
registros son: Nombre,cdula y edad.
Pasos:
#include <iostream>
using namespace std;
int main(){
struct Personas{
string nombre;
int cedula;
int edad;
};
return 0;
}
Benllisoft
Curso de Programacin Estructurada
2. Dar valores a arreglos compuestos por registros
Pasos:
Ejemplos
#include <iostream>
using namespace std;
int main(){
struct Personas{
string nombre;
int cedula;
int edad;
};
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados
#include <iostream>
using namespace std;
int main(){
int i;
struct Personas{
string nombre;
int cedula;
int edad;
};
for(i=0;i<=9;i++){
cout<<Ingrese nombre,cdula y edad de la persona<<i+1<<endl;
cin>>Lista[i].nombre;
cin>>Lista[i].cedula;
cin>>Lista[i].edad;
return 0;
}
Benllisoft
Curso de Programacin Estructurada
Ejercicios
1.Realizar los siguientes ejercicios en lenguaje C++, recuerde validar todos los datos de
entrada.
2.En una tienda donde solo hay 10 productos se desea calcular el total de ganancia que
produjo dicho negocio este mes. Para ello se cuenta por producto con: Precio del Costo,
precio de venta, cdigo y cantidad vendida en ese periodo. Realizar programa que
permita calcular las Ganancias de la Tienda.
3.Se desea calcular el promedio, nota mnima y mxima de una lista de notas
correspondientes a un curso. Se recibir el nmero de alumnos, la nota y el nombre
correspondiente a c/u, y se entregan los resultados en la pantalla.
4.Desarrolle una estructura que guarde los datos de los n alumnos de la materia
programacin en Lenguaje C++, y los muestres por pantalla, la estructura debe tener
(cdula, nombre, apellido, edad, profesin, lugar de nacimiento, direccin y telfono).
6.Realizar un programa en C++ que lea en un arreglo de estructuras los datos de los N
trabajadores de la empresa y que imprima los datos del empleado con mayor y menor
salario.
7.Establezca una estructura para almacenar como mximo los datos de 100 libros o
revistas cientficas de una biblioteca. Por cada libro o revista cientfica, mostrar la
siguiente informacin:
a) Nmero de referencia.
b) Ttulo
c) Nombre del autor
d) Editorial
e) Clase de publicacin (libro o revista)
f) Nmero de edicin (solo libros)
g) Ao de publicacin (solo libros)
Benllisoft
Curso de Programacin Estructurada
Para el manejo del programa muestre el siguiente men:
1. Registrar libro
2. Registrar revista
3. Buscar libro (Por nmero de referencia,ttulo,autor)
4. Buscar Revista (Por nmero de referencia,ttulo,autor)
5. Eliminar libro
6. Eliminar revista
7. Mostrar toda la informacin
8. Salir
Benllisoft