Sie sind auf Seite 1von 111

Curso de

Programacin
Estructurada

Autor: Luis Antonio Garca


Teora y prctica de nociones bsicas de
programacin.

C.C. El Recreo, Torre Sur, Piso 7, Oficina 7


Caracas Venezuela
Telfonos: +58 212 7612523 7628438
Website: http://www.benllisoft.com/
Email: cursos@benllisoft.com
Fecha: 27/03/2010
Curso de Programacin Estructurada

Tabla de contenido

Introduccin

Programacin

Programacin estructurada

Lenguajes de programacin

Procesos o algoritmos

Estructura general de un proceso/algoritmo

Herramientas para el diseo de proceso/algoritmos

Componentes

Operadores

Ejercicios guiados

Ejercicios

Pseudocdigo

Estructura general de un proceso/algoritmo en pseudocdigo

Variables

Tipos de datos

Operadores en pseudocdigo

Prioridad de operadores

Comentarios

Asignacin de valores a variables

Ejercicios guiados

Operacin de escritura y lectura (entrada/salida)

Operacin de escritura (salida)

Operacin de lectura (entrada)

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

Fundamentos de las estructuras cclicas

Ciclo mientras

Ejercicios guiados

Ciclo repetir-hasta

Ejercicios guiados

Ciclo para

Ejercicios guiados

Ciclos infinitos y cmo evitarlos

Ejercicios

Subprocesos/Subalgoritmos

SubProcesos/Subalgoritmos sin retorno (acciones, funciones del tipo void)

Declaracin de un subproceso

Invocar un proceso

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

SubProcesos con retorno( Funciones)

Declarar una subproceso

Retorno

Invocar un subproceso

Ejercicios guiados

Parmetros

Parmetros por valor

Ejercicios guiados

Parmetros por referencia

Ejercicios guiados

Variables Locales y globales

Locales

Globales

Ejercicios

Tipos de datos Estructurados

Arreglos

Arreglos de una dimensin

Declaracin de un arreglo

Operaciones bsicas con arreglos

Ejercicios guiados

Arreglos de dos dimensiones

Declaracin

Operaciones bsicas con arreglos de dos dimensiones

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

Consiste en la elaboracin de programas para la resolucin de problemas, mediante el


uso de computadores.

Programacin estructurada

Consiste en la elaboracin de programas de fcil comprensin, basado en plantear una


operacin como un todo para luego dividirlo en problemas ms sencillos.

Lenguajes de programacin

Un lenguaje de programacin es un lenguaje formal diseado para realizar procesos que


pueden ser llevados a cabo por computadoras. Pueden usarse para crear programas que
controlen el comportamiento fsico y lgico de una mquina, para expresar algoritmos
con precisin.

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

Conjunto finito de instrucciones, cuyo fin es resolver un problema.

Estructura general de un proceso/algoritmo


Inicio
Entrada de Datos
Procesamiento de los datos
Salida
Fin
Herramientas para el diseo de proceso/algoritmos
Diagramas de flujo
Pseudocdigos

Benllisoft
Curso de Programacin Estructurada
Diagrama de flujo

Un diagrama de flujo es una representacin grfica de un proceso o algoritmo. Cada


paso es representado por un smbolo diferente que contiene una breve descripcin de la
etapa del algoritmo.

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

Terminal: indica el inicio o fin del Proceso


o algoritmo. Es necesario indicar cul es
el nombre del proceso.

Entrada/Salida: representa cualquier


entrada o salida de datos.

Actividad: representa una actividad


llevada a cabo en el proceso
(declaraciones ,asignacin ,operaciones).

Decisin: indica un punto en el cual se


produce un bifurcacin.

Lneas de flujo: indican el flujo del


diagrama.

Benllisoft
Curso de Programacin Estructurada
Operadores

Son utilizados en operaciones de asignacin, aritmticas, relaciones condicionales y


lgicas. Estas operaciones son aquellas llevadas a cabo en los smbolos de actividades y
decisin.

Smbolo Descripcin

Operadores Aritmticos

+ Suma

- Resta

* Multiplicacin

/ Divisin

Operadores Relacionales

< Menor

> Mayor

<= Menor igual

>= Mayor igual

== Igual

!=,<> Distinto

Operadores Lgicos

Y (AND,&&) Conjuncin

O (,OR,||) Disyuncin

NOT (NO,!) Negacin

Operador de asignacin

=,<- Asignacin un valor a una variable

Benllisoft
Curso de Programacin Estructurada

Ejemplos

1. Terminal: indica el inicio y fin del Proceso/algoritmo.

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: Si recibimos un precio podemos usar la variable P, en ella guardaremos el


valor dado por el usuario.

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

Ejemplo: Recibir el precio de un producto en una variable P , duplicarlo y asignar el


resultado en una variable P2, por ltimo mostrar el valor de P2.

Ejemplo: Dados 2 nmeros mostrar la suma.

Benllisoft
Curso de Programacin Estructurada

4. Decisin: Indica un punto en el cual se produce una bifurcacin, esta bifurcacin


viene dada por el resultado de una o ms operaciones de relacin, llamadas expresiones
lgicas.

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.

Ejemplo: Dado un precio indicar si el valor del precio es correcto o no.

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:

1. Indicarle al usuario que ingrese los datos.


