You are on page 1of 25

Sequor ad Deus, ambulo in pacis

Facultad de Ingeniería y C. Agropecuarias


Ingeniería en Sistemas de Computación e Informática

^
FUNDAMENTOS DE PROGRAMACIÓN

INTRODUCCION

Ing. Washington O. Pérez A. MSc.

Período 2017 - 10

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
AGENDA

ALGORITMOS

CONCEPTOS

^
CARACTERISTICAS

EJEMPLOS

DIAGRAMAS DE FLUJO

RESOLVER PROBLEMAS

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
^
ALGORITMOS

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CONCEPTO ALGORITMOS

Un algoritmo es un procedimiento para resolver un problema.

^
Éste describe un conjunto finito y ordenado de pasos, reglas o
instrucciones para producir la solución a un problema dado.
Un algoritmo puede ser definido como una secuencia de
instrucciones bien definidas y efectivas, y finaliza con la
producción del resultado esperado a partir de las entradas
dadas.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CONCEPTO ALGORITMOS

Algoritmo

^
Especificación Acción o Acción o Descripción del
de las entradas procedimiento ... procedimiento resultado o
efecto

Acción o Acción o
procedimiento procedimiento

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
COMPONENTES ALGORITMOS

Datos de entrada: b y a (base y altura)


Datos de salida: ar y pe (área y perímetro)
Procesos: ar = b*a, pe = 2*(b + a)

^
Análisis resumido del problema

1. Inicio
2. Leer base y altura (b, a)
3. ar ← b*a
4. pe ← 2*(b + a)
5. Escribir “Área del rectángulo: ”, ar
6. Escribir “Perímetro del rectángulo: ”, pe
7. Fin

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

• Son precisos. Deben indicar el orden de realización de cada


paso, así como especificar con precisión las entradas y cada
paso o etapa

^
• Están bien definidos. Etapas bien definidas y concretas

• Exactitud y corrección. Se debe demostrar que el algoritmo


resuelve el problema para el cual fue escrito

• Son finitos. Deben tener un número finito de pasos y deben


terminar

• Deben describir el resultado o efecto final. La salida esperada


del algoritmo debe estar completamente especificada
UDLA – Fundamentos de Programación
Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

^
Entrada Proceso Salida

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

Son independientes tanto del lenguaje de


programación en el que se expresan como del
hardware en que se ejecutan los programas

^
Expresado Ejecutado
en en
Código en C
Computadora con
los compiladores
de C y Pascal
Algoritmo Código en
Pascal

Computadora con
Código en el compilador de
Fortran Fortran

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

La resolución de un problema en computadora


requiere como paso previo el diseño de un
algoritmo que especifique el procedimiento para

^
resolver el problema. Es decir, antes de codificar un
programa se requiere diseñar el algoritmo.

Descripción y Programa en un
Diseño del
análisis del lenguaje de
algoritmo
problema programación

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

Definición del problema


Calcular los porcentajes de hombres y mujeres en un grupo de N
deportistas

^
Análisis del problema
Datos a considerar:

• Genero de la persona (S)


• Número de personas del genero masculino (CM)
• Número de personas del genero femenino (CF)
• Total de deportistas (N)
• Porcentaje de hombres (PM)
• Porcentaje de mujeres (PF)

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
CARACTERÍSTICAS ALGORITMOS

Datos de entrada:
• Total de deportistas (N)
• Genero de la persona (S)

^
Datos de salida:
• Porcentaje de hombres (PM)
• Porcentaje de mujeres (PF)

Procesos:
• Contar la cantidad de personas del genero masculino (CM = CM + 1)
• Contar la cantidad de personas del genero femenino (CF = CF + 1)
• Calcular el porcentaje de hombres en el grupo (PM = CM/N*100)
• Calcular el porcentaje de mujeres en el grupo (PF = CF/N*100)

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
ALGORITMO ALGORITMOS

1. Inicio
2. Inicializar en cero el total de personas del sexo masculino: CM ← 0
3. Inicializar en cero el total de personas del sexo femenino: CF ← 0
4. Inicializar en cero el total de personas procesadas: TP ← 0

