Click here to load reader
Upload
ruben-dario-cosme-meneses
View
356
Download
1
Embed Size (px)
Citation preview
Fundamentos de programación Fundamentos de programación
INGENIERÍA DE SISTEMAS
Rubén Darío Cosme Meneses
Fundamentos de programaciónFundamentos de programación
Contenido
1. Datos e información
2. Solución de problemas
3. Concepto de algoritmo
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
3.1 Análisis
3.2 Diseño
3.3 Solución en la computadora
4. Características de los algoritmos
5. Ejercicios
Los sistemas de procesamiento de la Información
Datos e información
Que diferencia encontramos entre datos e
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
Que diferencia encontramos entre datos e
información?
Los sistemas de procesamiento de la Información
Datos e información:
Representación de algún hecho, concepto o entidadreal , los cuales pueden tomar diferente forma,palabras escritas o habladas , números y dibujos;información implica datos procesados y
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
información implica datos procesados yorganizados.
Entrada= Datos Salida= InformaciónPROCESADOR
Concepto de algoritmo
Un algoritmo es un conjunto de operaciones ordenadas pararesolver un problema, los algoritmos tienen algo en comúncon las funciones matemáticas: reciben una entrada yproducen una salida, pero para que pueda ser consideradocomo algoritmo debe ser eficiente (encontrar una soluciónen el menor tiempo posible), finito (posee un númerodeterminado de pasos) y definido (se llega al mismo
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
determinado de pasos) y definido (se llega al mismoresultado si se sigue el mismo proceso más de una vez).
Resolución de un problema:
ProblemaDiseño del
algoritmo
Solución en la
computadora
Resolución de problemas
• La resolución de un problema se puede resumir en tres fases importantes:
o Análisis del problema:
– El problema debe ser definido y comprendidoclaramente.
o Diseño o desarrollo del algoritmo:
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
o Diseño o desarrollo del algoritmo:– Procedimiento paso a paso para solucionar el problema
dado
o Resolución del algoritmo en la computadora:– Por ultimo se codifica el algoritmo en un lenguaje de
programación(C/ C++, java, pascal,..)
Análisis del problema
Para poder definir con precisión el problema, es necesario
que las especificaciones de entrada y salida sean descritas
con detalle. Una buena definición del problema junto, junto
con la descripción detallada de las especificaciones de
entrada y salida, son los requisitos mas importantes para
llegar a una solución eficaz.
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
llegar a una solución eficaz.
• Que información debe proporcionar la solución del
problema?
• Que datos se necesitan para resolver el problema?
Análisis del problema
Análisis del problema
Definición del problemaEspecificación de
entradasEspecificación de salidas
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
entradas
Ejemplo : Leer el radio de un circulo y calcular e imprimir su superficie y
la longitud de la circunferencia
Análisis:Las entradas de datos en este problema son concretamente el radio del
circulo, este puede ser un valor real.
Análisis del problema
Las salidas serán dos variables: superficie y circunferencia
que también serán de tipo real.
Entradas: Radio del circulo(variable radio)
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
Salidas: Superficie del circulo(variable área)
Circunferencia del circulo(variable circunferencia)
Variables: radio, área, circunferencia(tipo real)
Diseño del algoritmo
Los pasos sucesivos que indican las instrucciones a ejecutar
por la maquina constituyen como ya conocemos el algoritmo.
La información proporcionada la algoritmo constituye su
entrada y la información producida por el algoritmo constituye
su salida.
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
su salida.
La descomposición del problema original en sub- problemas
mas simples y a continuación dividir estos subproblemas en
otros mas simples que puede ser implementados para su
solución en la computadora se denomina diseño
descendente(top-down-design)
Diseño del algoritmo
Refinamiento del algoritmo:
Superficie y longitud
circunferencia
Salida Cálculo de Cálculo de
Entrada de
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
Entrada
radio(R)
Salida
ResultadosCálculo de
longitud(C)
Cálculo de
superficie(
S)
Entrada de
datos
S=PI*R^2 Salida R Salida S Salida S
Diseño del algoritmo
Subproblema Refinamiento
Leer radio leer radio
Calcular superficie superficie= 3.14.1592*radio^2
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
Calcular circunferencia circunferencia= 2*3.141592*radio
Escribir resultado Escribir radio, circunferencia, superficie
Diseño del algoritmo
� Las ventajas mas importantes del diseño ascendente son:
� El problema se comprende mas fácilmente al dividirse en
partes mas pequeñas denominadas módulos
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
� Las modificaciones en los módulos son mas fáciles
� La comprobación del problema se puede verificar fácilmente
Resolución del problema mediante computadora
Una vez el algoritmo esta diseñado y representado
gráficamente mediante una herramienta de programación
(diagrama de flujo, pseudocódigo), se debe pasar a la fase
de resolución practica:
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
1. Codificación del algoritmo en un programa
2. Ejecución del programa
3. Comprobación del programa
Características de los algoritmos
Todo algoritmo debe cumplir con las siguientes
características:
– Un algoritmo debe ser preciso e indicar el orden de
realización de cada paso
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
– Un Algoritmo debe estar definido. Si se sigue un algoritmo
dos veces, se debe obtener el mismo resultado cada vez.
– Un algoritmo debe ser finito. Si se sigue un algoritmo, se
debe terminar en algún momento; ósea debe tener un
numero finito de pasos.
Ejercicio 1
Un cliente ejecuta un pedido a una fabrica. La fabrica examina
en su banco de datos la ficha del cliente, si el cliente es
solvente entonces la empresa acepta el pedido; en caso
contrario rechazará el pedido. Describir el algoritmo
correspondiente,
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses
Recuerde identificar entradas procesos y salida.
Preguntas
Fundamentos de Programación
INGENIERÍA DE SISTEMASRubén Darío Cosme Meneses