2. Recibir los datos en variables.
3. Realizar la suma y almacenar el resultado a una variable.
4. Mostrar el resultado del proceso.

Benllisoft
Curso de Programacin Estructurada
2. Positivo o negativo: Recibir un valor e indicar si es positivo o negativo.

Pasos:

1. Indicarle al usuario que ingrese el valor.


2. Guardar el valor en una variable.
3. Usando la estructura condicional evaluar el valor almacenado en la variable.
4. Mostrar la salida dado el resultado de la condicin.

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.

Y: La expresin compuesta es verdadera si y slo si todas las condiciones que la


componen son verdaderas.

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

O: La expresin compuesta es verdadera si al menos una condicin es verdadera.

6.3 Dada una letra indicar si es una vocal o una consonante.

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:

1. Defina un proceso llamado Primer programa que muestre el mensaje Curso de


Programacin.
2. Indicarle al usuario que ingrese un valor numrico, luego hacer la lectura del valor.
3. Indicarle al usuario que ingrese su nombre y nmero de cedula, recibir los datos y
mostrarlos.
4. Indicarle al usuario que ingrese dos valores, leerlos, sumarlos y mostrar el
resultado.
5. Recibir dos valores, calcular la multiplicacin y mostrar el resultado.
6. Recibir un nmero, triplicarlo y mostrar el resultado.
7. Calcular el promedio de 3 notas dadas por el usuario.
8. Recibir el nombre y ao de nacimiento de una persona, Mostrar el nombre de la
persona e indicar qu edad tiene.
9. Indicarle al usuario que ingrese un valor entre 1 y 10, usando la estructura
condicional muestre un mensaje indicando si el valor pertenece al rango o est
fuera del rango.
10. Indicarle al usuario que ingrese un valor positivo, usando la estructura condicional
validar la condicin y mostrar un mensaje indicando correcto o incorrecto.
11. Dado un precio calcular el IVA y luego mostrar el resultado. Validar el precio, si el
precio es correcto realizar el clculo, en caso contrario muestre un mensaje de
error.
12. Dado un valor indicar si es menor a 100, mayor a 100 o igual a 100.
13. Registrar a un usuario indicando que ingrese su nombre y su edad (Validar que la
edad este en el rango de 0 a 100). Mostrar un mensaje de error o un mensaje que
indique que el usuario se ha registrado.
14. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si
el promedio de tres calificaciones es mayor o igual a 30. Mostrar un mensaje
indicando Aprobado o Reprobado Validar las 3 notas antes de realizar los
clculos, muestre un mensaje de error en caso de que alguna nota no sea
correcta.

Benllisoft
Curso de Programacin Estructurada
15. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig.
manera:

Si trabaja 40 horas o menos se le paga $16 por hora.


Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas
y $20 por cada hora extra.

Validar los datos de entrada.

Benllisoft
Curso de Programacin Estructurada
Pseudocdigo

Es una descripcin de alto nivel, compacta e informal de un algoritmo, siendo un


intermedio entre el lenguaje natural y los lenguajes de programacin.

Utiliza las convenciones estructurales de un lenguaje de programacin real, pero est


diseado para la lectura humana en lugar de la lectura mediante mquina, y con
independencia de cualquier otro lenguaje de programacin.

Estructura general de un proceso/algoritmo en pseudocdigo

Proceso/Algoritmo <Nombre o Identificador>


Declaracin de variables
Asignacin de valores iniciales (opcional)
Lectura de datos
Procesamiento de los datos
Salidas/Resultados
FinProceso/Algoritmo

Nota: Un proceso/algoritmo est constituido por un nmero N de instrucciones, en


pseudocdigo cada instruccin est separada por ;

Variables

En programacin, una variable est formada por un espacio en el sistema de


almacenaje (memoria principal de un ordenador) y un nombre simblico (un identificador)
que est asociado a dicho espacio. En ese espacio se puede almacenar informacin.

El uso de variables es imprescindible para el desarrollo de un algoritmo,los datos de


entrada,constantes y resultado estarn almacenados en estos espacios de memoria.

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.

Por simplificacin en los ejercicios anteriores se omite la declaracin de variables, para


hacer nfasis slo en su uso. En adelante es necesario declarar la variable antes de
usarla.

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

Entero Corresponde al conjunto de los nmeros enteros.

Real Corresponde al conjunto de los nmeros reales.

Caracter Representa una o ms letras,dgitos o smbolos.


(Cadena de Caracteres)

Lgico Dispone solo de dos posibles valores:


Verdadero o Falso.

Benllisoft
Curso de Programacin Estructurada
Operadores en pseudocdigo

Smbolo Descripcin

Operadores Aritmticos

+ Suma

- Resta

* Multiplicacin

/ Divisin

%,Mod Resto de la divisin entera

Operadores Relacionales

< Menor

> Mayor

<= Menor igual

>= Mayor igual

== Igual

<> , != Distinto

Operadores lgicos

AND (Y,&&) Conjuncin

OR (O,||) Disyuncin

NOT (NO,!) Negacin

Operador de asignacin

=,<- Asignacin un valor a una variable

Benllisoft
Curso de Programacin Estructurada

Prioridad de operadores

Los operadores tienen unas prioridades preestablecidas, es decir, que si en una


