Está en la página 1de 50

Introduccin a la

Programacin
Introduccin a los
algoritmos
Ing.: Yenit A. Ochoa S
Motivacin
OBJETIVO GENERAL DE LA ASIGNATURA

Resolver problemas bsicos a travs de la construccin de programas


basados en algoritmos y un lenguaje de programacin, generando acciones
hacia la bsqueda de propuestas pertinentes.

APRENDIZAJES ESPERADOS (COMPETENCIAS)

Descompone un problema en sub-problemas para darle una solucin


ms sencilla.
Interpreta algoritmos y programas para la solucin de problemas
bsicos de programacin relativos a la matemtica.
Construye algoritmos y programas para la solucin de
problemas bsicos de programacin relativos a la matemtica.
Trabaja colaborativamente, cumpliendo un rol y responsabilizndose
de l.
Comprende el entorno de las situaciones problemticas que tienen un
componente informtico.

2
Programa de Aplicacin

Programa que permite resolver la ecuacin de primer grado

Algoritmo EC 1er Grado


Programa
Variables
que permite
a,b,x de tipo entero
resolver la
Inicio
ecuacin de
Escribir(Ingrese valores de EC)
primer grado
Leer (a,b)
Si a = 0 entonces #include <stdio.h>
escribir (Error) int a,b,x;
sino main()
Inicio {
x=-b/a printf(Ingrese valores de EC);
Escribir (La solucin es:,x) scanf(%d %d,&a,&b);
ax+b=0 Fin if a ==0 printf (error);
Escribir(Fin programa) else
Fin {
x = -b / a;
a printf(La solucin es %d:,x);
? x = -b / a }
b printf(Fin programa);
}

3
Pasos en la resolucin de un
problema
Entender el problema
Conceptualizacin
Objetivo
Contexto
Buscar soluciones
Elegir solucin
Disear solucin
Descomposicin
Especificar tareas
Modelar solucin
Implementar solucin
Validar solucin

4
Qu es un problema?
Es una situacin concreta sobre la cual se quiere
implementar una solucin (ejemplos)
Solucin: procedimiento que nos lleva a satisfacer
ciertos requerimientos
Esquema bsico para la resolucin de un problema
a travs de un programa con un enfoque sistmico

Entrada Salida
Proceso
Datos Externos Informes
Datos auto generados Datos para otro programa
Lectura de dispositivo de Datos grabados en
almacenamiento dispositivos externos de
almacenamiento

5
Datos y Variables
Datos: objetos simblicos que
representan objetos del mundo real.
Ejemplos: 10 de Marzo de 2003, 3.14
Variables: no hace referencia a un
objeto explcito
Ejemplos: velocidad del mvil, factor de
crecimiento

6
Qu es un Modelo?
Estructura para dar razn y abstraer una
realidad
Ejemplo:
Inscrita Asignaturas
Estudiantes

Estudia
Plan de Estudios

Carrera

7
Qu es un algoritmo?
Procedimiento detallado para resolver
un problema en pasos y en un tiempo
finito.
Se especifican en base a operaciones
bsicas que controlan las variables y el
flujo del algoritmo
El algoritmo lleva desde un estado
inicial a un estado final
El algoritmo recibe Entradas y entrega
Salidas
8
Cmo desarrollar un
algoritmo?
Imaginacin
No reinventar la rueda
Dividir para conquistar
Para ser efectivo se requiere
practicar constantemente
El diseo de algoritmos es una rama
de la Ciencia de la Computacin

9
Cmo se describe un
algoritmo?
Lenguaje natural
Pseudo cdigo
Lenguaje de programacin
La precisin es importante
Un algoritmo no puede ser descrito de
forma ambigua:
Todos tienen que entender lo mismo
(incluido el computador!)

10
Llamada telefnica

Se desea conceptualizar el
problema de efectuar una
llamada telefnica en un
telfono pblico que recibe
monedas de $10, $50 y
$100. El costo mnimo de
la llamada es de $100 por
5 minutos. El proceso se
inicia desde que se levanta
el auricular y finaliza
cuando se cuelga.

11
rboles de decisin
Herramienta
til para
describir
algoritmos
que
involucran
gran cantidad
de decisiones