^
5. Leer total de deportistas (N)
6. MIENTRAS TP < N
6.1 Leer sexo de la persona (S)
6.2 SI S =‘M’, entonces CM ← CM + 1
6.3 SI S = ‘F’, entonces CF ← CF + 1
6.4 Incrementar en 1 el contador: TP ← TP + 1
FIN-MIENTRAS
7. Calcular porcentaje de hombres en el grupo: PM ← CM/N*100
8. Calcular porcentaje de mujeres en el grupo: PF ← CF/N*100
9. Escribir “Porcentaje de hombres en el grupo: ”, PM
10. Escribir “Porcentaje de mujeres en el grupo: ”, PF
11. Fin

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
ALGORITMO ALGORITMOS

Definición del problema

1. Cálculo de la media de N observaciones numéricas

^
2. Determinar si un número es primo ingresado por teclado
3. Cálculo del factorial de un número N

Definir en cada caso: entrada, procesos/operaciones y salida.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
EJEMPLOS ALGORITMOS

A desarrollar en clase:

1. Cambiar una llanta desinflada de un carro.


2. Hacer una fanesca.

^
3. Cambiar una bombilla.
4. Lavar un carro.
5. Acudir a clases por la mañana.
6. Conducir un auto.

A enviar por correo electrónico:


 Se tienen dos recipientes no graduados, uno de tres litros y el otro de
tres litros y medio. Elaborar un algoritmo que permita medir un litro
y medio de agua.
 Determinar el objeto de diferente peso de un grupo de cuatro
objetos, haciendo el menor número de pesadas.
UDLA – Fundamentos de Programación
Sequor ad Deus, ambulo in pacis
REFINAMIENTO ALGORITMOS

Por lo general la primera versión de un algoritmo no


constituye una versión completa ni específica del mismo.

^
El refinamiento del algoritmo se refiere a la conversión del
primer esbozo/versión del algoritmo en una versión más
detallada y completa, haciendo los pasos del algoritmo
más específicos.

Este proceso conduce a la obtención de un algoritmo claro,


preciso y completo.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
^
DIAGRAMAS DE
FLUJO

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
DEFINICIONES DIAGRAMAS DE FLUJO

 Representación gráfica de los algoritmos.


 Se basan en la utilización de diversos símbolos que

^
representan operaciones específicas.
 Los símbolos son producto de una normalización (ISO 5807).
 Los símbolos se conectan entre ellos con flechas.
 Las flechas indican la dirección de la próxima acción a
ejecutar.
 Las flechas indican la secuencias de las operaciones a seguir.
 Tienen un principio y tienen un fin.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
DEFINICIONES… DIAGRAMAS DE FLUJO

Un diagrama de flujo (flowchart) es una técnica de


representación gráfica de la lógica o pasos de un

^
algoritmo. El diagrama de flujo consiste de un conjunto de
símbolos (rectángulos, paralelogramos, rombos, etc.) y
flechas que conectan estos símbolos.

Los símbolos representan las diferentes acciones que se


pueden ejecutar en un algoritmo (lectura, asignación,
decisión, escritura, etc.), mientras que las flechas muestran
la progresión paso a paso a través del algoritmo.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
REPRESENTACIÓN DIAGRAMAS DE FLUJO

INICIO O FIN

Entrada de datos por teclado

^
Proceso

Decisión Lógica

Imprimir Datos de Salida

Conector dentro de la pagina

Línea de conexión y dirección del flujo

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
EJEMPLO DIAGRAMAS DE FLUJO

Cálculo

Inicio i=1 res=res*x


x

^
res=1

Entrada i, res

Salida (pantalla)
i=i+1

NO
i>5

Comparación SI

Fin
UDLA – Fundamentos de Programación
Sequor ad Deus, ambulo in pacis
EJEMPLO… DIAGRAMAS DE FLUJO
1

Leer E, P
Inicio

SE <- SE+E

^
Leer N
SP <- SP+P

NE <- NE+1
NE <- 0

Si
NE <N
No
SE <- 0
ME <- SE/N

SP <- 0 MP <- SP/N

Escribir ME, MP

1
Fin

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
^
RESOLVER
PROBLEMAS

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
EJEMPLOS – GUI A 2 RESOLVER PROBLEMAS

A desarrollar en clase:

 Ingresar por consola dos enteros positivos y realizar las


cuatro operaciones.

^
 Ingresar dos nombres por teclado y determinar si son
homónimos.

 Ingresar un número por teclado y determinar si es


primo o no.

 Ingresar una palabra por teclado y determinar si es


polindroma o no.

UDLA – Fundamentos de Programación


Sequor ad Deus, ambulo in pacis
^
GRACIAS

UDLA – Fundamentos de Programación

You might also like