expresin hay que resolver varias operaciones, cada parte se evaluar y resolver en un
cierto orden. Si es necesario alterar ese orden, se puede recurrir a escribir las distintas
partes de la expresin entre parntesis, lo que provoca que se ejecuten antes que las
partes que no estn entre parntesis. No obstante, las operaciones escritas dentro de los
parntesis continuarn ejecutndose en el orden de prioridad de los distintos operadores.

Mayor Prioridad

Operador Descripcin

() Parntesis

**,^ Potencia

*,/ Multiplicacin y divisin

+,- Suma y resta

div,% Divisin entera (cociente y resto)

<,<=,>,>=,==,<> Relacionales

NOT Negacin

AND Conjuncin

OR Disyuncin

Menor Prioridad

Benllisoft
Curso de Programacin Estructurada

Comentarios

Se pueden incluir comentarios en un algoritmo con objeto de aclarar su contenido, es


muy importante comentar las lneas de cdigos para facilitar su compresin.

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:

Definir x como Entero;


Definir precio como Real;
Definir Letra como Caracter;
Definir V como Lgico;

Representacin en diagrama de flujo de Definiciones:

Actividad: representa una actividad


llevada a cabo en el proceso
(declaraciones ,asignacin ,operaciones).

Ejemplo

Pseudocdigo:

Proceso Programa
Definir x como Entero;
Fin Proceso

Diagrama:

Benllisoft
Curso de Programacin Estructurada
Asignacin de valores a variables

Es posible asignar valores a las variables mediante los operados = o <- .

Sintaxis:

<Identificador> = <valor o expresin>;

<Identificador> <- <valor o expresin>;

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;

Representacin en diagrama de flujo de Asignaciones:

Actividad: representa una actividad


llevada a cabo en el proceso
(declaraciones ,asignacin ,operaciones).

Ejemplo:

Pseudocdigo:

Proceso Asignacin
Definir x como Entero;
x=1;
FinProceso

Diagrama:

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

1. Definir un algoritmo en donde se declare una variable de tipo Entero y se le asigne un


valor.

Algoritmo Ejemplo
Definir x como Entero;
x=20;
FinAlgoritmo

2. Definir una variable del tipo caracter y asignarle un valor.

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

6. Ejemplos de asignaciones con operaciones

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

Operacin de escritura y lectura (entrada/salida)

Operacin de escritura (salida)

Muestra mensajes y datos almacenados en variables.

Sintaxis:

Escribir <Mensaje, variable, Expresin>;

Representacin en diagramas de flujo:

Entrada/Salida: representa cualquier


entrada o salida de datos.

Ejemplos

1. Programa que muestra la cadena Curso de Programacin.

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:

*** Ejecucin Iniciada. ***


100
*** Ejecucin Finalizada. ***

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:

*** Ejecucin Iniciada. ***


2
*** Ejecucin Finalizada. ***

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> ;

Representacin en diagramas de flujo:

Entrada/Salida: representa cualquier


entrada o salida de datos.

Ejemplos

1.Recibir un nmero entero dado por el usuario

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

2. Leer el nombre y edad de una persona.

Proceso Datos2
Definir edad como Entero;
Definir nom como caracter;
Escribir Ingrese su edad;
Leer edad;
Escribir Ingrese su nombre;
Leer nom;
Finproceso

3. Recibir el precio de un producto en una variable P , duplicarlo y asignar el resultado en


una variable P2, por ltimo mostrar el valor de P2.

Proceso Duplicar
Definir P,P2 Como Real;
Escribir Ingrese un precio;
Leer P;
P2=P*2;
Escribir P2;
FinProceso

4. Dados 2 nmeros mostrar la suma.

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

Desarrolle en pseudocdigo usando pseint los siguientes programas:

1. Defina un proceso llamado Primer programa que muestre el mensaje Curso de


Programacin.

2. Indicarle al usuario que ingrese su nombre y nmero de cedula, recibir los datos y
mostrarlos.

3. Definir 1 variable y asignarle el valor constante 10 , indicarle al usuario que


ingrese un valor , luego sumarle el valor constante y mostrar el resultado.

4. Recibir dos valores, calcular la multiplicacin y mostrar el resultado.

5. Recibir un nmero, triplicarlo y mostrar el resultado.

6. Recibir 5 notas,luego mostrar el promedio.

7. Recibir el nombre de una persona y su ao de nacimiento, indicar que edad tiene


la persona.

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

En programacin, las estructuras condicionales tambin llamadas estructuras de control


permiten modificar el flujo de ejecucin de las instrucciones de un programa.

Con las estructuras condicionales se puede:

De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (SI-


Entonces-Sino)
De acuerdo al valor de una variable, ejecutar un grupo u otro de sentencias
(Select-Case)

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

<= Menor igual

>= Mayor igual

== Igual

<> , != Distinto

Benllisoft
Curso de Programacin Estructurada
Operadores lgicos

Con el uso de los operadores lgicos podemos construir expresiones lgicas


compuestas.

Operadores lgicos

AND (Y,&&) Conjuncin

OR (O,||) Disyuncin

NOT (NO,!) Negacin

Benllisoft
Curso de Programacin Estructurada
Condicional

Condicional simple

Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que


le siguen al entonces en caso de que la condicin sea verdadera, en caso de que la
condicin sea falsa no se ejecuta ninguna instruccin y la ejecucin del programa
contina con la siguiente instruccin.

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

Representacin en diagrama de flujo

Decisin: indica un punto en el cual se