12
Conceptos Bsicos de
Algoritmos
La forma en que se ejecutan las operaciones
bsicas en un computador, es similar a lo que
ocurre en nuestro cerebro.
Por ejemplo, para sumar dos valores:
Primero debemos pedirle a alguien que nos diga el
primer valor.
Luego de que conocemos este valor, debemos
almacenarlo (para recordarlo despus) en una
neurona (Suponemos que un valor se puede
almacenar en una neurona).
Ya conocemos el primer valor y est
almacenado en nuestro cerebro.
Conceptos Bsicos de
Algoritmos
Ahora debemos pedir el segundo valor.
Una vez conocido, lo almacenamos en otra
neurona distinta de la anterior. Por qu?
Ahora que conocemos los dos valores
procedemos a sumarlos, y dicho resultado lo
almacenamos en otra neurona distinta de las
anteriores.
Por ltimo, le decimos el resultado a la persona
que nos entrego los nmeros.
Conceptos Bsicos de
Algoritmos
De lo anterior, al menos necesitamos 3
neuronas para sumar dos nmeros.
Le pedimos explcitamente que nos dijeran
dichos valores.
Le asignamos dichos valores a las neuronas
La suma la realiz nuestro cerebro de forma
mecnica. Note que no existen detalles de
la operaciones bsicas (*,/,+, -).
Finalmente se da el resultado
Conceptos Bsicos de
Algoritmos
Algoritmo para sumar dos nmeros:
Definimos tres neuronas
Pedimos el primer valor
Almacenamos ese valor en la neurona 1.
Pedimos el segundo valor
Almacenamos ese valor en la neurona 2.
Almacenamos la suma de las neuronas 1 y 2 en
la neurona 3
Entregamos el resultado que se encuentra en la
neurona 3.
Conceptos Bsicos de
Algoritmos
Sin embargo, en los lenguajes no se pueden
usar neuronas, pero podemos definir
variables (Recuerde que las variables pueden
tomar cualquier valor)
En lugar de usar neurona 1 y neurona 2, se
utilizan espacios de memoria que llamaremos
var 1 y var 2, y as sucesivamente.
Tambin las podemos llamar x1 y x2
x e y .
Conceptos Bsicos de
Algoritmos
Ejercicio: Cree un algoritmo que multiplique tres nmeros.

Algoritmo para multiplicar tres


nmeros:
Definimos cuatro variables
Pedimos el primer valor
Almacenamos ese valor en var 1.
Pedimos el segundo valor
Almacenamos ese valor en var 2.
Pedimos el tercer valor
Almacenamos ese valor en var 3.
Almacenamos la multiplicacin de las variables
en var 4
Entregamos el resultado que se encuentra en
Conceptos Bsicos de
Algoritmos
La manera en que hemos detallado
nuestros dos algoritmos se llama PSEUDO-
CDIGO. Y este pseudo-cdigo fue escrito
en lenguaje natural.
Otra manera de poder detallar nuestros
algoritmos es a travs de los diagrama de
flujo. Un diagrama de flujo es una
representacin simblica de la lgica del
algoritmo.
Diagrama de Fujo
Nomenclatura:
Inicio del algoritmo Inicio

Trmino del algoritmo Termino

Impresin de mensajes
Receptor de datos
Operacin de datos
Bifurcacin (Decisin)
F V
Definicin de variables ?
Conector
Diagrama de Flujo y Pseudo-Cdigo
DIAGRAMA DE FLUJO NOMENCLATURA PSEUDO-CDIGO

Inicio Inicio de Algoritmo Inicio

Variables
Entero var1, x , y Definicin de variables Entero var1, x, y
Real a, b Real a, b

Escribir
Impresin de mensajes
Mensaje 1 Escribir (Mensaje 1)

Leer
var1,x, y Lectura de mensajes Leer (var1, x, y)

Transformacin de datos
a=3*x+ y Operaciones sobre los datos a=3*x+ y
b = a / var1 b = a / var1

Si a > b Entonces
Inicio
F V Bifurcacin en la ejecucin de
Instrucciones
Si a > b instrucciones
Fin
Sino
Inicio
Instrucciones
Fin
Conector

Fin Fin de algoritmo Fin


Diagrama de Fujo para el
algoritmo que suma dos valores
Inicio

var1,var,var3 Se definen las variables var1, var2, var3

Ingrese el primer valor Se pide ingresar el primer valor

var 1 Se asocia el nmero ingresado a var1


Se pide ingresar el segundo valor
Ingrese el segundo valor

var 2 Se asocia el nmero ingresado a var1

var3=var1+var2 Se asigna el resultado de la suma entre var1 y var2 a var3

