Académique Documents
Professionnel Documents
Culture Documents
ESTRUCTURADA
ING. EDGARDO ULLOA MEJIA
Conceptos generales
El proceso de programacin
El Algoritmo
Objetivos
Un repaso de conceptos generales de la computadora
componentes
Que es un programa
Caractersticas de los lenguajes de programacin
Caractersticas de un buen programa
Pasos que integran el proceso de programacin
Que es un algoritmo y sus caractersticas
y sus
La computadora
Dispositivo electrnico rpido, seguro
Consta de
Datos-proceso informacin
Hardware de la Computadora
Unidad Central de Proceso
Unidades de entrada
Unidades de Salida
Unidades de Memoria
Unidades de almacenamiento secundario
La Memoria
Se utiliza para almacenar los datos a procesar y a estos se le
RAM
ROM
Almacenamiento Secundario
Unidades de Cinta, Diskette, Disco Duro, CDs y DVDs,
Unidades de Entrada
Nos sirven para introducir datos a un computador, los podemos
Mouse
Teclado
Digitalizadores
Escner
Cmaras digitales
Aparatos de msica digital
Etc.
Dispositivos de Salida
Nos permiten , oir o imprimir los resultados de salida
Algunos dispositivos son
Monitores
Impresora
Plotter
Parlantes
etc
El Programa
Es un conjunto de instrucciones que guan al computador
Partes de un programa
Estructura de datos
Operaciones primitivas elementales
Estructuras de control
Estructura de Datos
Estructuras de Control
So las formas lgicas de funcionamiento de la computadora
Secuenciacin
La seleccin
La repeticin
Caracteres Alfabtico
Caracteres Numricos
Caracteres Especiales
Vocabulario o lxico
Gramtica
El Proceso de Programacin
Definicin del Problema
Anlisis del Problema
Diseo del Programa
Codificacin del Programa
Implantacin del Programa
Mantenimiento del Programa
El Algoritmo
En el proceso de programacin hay un paso que es crucial a
Caractersticas de un Algoritmo
Ejercicio
Elaborar un algoritmo que guie a una persona normal a
Pasos
Inicio
Cambiar el foco fundido
Colocar un foco bueno
Fin
Algoritmo mejorado
Inicio
Colocar la escalera
Subir a la escalera
Quitar el foco fundido
Bajar la escalera
Obtener el foco de repuesto
Subir la escalera
Colocar el foco
Bajar la escalera
Guardad la escalera
FIN
Se
Colocar la escalera
Repetir
Repetir
Repetir
Obtener un foco de repuesto
Repetir
Repetir
Repetir
Guardar la escalera
FIN
Pseudocdigo
Contenido
Estructuras de datos
Operaciones primitivas elementales
Estructuras de Control
Estructura de Datos
Tipos de Datos
Datos numricos
Enteros
Reales
Datos de carcter
Datos Booleanos
Esta compuesto de valores Verdadero o Falso, este dato puede ser escrito o ledo,
usado para plantear alguna condicin.
Constantes y Variables
Contantes
Variables
Nombre
Contenido
Nombre de empleado
Cuota por hora
Horas trabajadas
Tipo de datos:
A) Constantes
Como ya se explico las constantes tienen datos invariables, sin
Constantes
nomConstante = Valor
Ejemplos
PI = 3.1415927
Cien = 100
Comentario1 = Aprobado
B) Tipos
Se definen nuevos tipos de datos. Formato
Tipos
Ejemplo
Donde
Nombre tipo es el nombre del nuevo tipo de datos
Valor1, valor2 son los valores que integran el nuevo tipo de datos
Colores = (NEGRO, BLANCO, AZUL, ROJO, AMARILLO)
Variables
Colorfondo: Colores
c) Variables
Esta accin permite representar en un programa las
Ejemplo
Para representar el caso de pago de sueldos, tendremos que hacer lo
siguiente:
Variables
nombreEmp : Cadena(30)
HorasTrab : entero
CuotaHora : real
Sueldo : real
computadora.
Introducir la materia prima para el proceso
Puede hacerse desde un teclado, mouse, lector de barras,
escner, cmara fotogrfica, un archivo de disco, o desde
cualquier otro dispositivo de entrada.
Leer nomVar1, nomVar2, nonVar3
Donde:
ejemplo
EJEMPLO
Ejemplo
Siguiendo nuestro ejemplo entonces
Imprimir nomEmp, sueldo
Mejorando para entender mejor
+ Suma
-
Resta
Multiplicacin
Divisin real
Divisin entera
Mod
= Asignacin
formato
CalcularVariable = Expresin
Donde
Ejemplo:
Otros ejemplos
A=1
B=A+1
B=B1
Y=5/2
Z=5\2
R = 5 MOD 2
Observacin = APROBADO
Nota
Estructuras de Control
Son las formas lgicas como puede comportarse una
La Secuenciacin
La seleccin
Simple IF THEN
DO UNTIL
La Repeticin
FOR
DOWHILE
La secuenciacin
contenido:
Primer problema
Estructura y diseo del algoritmo
Primer algoritmo
Funciones aritmticas
Elevar a una potencia (exponenciacin)
Que es la secuenciacin
Es una estructura de control que permite a la computadora ejecutar
OPERACIN 1
OPERACIN 2
OPERACIN 3
OPERACIN 4
FIN
PRIMER PROBLEMA
Definir el problema
Analizar el problema
Datos disponibles
Proceso a seguir
Nombre y sueldo
Nombre, horas trabajadas, cuota por hora
Sueldo = horas trabajadas * cuota por hora
Disear el programa
2. Declaraciones
Declaraciones
Variables
NombreEmp: cadena(30)
HorasTrab: ENTERO
CuotaHora : REAL
Sueldo : REAL
Lectura de datos
Hacer Clculos
4. IMPRESIN DE DATOS
Algoritmo
Algoritmo CALCULAR SUELDO DE UN EMPLEADO
Declaraciones
Variables
NombreEmp : Cadena(30)
HorasTrab : Entero
CuotaHora : Real
Sueldo : Real
FUNCIONES ARITMETICAS
Problema
Elaborar un algoritmo que permita leer el tamao de un
algoritmo
Leer Angulo
SenAng = Seno(Angulo)
Imprimir
FIN
Nota:
El ngulo en casi todos los lenguajes de programacin se
debe dar en radianes, si el ngulo es dado en grados es
necesario hacer la conversin para poder obtener un
resultado correcto para eso puede utilizar el factor de
conversin de grados a radianes utilizando la formula
siguiente:
1 radian = 180 /
programa
Elaborar un algoritmo que realice la conversin de ngulo en
X = POW(5,2)
Ejercicio
Elaborar un algoritmo que lea los valores de
los valores de W, V, Z donde
W = X 5- Y -2/3
V = Y 3 X -5/4
Z=WX+VyX
X e Y, e imprima
ejercicio
ejercicio
ejercicio
Elaborar un algoritmo que calcule e imprima el precio de
venta de un producto, se tienen los datos siguientes
Descripcin de producto
Costo de produccin
EL precio de venta se calcula aadindole al costo de produccin el
120 % de utilidad mas el 15 % de impuesto de venta.
ejercicio
Dados los lados A y B de un triangulo rectngulo calcular,
ejercicio
El volumen de un cilindro se calcula por medio de la formula
V = r2h
La seleccin
Contenido
La seleccin doble (IF-THEN-ELSE)
Sangrado, indentacin y etiquetas
Expresiones lgicas
IFs Anidados
La Seleccin Simple (IF-THEN)
LA seleccin Mltiple (CASE)
La Seleccin
Es una estructura lgica que permite controlar la ejecucin de
Aquellas acciones que requieren de ciertas condiciones para
su realizacin. De acuerdo con dichas condiciones, se
selecciona si las acciones se ejecutan o no, en ocasiones se
tienen operaciones que son excluyentes, es decir, que solo
tiene que ejecutarse una o la otra, pero no ambas de manera
simultanea, puede tambin existir caso en que hay varias
acciones que ejecutar, en estos casos es necesario hacer uso
de estructuras de control de seleccin.
ejemplo
Calcular el sueldo de un empleado e imprimir el nombre y el
sueldo.
Si el numero de horas trabajadas es mayor de 40 el
excedente de 40 horas se paga al doble de la cuota por hora,
de no ser mayor se paga normal.
Elabore un algoritmo que lo calcule e imprima.
Es necesario usar una estructura de control de seleccin
doble.
algoritmo
Variables
Entrada de datos
Calcular Salario
Else
EndIF
Impresin
FIN
SELECCIN DOBLE
IF-THEN-ELSE
IF condicin THEN
Else
ENDIF
Si la condicin se cumple pasa a la siguiente lnea, al
Expresiones Lgicas
Sirven para plantear
Operadores Relacionales
Expresin lgica simple =
operando2
Operadores
<
Menor
>
Mayor
<=
Menor igual
>=
Mayor Igual
=
<>
Igual a
Diferente a
operando1
operador relacional
AND
OR
XOR
NOT
Se aplican igual que como los hemos aprendido en lgica digital o
Principios de electrnica.
Ejemplo
Una escuela aplica dos exmenes a sus aspirantes por lo que
Resultado = ACEPTADO
Resultado = RECHAZADO
ELSE
ENDIF
Operador XOR
Una empresa realiza dos exmenes a las personas que aplican para
Resultado = ACEPTADO
Resultado =RECHAZADO
ELSE
ENDIF
Operador NOT
Este es un operador booleano y solamente da el resultado
opuesto a la condicin.
IF NOT(CalFin >=70) Then
Resultado = Reprobado
Resultado = Aprobado
ELSE
ENDIF
IFs Anidados
asi sucesivamente.
IF condicin THEN
IF condicin THEN
Acciones
ELSE
Acciones
ELSE
ENDIF
IF condicin THEN
Acciones
Acciones
ENDIF
ENDIF
Otro ejemplo
IF condicin THEN
Acciones
IF condicin THEN
ELSE
Condiciones
ELSE
Condiciones
ENDIF
ENDIF
Otro mas
IF condicin THEN
IF condicin THEN
Condiciones
ELSE
Acciones
ENDIF
ENDIF
Ejemplo
algoritmo
Variables
Entrada de datos
Calcular Salario
Else
ENDIF
ENDIF
Impresin
FIN
La Seleccin Simple
IF - THEN
Esta estructura lgica permite controlar la ejecucin de una
IF condicin THEN
Acciones
ENDIF
EJEMPLO
Algoritmo
Variables
Entrada de datos
Calcular Salario
Else
ENDIF
ENDIF
ENDIF
Impresin
FIN
Seleccin Mltiple
CASE
CASE Selector
1. Accin
2. Accin
3. Accin
4. Accin
ELSE
Acciones
ENDCASE
Ejemplo
Elaborar un algoritmo que lea un valor entre 1 y 7 e imprima el da de la semana a
que corresponde
Algoritmo DICE DIA
declaraciones
Variables
numDia : ENTERO
Solicitar numero del dia
Desplegar Entre el numero del da deseado:
Leer NumDia
CASE NumDia
1: Imprimir DOMINGO
2: Imprimir LUNES
3: Imprimir MARTES
4: Imprimir MIERCOLES
5: Imprimir JUEVES
6: Imprimir VIERNES
7: Imprimir SABADO
ELSE
Imprima No es un numero valido de da de semana
ENDCASE
NOTA:
Algoritmo
Declaraciones
Variables
Num : ENTERO
ELSE
ENDCASE
FIN
Leer Num
CASE Num
Rango de valores
Algoritmo
Variables
Num : ENTERO
Solicitar numero
Desplegar Numero:
Leer Num
CASE Num
ELSE
ENDCASE
FIN
Ejercicio
Ejercicio
ejercicio
Ejercicio
Elaborar un algoritmo que lea tres nmeros y que calcule e
ejercicio
Ejercicio
Elaborar un algoritmo que lea el tamao de un ngulo en
grados e imprima si es:
Agudo
si es menor a 90
Recto
Obtuso
Llano
Cncavo
Si es igual a 90
Si es mayor que 90 pero menor que 180
SI es igual a 180
Si es mayor que 180 pero menor que 360
Ejercicio
ejercicio
Ejercicio
Un pie 12 pulgadas
Una yarda 3 pies
Una pulgada 2.54 cm
Un metro 10 cm
ejercicio
Raz real 1
Raz real 2
Elaborar un algoritmo que permita leer los valores de los coeficientes a,b,c y
que imprima el resultado dependiendo de las condiciones aqu especificadas,
diciendo si es raz nica, raz compleja o raz real.
Repeticin, Do UNTIL
Contenido
Contadores y acumuladores
Ejercicio resueltos
Ejercicios propuestos
DO UNTIL
FOR
DOWHILE
DO UNTIL
Accin o acciones
UNTIL condicin
Ejemplo
algoritmo
Algoritmo SUELDOS
Declaraciones
Variables
NombreEmp : Cadena(30)
HorasTrab : Entero
CuotaHora : Real
Sueldo : Real
Desea : Carcter
DO
UNTIL Desea = N
Fin
Contadores y Acumuladores
En ocasiones, en los ciclos repetitivos se necesita contar el numero de veces que se procesa
algn elemento, o bien hacer acumulaciones de cantidades para obtener totalizaciones
NOMBRE
SUELDO
Encabezado
==========================================
Xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Yyyyyyyyyyyyyyyyyyyyyyyyyyyy
99,999.99
99,999.99
Detalle
Zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
Total 999 Empleados
99,999.99
999,999.99
Totales
Qu es un contador?
Es una variable de tipo entero que en nuestro ejemplo podra
Procesar empleado
-----TotEmpleados = TotEmpleados + 1
----------Until Desea =N
Imprimir TotEmpleados
Qu es un Acumulador?
Es una variable de Tipo numrico Real, que en nuestro caso puede ser
Procesar empleado
-----TotSueldos = TotSueldos + Sueldo
-----------
UNTIL Desea = N
Imprimir TotSueldos
Algoritmo Completo
Algoritmo SUELDOS
Declaraciones
Variables
TotEmpleados = 0
TotSueldos = 0
DO
NombreEmp : Cadena(30)
UNTIL Desea = N
CONTINUE
Nota:
En un programa bien estructurado, estas instrucciones de
Ejercicio
ANALISIS DE CALIFICACIONES
Nombre
CAL1
CAL2
CAL3
PROM
XXXXXXXXXXXXXXXXXXXXXX
XXXX
99.99
99.99
99.99
99.99
XXXXXXXXXXXXXXXXXXXXXX
XXXX
99.99
99.99
99.99
99.99
XXXXXXXXXXXXXXXXXXXXXX
XXXX
99.99
99.99
99.99
99.99
PROMEDIOS GENERALES
99.99
99.99
99.99
99.99
Algoritmo
Declaraciones
variables
NombreAlum : Cadena (30)
TotAlumnos : ENTERO
cal1, cal2, cal3, promedio, promcal1, promcal2, promcal3,
promtot, acumcal1, acumcal2, acumcal3, acumprom: REAL
Desea : CARCTER
Imprimir encabezados
Acumcal1 = 0 ; Acumcal2 = 0 ; acumcal3 = 0 ; Acumprom = 0
Totalumnos = 0
DO
Solicitar nombre y calificaciones 1,2 y 3
Leer NombreAlum, cal1, cal2, cal3
Promedio = ( cal1 + cal2 +cal3 ) / 3
Imprimir NombreAlum, cal1, cal2, cal3, promedio
TotAlumnos = TotAlumnos + 1
Algoritmo
AcumCal1 = AcumCal1 + cal1
AcumCal2 = AcumCal2 + cal2
AcumCal3 = AcumCal3 + cal3
AcumProm = AcumProm+ promedio
Preguntar Desea ingresar otro alumno:
Leer Desea
UNTIL Desea = N
PromCal1 = AcumCal1 / TotAlumnos
PromCal2 = AcumCal2 / TotAlumnos
PromCal3 = AcumCal3 / TotAlumnos
PromTot = AcumProm / TotAlumnos
Imprimir PromCal1, PromCal2, PromCal3, PromTot
FIN
Ejercicio
CALIFICACIONES FINALES
Nombre
XXXXXXXXXXXXXXXXXXXXXXXX
XXXX
XXXXXXXXXXXXXXXXXXXXXXXX
XXXX
XXXXXXXXXXXXXXXXXXXXXXXX
XXXX
TOTAL APROBADOS
Observacio
Cal Final
n
CAL1
CAL2
CAL3
99.99
99.99
99.99
99.99
Aprobado
99.99
99.99
99.99
99.99
Reprobado
99.99
Reprobado
99.99
999
99.99
99.99
DO
Solicitar Nombre, Cal1, Cal2, Cal3
Leer NombreAlum, Cal1, Cal2, Cal3
CalFin = ( Cal1 * 0.2+ Cal2 * 0.3+ Cal3 * 0.5 )
IF CalFin >= 60 THEN
TotAprobados = TotAprobados + 1
Observacion = APROBADO
ELSE
TotReprobados = TotReprobados + 1
OBservacion = REPROBADO
ENDIF
Imprimir NombreAlum, Cal1, Cal2, Cal3, Calfin, Observacion
Preguntar Desea introducir otro alumno :
Leer Desea
UNTIL Desea = N
Imprimir TotAprobados
Imprimir TotReprobados
FIN
Si
Si
Si
Si
el
el
el
el
clientes
clientes
clientes
clientes
de
de
de
de
tipo
tipo
tipo
tipo
1
2
3
4
se
se
se
se
le
le
le
le
descuenta
descuenta
descuenta
descuenta
el
el
el
el
5%
8%
12%
15%
Reporte
REPORTE DE CLIENTES
Nombre
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
XX
TOTAL DE CLIENTES
999
Sub Total
Descuento
Total a Pagar
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
99,999.99
Clculos:
Sub Total = Cantidad de hojas X precio por hoja
Descuento es el porcentaje correspondiente del subtotal a pagar
Total a Pagar = subtotal descuento
Y la sumatoria de todos estos datos para presentar los totales.
DO
Solicitar nombre, tipo de cliente, cantidad, precio unitario
Desplegar Nombre del Cliente:
Leer NombreCLi
Desplegar Tipo de Cliente:
Leer TipoClie
Desplegar Cantidad de Hojas de Hielo Seco:
Leer Cantidad
Desplegar Precio Unitario:
Leer PrecioUni
SubTotal = Cantidad * PrecioUni
CASE TipoClie
1: Descuento = SubTotal * 0.05
2: Descuento = SubTotal * 0.08
3: Descuento = SubTotal * 0.12
4: Descuento = SubTotal * 0.15
ENDCASE
TotalPagar = SubTotal + Descuento
Imprimir NombreCli, SubTotal, Descuento, TotalPagar
TotClientes = TotClientes + 1
TotSubTot = TotSubTot + SubTotal
TotDescuento = TotDescuento + Descuento
TotTotalPagar = TotTotalPagar + TotalPagar
Desplegar Desea Introducir otro Cliente:
Leer Desea
UNTIL Desea = N
Imprimir TotClientes, TotSubTot, TotDescuentos, TotTotalPagar
FIN
Elaborar un Algoritmo que mida la inflacin que han tenido ciertos productos y que
imprima el siguiente reporte
ANALISIS DE INFLACION
ARTICULO
XXXXXXXXXXXXXXX
X
YYYYYYYYYYYYYYY
YY
ZZZZZZZZZZZZZZZ
ZZZ
PRECIO ANTERIOR
99,999.99
PRECIO ACTUAL
99,999.99
% DE INFLACION
99.99
99,999.99
99,999.99
99.99
99,999.99
99,999.99
99.99
Datos Disponibles
Descripcin
Precio Anterior
Precio Actual
Como Calcular el % de Inflacin
PTJE INFLACION = x 100
DO
Solicitar Articulo, Precio Actual, Precio Anterior
Leer Articulo, precioActual, PrecioAnterior
PorcentajeInflacion = ((PrecioActualPrecioAnterior)/ PrecioAnterior)*100
Imprimir Articulo, PrecioAnterior, PrecioActual,
PorcentajeInflacion
IF PorcentajeInflacion > MayorInflacion THEN
MayorInflacion = PorcentajeInflacion
ArticuloMayor = Articulo
ENDIF
TotalArticulos = TotalArticulos + 1
AcumulacionInflacion = AcumulacionInflacion
+ porcentajeInflacion
Desplegar Quiere Introducir otro Artculo:
Leer Otro
UNTIL Otro = N
PromedioInflacion = AcumulacionInflacion /
TotalArticulos
IMPRIMIR PromedioInflacion, ArticuloMayor,
MayorInflacion
FIN
PROBLEMA
En una empresa manufacturera de mesas, se tienen varios obreros, y por cada uno
de ellos los siguientes datos:
Nombre del Obrero
Cada obrero puede haber trabajado varios das, por cada da de trabajo, se tiene un
dato, cantidad de unidades construidas
Cantidad de Obras = _
Cantidad de Obras = _
Cantidad de Obras = _
Cada cantidad de obras es por un da
Luego es introducido otro obrero con el mismo formato y as hasta terminar los
obreros
Elaborar un Algoritmo que lea los datos de cada uno de los obreros, y por cada obrero ,
la cantidad de unidades construidas de cada uno de los das que trabajo e imprima el
siguiente reporte
REPORTE
DE PRODUCCION
NOMBRE
DEL OBRERO
UNIDADES
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
NOMBRE DEL OBRERO MAS
PRODUCTIVO
NOMBRE DEL OBRERO MENOS
PRODUCTIVO
TOTAL OBREROS
XXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXX
PRODUCIDAS
999
999
999
9999
999
999
Resumen DO UNTIL
Es til para resolver problemas del tipo:
La Repeticin FOR
Contenido
FOR Anidados
Problemas resueltos
Simulacin del FOR con DO UNTIL
Problemas Propuestos
Objetivos
En la parte anterior aprendimos a manejar ciclos repetitivos
ESTRUCTURA FOR
La repeticin tipo FOR, es una estructura lgica que permite
Acciones
ENDFOR