produce un bifurcacin.

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

1.Dado un valor indicar si es Mayor a 0.

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

Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que


correspondan. Se ejecuta el bloque de instrucciones que le sigue al entonces si la
condicin es verdadera o las instrucciones que le siguen al sino si la condicin es falsa.

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

Representacin en diagrama de flujo:

Decisin: indica un punto en el cual se


produce un bifurcacin.

Benllisoft
Curso de Programacin Estructurada

Ejercicios guiados

1. Dado un valor indicar si es Positivo Negativo.

Pseudocdigo:

Proceso Condicional
Definir x como real; // Declaracin de la variable
Escribir "Ingrese un valor"; //Mensaje al usuario
Leer x; // Lectura del valor

Si x>=0 Entonces //Condicin


Escribir Positivo ; //Bloque de instrucciones 1 , caso Verdadero
sino
Escribir Negativo; //Bloque de instrucciones 2 , caso Falso
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. 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:

3. Dado un valor indicar si es positivo, negativo igual a 0.

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;

si precio >=0 entonces


precio =precio*1.12;
Escribir El monto neto es:;
Escribir precio;
sino
Escribir Error: monto incorrecto;
finsi
Fin proceso

5. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su


promedio de tres calificaciones es mayor o igual a 30.

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.

Y: La expresin compuesta es verdadera si y slo si todas las condiciones que la


componen son verdaderas.

6.1 Recibir un valor y validar que sea positivo y menor a 100.

Proceso Rango
Definir num como Real;
Escribir Ingrese el valor;
Leer num;

si num>=0 y num<100 entonces


Escribir Pertenece al rango;
sino
Escribir Valor fuera del rango;
finsi
fin proceso

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;

Escribir Ingrese usuario;


Leer usuario;
Escribir Ingrese clave;
Leer clave;

si usuario==Programacion y clave== PE2016 entonces


Escribir Bienvenido;
sino
Escribir Error: usuario o clave invlida;
finsi
Fin algoritmo

Benllisoft
Curso de Programacin Estructurada
O: La expresin compuesta es verdadera si al menos una condicin es verdadera.

6.3 Dada una letra indicar si es una vocal o una consonante.

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

7. Un valor es aceptado si es positivo y menor a 500 o si es mayor a 700

Proceso programa
Definir dato como Real;
Escribir ingrese el valor;
Leer dato;

si (dato>0 y dato<500) o dato>700 entonces


Escribir correcto;
sino
Escribir Incorrecto;
finsi
Fin proceso

Benllisoft
Curso de Programacin Estructurada

Seleccin (switch,segn)

Esta instruccin permite ejecutar opcionalmente varias acciones posibles,dependiendo


del valor almacenado en la variable. Al ejecutarse se evala el contenido de la variable y
se ejecuta la secuencia de instrucciones asociada con dicho valor. Opcionalmente se
puede agregar una opcin final denominada de otro modo (default) cuya secuencia de
instrucciones asociadas se ejecutar solo si el valor de la variable no coincide con
ninguna de las opciones anteriores.

Sintaxis:

Segun <variable> Hacer


opcin 1:
<secuencia de instrucciones 1>
opcin 2:
<secuencia de instrucciones 2>
.
.
.
opcin N:
<secuencia de instrucciones N>
De Otro Modo:
<secuencia por default>
Fin Segun

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;

Escribir "Ingrese una vocal";


Leer letra;

Segun letra Hacer


'a': Escribir "vocal a";
'e': Escribir "vocal e";
'i': Escribir "vocal i";
'o': Escribir "vocal o";
'u': Escribir "vocal u";
De Otro Modo:
Escribir "Consonante";
FinSegun
FinProceso

Diagrama:

Benllisoft
Curso de Programacin Estructurada
Ejercicios

1. Dado un nmero indicar si es mayor a 100.

2. Registrar a un usuario indicando que ingrese su nombre y su edad (Validar que la


edad este en el rango de 18 a 100). Mostrar un mensaje de error o un mensaje que
indique que el usuario se ha registrado.

3. Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si el


promedio de tres calificaciones es mayor o igual a 30. Validar las 3 notas que debe
ingresar el usuario.

4. Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:

Si trabaja 40 horas o menos se le paga $16 por hora.


Si trabaja ms de 40 horas se le paga $16 por cada una de las primeras 40 horas
y $20 por cada hora extra.

Validar los datos de entrada.

5. Muestre un men al usuario con opciones de suma,resta, multiplicacion y division.


Reciba la opcin y los datos requeridos para la operacin, luego indique cual es el
resultado.

6. Ingresar una calificacin (1 20) y visualizar la siguiente equivalencia:


19 y 20 Sobresaliente
16, 17 y 18 Muy Buena
14 y 15 Buena
12 y 13 Regular
01 al 11 Insuficiente

7. Dado un valor entero indicar si es par o impar.

8. Dado un nmero del 1 al 5 indicar si es primo o no (Validar el rango).

9. Ingresar una cantidad de 3 dgitos y visualizar en forma inversa.


Validar que la cantidad sea de 3 dgitos antes de realizar cualquier operacin.

10. Dados 3 nmeros indicar cual es el menor de ellos.

11. Recibe un numero del 1 al 7 y mostrar con cul dia de la semana corresponde.

12. Un programa que solo permite introducir los caracteres S y N.