El resultado es : var3 Se muestra el resultado

Termino
Diagrama de Flujo
Ejercicio: Cree el diagrama de flujo
para el algoritmo que multiplica tres
nmeros y muestre el resultado
Ejercicio: Cree el diagrama de flujo
para que divida dos nmeros y
muestre el resultado
Preguntas?
Algoritmos
Ejercicio. Usando diagrama de Flujo.
Cree un algoritmos donde una
persona ingrese su edad y muestre
por pantalla si es mayor de edad.
Algoritmos
Algoritmos
Del ejemplo anterior podemos observar
que la bifurcacin permite seguir el flujo
adecuado dada una condicin.
Las condiciones que se evalan en las
bifurcaciones son siempre verdaderas o
falsas.
Por ende, hay que colocar las
instrucciones adecuadas a los valores
que se evaluan en las bifurcaciones.
Algoritmos
Tambin es posible que existan
bifurcaciones contiguas.
En las bifurcaciones o estructura de
control, se evalan proposiciones
utilizando:
Operadores lgicos
Operadores aritmticos
Operadores Relacionales
Algoritmos
Operadores Aritmticos:
* multiplicacin
/ Divisin
+ Suma
- Resta
% Mdulo
Ejemplo de mdulo (o residuo de la divisin):
5%2 es 1
4%2 es 0
Algoritmos
Operadores
Lgicos:
Y, And, && Y V F

V V F

F F F
Algoritmos
Operadores
Lgicos:
O, Or, || O V F

V V V

F V F
Algoritmos
Operadores
Lgicos:
No V F
No, Not, !

F V
Algoritmos
Analicemos los siguientes casos
var1=2, var2=0,var3=4

var4=(var1*var1)/var3
var4=1

Si Si
var4>=1 && var1!=0

No
Algoritmos
Analicemos los siguientes casos

var1=2, var2=0,var3=4

var4=(var3%var1)
var4=0

Si No
(var4!=0 || var2>0)
&& (var3==4)

No
Algoritmos
Analicemos los siguientes casos

var1=2, var4=1,var3=4

var4=(var4+var1)
var4=3

Si No
!(var1 && (var4>=var1))
Cualquier proposicin distinta de cero
Es VERDADERO
No
Algoritmos
Es importante notar que existen
prioridades entre los operadores. Por
lo tanto deben utilizarse parntesis
en los casos que correspondan
Algoritmos
Ejercicio. Crear un algoritmo que
muestre en forma ordenada tres
nmero enteros ingresados desde
teclado.
Diagrama de Flujo
Ejercicio: Cree el diagrama de flujo para el algoritmo que multiplica
tres nmeros y muestre el resultado
Ejercicio: Cree el diagrama de flujo para que divida dos nmeros y
muestre el resultado
Ejercicio: Cree el diagrama de flujo para que resuelva la ecuacin de
primer grado y muestre el resultado
Ejercicio: Cree el diagrama de flujo para que resuelva la ecuacin de
segundo grado, para valores reales e imaginarios, y muestre el
resultado
Ejercicio: Cree el diagrama de flujo permita sumar tres nmeros
ingresados por teclado y muestre el resultado
Ejercicio: Cree el diagrama de flujo que permita sumar n nmeros y
muestre el resultado. El valor de n debe ser ingresado por teclado al
igual que los nmeros que se sumarn.
Algoritmos
Repaso de Bifurcaciones
Aprendizajes Esperados
Conceptos de Ciclos
Cundo se aplican los ciclos
Algoritmos
Ejercicio. Crear un algoritmo que
muestre en forma ordenada tres
nmero enteros ingresados desde
teclado
Algoritmos
Concepto de Ciclo
Un ciclo es la repeticin de un conjunto
de instrucciones. Dicho ciclo culmina
cuando se cumple una condicin de
termino.

Cundo se aplican los Ciclos


Se aplican cuando queremos ejecutar un
conjunto de instrucciones varias veces.
Algoritmos
Estructura de un
ciclo
Algoritmos
Ejemplo: Crear un algoritmo que
sume N elementos y muestre el
resultado
N var cont suma

2 1 1 0

2 2 1

3 3
Algoritmos
Ejemplo: Crear un algoritmo que
encuentre el nmero mayor de N
nmeros enteros positivos
ingresados por teclado.
= -1
Algoritmos
Ejemplo: Crear un algoritmo que
calcule
n

i
1

También podría gustarte