Benllisoft
Curso de Programacin Estructurada
Estructuras cclicas

En programacin, las estructuras cclicas tambin llamadas estructuras de control


permiten modificar el flujo de ejecucin de las instrucciones de un programa.

Con las estructuras cclicas se puede:

Ejecutar un grupo de instrucciones mientras se cumpla una condicin


(Mientras,While)
Ejecutar un grupo de sentencias hasta que se cumpla una condicin (Do-
Until,Repetir-hasta)
Ejecutar un grupo de sentencias un nmero determinado de veces (For,Para)

Contadores

Es una variable que incrementa o decrementa su contenido en un valor constante cada


vez que se ejecute el proceso.

Es importante inicializar los contadores. El valor con que se inicie el contador depender
del problema a resolver.

Acumuladores

Es una variable que incrementa o decrementa su contenido en cantidades variables.

Se utiliza para almacenar el resultado de operaciones realizadas repetitivamente, como


sumas,multiplicaciones etc.

Es importante inicializar los acumuladores. El valor con que se inicie el acumulador


depender del problema a resolver.

Fundamentos de las estructuras cclicas

Definir un valor inicial


Establecer la Condicin
Establecer el incremento,decremento o cualquier cambio en las variables que se
evalan en la condicin.

Benllisoft
Curso de Programacin Estructurada
Ciclo mientras

La instruccin mientras ejecuta una secuencia de instrucciones mientras una condicin


sea verdadera.

Al ejecutarse este ciclo, la condicin es evaluada. Si la condicin resulta verdadera, se


ejecuta una vez la secuencia de instrucciones. Al finalizar la ejecucin del cuerpo del
ciclo se vuelve a evaluar la condicin y ,si es verdadera la ejecucin se repite, en caso
contrario termina la ejecucin del ciclo.

Sintaxis:

Mientras <condicion> Hacer


<instrucciones>
Fin Mientras

Diagrama de flujo:

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

1. Repeticin controlada por un contador.

Pasos:
1. Declarar el contador y darle un valor inicial
2. Establecer la condicion
3. Establecer el incremento,decremento

1.1 Mostrar por pantalla el mensaje HOLA 5 veces

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

2. Repeticin controlada por el usuario

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

3. Repeticin controlada por el valor que toma un acumulador o por el usuario.

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;

Mientras acum<=50 y x<>0 hacer


Escribir Ingrese un valor o 0 para terminar;
Leer x;
acum=acum+x; // Acumulador
si (acum==50) entonces
Escribir Valor mximo alcanzado;
fin si
Fin mientras
Escribir Sumatoria : acum;
Fin proceso

4. Programa que muestra la tabla de multiplicar de un numero dado por el usuario.

Proceso Tabla
Definir num,resp,x como entero;
Escribir Cual tabla desea ver?;
Leer num;
x=1;

Mientras x<=10 hacer


resp=num*x;
Escribir resp;
Fin mientras
Fin proceso

Benllisoft
Curso de Programacin Estructurada
Ciclo repetir-hasta

Ejecuta una secuencia de instrucciones hasta que la condicin sea verdadera.

La secuencia de instrucciones que forman el cuerpo se ejecutan una vez y luego se


evala la condicin. Si la condicin es falsa,el cuerpo del ciclo se ejecuta nuevamente y
se vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea verdadera.

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

1. Desarrolle un algoritmo que:

Le indique al usuario que ingrese un valor.


Repita la instruccin anterior hasta que el valor sea positivo.
Guarde el valor en una variable.

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

Ejecuta un conjunto de instrucciones un nmero determinado de veces. Maneja todos


los detalles de una repeticin controlada por un contador.

Sintaxis

Para <variable>=<valor_inicial> Hasta <valor_final> Con Paso <paso> Hacer


<instrucciones>
Fin Para

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

Ciclos infinitos y cmo evitarlos

Es necesario seguir los fundamentos de las estructuras cclicas:

Definir una variable de control


Establecer una condicion
Definir un incremento decremento o cambio sobre la variable.

Ejemplo de ciclos infinitos:

1. No establecer el incremento en alguna variable contadora.

Proceso Error_ciclo
Definir x como entero;
Mientas x<=50 hacer
Escribir x;
Fin Mientras
Fin Proceso

2. Alterar el valor de la variable contadora del ciclo

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.

2. Mostrar slo los nmeros pares entre 0 y 20.

3. Dado un numero N, mostrar todos los nmeros entre el rango de 1 a N.

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.

6. Calcular el promedio de un alumno que tiene 7 calificaciones. Las calificaciones sern


ingresadas, utilice el concepto de acumulador para hacer la sumatoria de las 7
calificaciones y luego muestre el promedio.

7. Realizar un programa que dado una Base y un exponente calcule la potencia.

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:

Si el obrero trabaja 40 horas o menos, se le paga $20 por hora


Si trabaja ms de 40 horas, se le paga $20 por cada una de las primeras 40 horas
y $25 por cada hora extra.

El programa debe:

Recibir el numero N que indica cuantos obreros posee la empresa


El numero de horas y mostrar el salario por cada obrero.

Benllisoft
Curso de Programacin Estructurada
Subprocesos/Subalgoritmos

La resolucin de los problemas complejos se facilita considerablemente si se dividen en


problemas ms pequeos. Esto implica que el problema original ser resuelto por medio
de varios mdulos, cada uno de los cuales se encarga de resolver un subproblema
determinado. Estos mdulos, se conocen con el nombre de subalgoritmos.

Caractersticas

Los subalgoritmos se escriben solo una vez.

Es posible hacer referencia a ellos (llamarlos) desde diferentes


puntos del pseudocdigo.

Los subalgoritmos son independientes entre s.

Un subalgoritmo puede ser invocado en cualquier momento y


cuantas veces sea necesaria.

El llamado a al subalgoritmo se considera una instruccin dentro del cdigo.

En el momento en que termine la ejecucin de subproceso/subalgoritmo continua


el cdigo en la subproceso o proceso que lo invoco.

Los subalgoritmos pueden retornan o no un valor.

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.

Poseen una lista de argumentos mediante la cual pueden recibir valores.

Benllisoft
Curso de Programacin Estructurada
SubProcesos/Subalgoritmos sin retorno (acciones, funciones del tipo void)

Declaracin de un subproceso

Sintaxis

SubProceso/Subalgoritmo <Identificador> (argumentos)


<instrucciones>
FinSubProceso/Subalgoritmo

Invocar un proceso

Para invocar un subproceso se debe utilizar su nombre y entre parntesis los


parmetros.

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;

Mientras i<=10 hacer


Escribir x * i = x*i;
i=i+1;
Fin mientras
Fin subproceso

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)

Declarar una subproceso

SubProceso/Funcion variable_de_retorno<- Identificador (argumentos)


<Instrucciones>
FinSubProceso/Funcion

Retorno

Las funciones poseen una variable de retorno, en el momento en que se le asigna un


valor a esta variable, la funcin retorna el valor asignado y termina su ejecucin.

Invocar un subproceso

Usando el identificador dentro de alguna expresin podemos invocar una funcin, es


decir que el valor de retorno es asignado a una variable.

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

1. Declara una funcion que recibe un valor dado por el usuario ,y retorna el valor
duplicado.

Funcion respuesta <- Duplicar()


Definir D,respuesta como Real;
Escribir Ingrese el valor a duplicar;
Leer D;
respuesta=D*2; // En el momento en qu respuesta recibe un valor se hace el retorno.
Fin Funcion

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.

Subproceso suma<- Lectura()


Definir i como entero;
Definir suma como Real;
Definir acum,x como Real;
acum=0;

Para i=1 hasta 10 con paso 1 hacer


Escribir Ingrese la nota i;
Leer x;
acum=acum+x; //acumulador
Fin para
suma=acum; // Retorno
Fin subproceso

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.

Subproceso r<- Mayor()


Definir a,b ,r como entero;
Si a>b entonces
r=a;
sino
r=b;
finsi
Fin subproceso

Proceso Principal

Escribir Mayor(); //Mayor retorna el valor, la funcin Escribir los muestra.

Fin proceso

Benllisoft
Curso de Programacin Estructurada
Parmetros

En la lista de parmetros un subproceso/subalgoritmo recibe valores. Los valores


recibidos por parmetros pueden ser usados dentro del bloque de instrucciones.

Parmetros por valor

Cuando el control pasa al subproceso, los valores de los parmetros en la llamada se


copian uno a uno en los a "objetos" locales de la funcin, estos "objetos" son de hecho
los parmetros de la lista.

Ejercicios guiados

1. Definir un subproceso llamado DUPLICAR que reciba un valor entero por parmetro y
lo retorna duplicado.

Subproceso respuesta <- DUPLICAR (num) // Recibe el valor en num


respuesta=num*2;
fin subproceso

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.

Funcion r <- SUMA (num1,num2)


r=num1+num2;
fin subproceso

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.

Subproceso resp <- Potencia (base,exp)


Definir acumi,potencia como Entero;
acum=1;

Para i=1 hasta exp con paso 1 hacer


acum=acum*base;
Fin para

resp=acum;
fin subproceso

Proceso Principal
Definir b como real;
Definir e como entero;

Escribir Ingrese base y exponente;


Leer b;
Leer e;

Escribir Respuesta Potencia(b,e);


Fin proceso

4. Definir un subproceso que recibe un precio por parmetro y muestra el precio ms el


IVA.

Subproceso IVA (num)


num=num*1.12;
Escribir num;
Fin proceso

Proceso Programa
Definir p como real;
Escribir Ingrese el monto;
Leer p;
IVA(p);
Fin proceso

Benllisoft
Curso de Programacin Estructurada
Parmetros por referencia

Si queremos que los cambios realizados en los parmetros dentro de la funcin se


conserven al retornar de la llamada, deberemos pasarlos por referencia. Esto se hace
declarando los parmetros de la funcin como referencias a objetos, estos objetos son
las variables usadas en la lista de parmetros durante la llamada de la funcin.

Si un parmetro hace referencia a un objeto, todos los cambios realizados sobre el


tambin sern hechos sobre el objeto.

Ejercicios guiados

1.Enviar un parametro por referencia:

Subproceso DUPLICAR (num por referencia)


num=num*2;
fin subproceso

Proceso principal
Definir a como entero;
a=2;
Escribir Valor antes del proceso a;
DUPLICAR(a);
Escribir Valor despus del proceso a;
fin proceso

*** Ejecucin Iniciada. ***


Valor antes del proceso a 2
Valor despus del proceso 4
*** Ejecucin Finalizada. **

En este caso, la variable a tendr un valor distinto despus de llamar a la funcin.


Cualquier cambio de valor que realicemos en los parmetros dentro de la funcin, se
har tambin en los objetos referenciados, en este caso la variable a.

Benllisoft
Curso de Programacin Estructurada
2. Disee una funcin que reciba dos precios y retorne:

La suma de los precios


El monto de la suma ms el I.V.A.

Ya que el retorno es nico, se puede hacer uso de una variable pasada por referencia
para guardar el dato de inters.

Subproceso resp <- Factura(precio1,precio2,suma por referencia)


suma=precio1+precio2;
retornar suma*1.12;
fin subproceso

Proceso Principal
Definir p1,p2,s,iva como Real;
Escribir Ingrese los dos precios;
Leer p1,p2;

Si p1>=0 y p2>=0 entonces


iva=Factura(p1,p2,s);
Sino
Escribir Precio no vlido;
Fin si

Escribir Monto bruto: s;


Escribir Monto Neto: iva;
Fin proceso

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

Una variable local es aquella cuyo mbito se restringe a al subproceso que la ha


declarado, se dice entonces que la variable es local a ese subproceso. Esto implica que
esa variable solo va a poder ser manipulada en dicho mdulo, y no se podr hacer
referencia fuera de dicha seccin.

Caractersticas

Las variables locales slo podrn ser manipuladas en el subproceso/proceso en


cual fueron declaradas.
Los subprocesos son independientes entre s, por lo tanto dos o ms subprocesos
y el proceso pueden tener variables locales con los mismos nombres.
Los objetos declarados en la lista de parmetros tienen mbito local

Ejemplos

Subproceso EXAMPLE
Definir x como Real;
Definir z como carcter;
Fin subproceso

Proceso PROGRAMA
Definir numero como Real;
EXAMPLE();
fin proceso

Las variables x,z son locales a EXAMPLE y numero es local a PROGRAMA..

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

Este programa no arrojara ningn valor ya que x no es una variable definida en


PROGRAMA.

Para solucionar este problema, es decir, que es de inters el resultado hecho en


EXAMPLE, se debe hacer uso de un subproceso con retorno o de parmetros por
referencia.

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).

3. Definir un subproceso que calcule el factorial de un numero N (Validar que N>=0).

4. Simular un cajero automtico:

1) El usuario tiene 3 intentos para ingresar la contrasea correcta.


2) Si en el tercer intento la contrasea no es correcta se bloquea la cuenta.
3) Mostrar mensaje de contrasea incorrecta, correcta o bloqueada.

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.

Existen dos tipos:

Arreglos
Registros

Arreglos

Arreglos de una dimensin

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:

1. Permite almacenar los elementos del arreglo en posiciones de memoria contnua,


a cada posicin se le asocia un ndice.

2. Permite tener un nico nombre de variable que representa a todos los elementos,
y estos a su vez se diferencian por el ndice.

3. Permite el acceso directo o aleatorio a los elementos individuales del arreglo


mediante el ndice.

4. Si se utilizan arreglos en base 0, al declarar un arreglo de, por ejemplo 15


elementos, los ndices de elementos vlidos van de 0 a 14; mientras que si se
utilizan arreglos en base 1 los ndices vlidos van de 1 a 15.

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:

La instruccin Dimensin permite declarar un arreglo, indicando sus dimensiones.

Sintaxis

Dimension <identificador> [N];

Esta instruccin define un arreglo con el nombre indicado y N dimensiones

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

1. Declarar un arreglo de 10 posiciones para almacenar nmeros enteros.

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

Operaciones bsicas con arreglos

Asignacin de valores a un arreglo

Usando el identificador y el ndice podemos asignar valores a cada una de las


posiciones del arreglo.

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

Consiste en hacer una escritura de los valores almacenados en un arreglo.

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

Escribir Los valores guardados son;


Escribir datos[i];
Escribir datos[j];
Fin proceso

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

cout<<Los valores guardados son<<endl;


cout<<datos[i]<<endl;
cout<<datos[j]<<endl;

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.

A travs de los ciclos es posible realizar repetidamente operaciones sobre un arreglo,


con el uso de algn contador se indica la posicin a trabajar mientras que el ciclo hace
un incremento o decremento en el contador con cada iteracin.

Ejercicios guiados

1.Recibir 10 precios en un arreglo.

Pseint:

Proceso Programa
Definir i como entero;
Dimension Precios[10];

Para i=0 hasta 9 con paso 1 hacer


Escribir Ingrese el dato de la posicin i+1;
Leer datos[i];
Fin para
Fin proceso

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];

Para i=0 hasta 9 con paso 1 hacer


Escribir Ingrese el dato de la posicin i+1;
Leer datos[i];
Fin para

Para i=0 hasta 9 con paso 1 hacer


suma=suma+datos[i];
fin para
Escribir suma;
Fin proceso

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:

Dimesion <Identificador > [N,M]; // N indica filas y M columnas

C++:

<Tipo> <Identificador> [N][M]; // N indica filas y M columnas

Benllisoft
Curso de Programacin Estructurada
Ejemplos

1. Declarar una tabla de 5 filas y 5 columnas para almacenar nmeros enteros

Pseint:

Proceso Programa

Dimension Tabla [5,5];

Fin proceso

C++:

int main(){

int tabla [5][5];


return 0;
}

2. Declarar un arreglo de dos dimensiones para almacenar los precios de 30 productos


correspondientes a dos almacenes.

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

Dimension Notas [3,50] // Cada columna puede asociarse a un estudiante

Fin proceso

C++:

int main(){
float Notas [3][10];
return 0;
}

4.Es posible declarar un arreglo de un tamao N M, donde N y M son variables tipo


Entero que tienen un valor asignado.

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

Asignar valores a un arreglo

Usando el identificador y el ndice podemos asignar valores a cada una de las


posiciones del arreglo, indicando las coordenadas de cada una de ellas.

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

Usando el identificador y el ndice podemos asignar valores a cada una de las


posiciones del arreglo, a travs de lecturas y tambin mostrar los valores guardados en
el arreglo usando la operacin de Escritura.

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.

1. Recorrer un arreglo por filas, en cada posicin hacer una lectura.

Pseint:

Proceso Recorrido

Dimension tabla[10,10];
Definir i,j como enteros;

Para i=1 hasta 10 con paso 1 hacer


Para j=1 hasta 10 con paso 1 hacer
Escribir Ingrese el valor a asignar en la fila i y columna j;
Leer tabla[i,j];
Fin para
Fin para
Fin proceso

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.

3. Declarar un arreglo de una dimesion de tamao 10, luego dar un conjunto de


instrucciones que permiten al usuario asignar valores a cada posicin del arreglo. (Usar
ciclos).

4. Declarar e inicializar un arreglo de enteros en donde el tamao y los valores son dados
por el usuario.

5. Un arreglo de tamao 40 guarda un conjunto de notas de una asignatura.

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.

Valide todos los datos de entrada.

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.

8. Declarar un arreglo de tamao 10x10, luego dar un conjunto de instrucciones que


permitan al usuario asignar valores slo en la diagonal (Usar ciclos).

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>

};

<Identificador_tipo_registro> <identificador>; // Variable del tipo struct

return 0;

Benllisoft
Curso de Programacin Estructurada
Ejemplos

1. Declarar un registro para un estudiante con los campos : nombre,cdula,semestre.

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;
};

Estudiante e1; // e1 es una variable del tipo Estudiante

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;

cout<<Ingrese el dia mes y ao a registrar<<endl;


cin>>Fecha.dia;
cin>>Fecha.mes;
cin>>Fecha.ao;

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;

cout<<Ingrese los datos del primer estudiante (Nombre,Cdula,semestre)<<endl;


cin>>e1.nombre;
cin>>e1.cedula;
cin>>e1.semestre;

cout<< Ingrese los datos del segundo estudiante (Nombre,Cedula,semestre)<<endl;


cin>>e2.nombre;
cin>>e2.Cedula;
cin>>e2.semestre;

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.

Siguiendo la sintaxis de C para declarar arreglos

<tipo> <identificador>[Dimension];

En <tipo> indicaremos el tipo Registro.

Ejemplos

Se requiere un programa para registrar en una lista a 10 personas, los campos del
registros son: Nombre,cdula y edad.

Pasos:

1. Definir El registro como tipo de dato


2. Definir una estructura que nos permita simular una lista de 10 elemntos (Arreglo),
cada elemento va a hacer del tipo registro

#include <iostream>
using namespace std;

int main(){

struct Personas{
string nombre;
int cedula;
int edad;
};

Personas Lista[10]; //Arreglo de 10 posiciones, cada posicin posee un registro

return 0;
}

Benllisoft
Curso de Programacin Estructurada
2. Dar valores a arreglos compuestos por registros

Pasos:

1. Indicar el nombre del arreglo y la posicin que se desea trabajar.


2. Indicar despus de un punto el campo del registro.

Ejemplos

1. Leer valores en el primer registro de la lista persona

#include <iostream>
using namespace std;

int main(){

struct Personas{
string nombre;
int cedula;
int edad;
};

Personas Lista[10]; //Arreglo de 10 posiciones, cada posicin posee un registro

cout<<Ingrese nombre,cdula y edad de la primera persona en la lista<<endl;


cin>>Lista[0].nombre; //Accede a la posicin 0 del arreglo luego al campo del registro
cin>>Lista[0].cedula;
cin>>Lista[0].edad;

return 0;
}

Benllisoft
Curso de Programacin Estructurada
Ejercicios guiados

Desarrolle un programa para registrar a 5 persona en donde:

Cada registro est compuesto : Nombre,cdula y edad.


Validar la cdula (mayor a 6 millones y menos a los 40 millones)
Validar la edad (mayor a 0 )

Considerar el manejo de arreglos usando ciclos.

#include <iostream>
using namespace std;

int main(){
int i;
struct Personas{
string nombre;
int cedula;
int edad;
};

Personas Lista[10]; //Arreglo de 10 posiciones cada posicin posee un registro

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;

if(Lista[i].cedula<6000000 || Lista[i].cedula>40000000 || edad<0){


cout<< Error: verifique los datos a ingresar de nuevo<<endl;
i=i-1;
}
}

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).

5.La informacin de todos los empleados de la empresa DATASYSTEM est


almacenada
en una variable de tipo struct llamada empleado.La informacin con que se cuenta de
cada empleado es: nombre, sexo y sueldo.Por tanto se pide:

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

Das könnte Ihnen auch gefallen