Anda di halaman 1dari 36

ALGORITMOS Y

PROGRAMACIN GRADO
DCIMO TEMA 1:
CONCEPTOS BSICOS
Unalgoritmoes una secuencia, finita y ordenada de
instrucciones que han de seguirse para resolver un problema.
Un programa normalmente implementa (traduce a un lenguaje
de programacin concreto) uno o ms algoritmos. Un algoritmo
puedeexpresarsededistintasmaneras:enformagrfica,como
undiagramadeflujo,enformadecdigocomoenpseudocdigo
ounlenguajedeprogramacin,enformaexplicativa,etc.
ALGORITMO: Nombre

El nombre en latn de
algoritmo proviene de la
traduccin que realiz
Fibonacci, de la obra del
matemtico rabe
Al'Khwarizmi llamada ,
Algoritmi de Numero
Indorum.
ALGORITMO

Eselmtodopararesolverproblemas.Es
una serie de operaciones detalladas a
ejecutarpasoapasoyqueconducenala
resolucin de un problema. Conjunto de
reglas o la forma de describir la solucin
del problema. Es una descripcin de
accionesquedebenserejecutadasyuna
descripcin de los datos que son
manipuladosporesasacciones.
ALGORITMO: Caractersticas
LEGIBLE
CONCRETO

EFICIENTE
FINITO Debe realizar las
Debe
DebeDebe ser...
Debe
Debe
Debe
Debe
generar
indicar
tener
funciones
de
resultado
realizar
estarun
operaciones
estar
estructurado
realizacin
elbien
orden
mismo
las
terminar
libre
con un
usiempre
deen
operaciones
para
de cada
que
su
mnimo
errores.
algn
de momento
utilizacin
(Validado)de
para
fcil
lasentendimiento.
se
que
paso.
siga.
fue creado.
recursos.

NO
DEFINIDO
AMBIGUO
PRECISO
PARTES DE UN ALGORITMO

1.- Entrada: Datos e


Informacin
2.- Proceso: Elaboracin o
Desarrollo
3.- Salida: Resultado y
Terminacin
ALGORITMO: Estructura
Correspondenalosdatos
requeridospararealizarel Datos
algoritmo(datosdeentrada)y
losdatosquesongenerados
(datosdesalida)

Conformaelgrupode Procesos
instruccionesque
realizanlasoperaciones
conlosdatos.
Estructuras de
Control
Determinanla
organizacindelas
instruccionesque
debenserrealizadas.
ALGORITMO: Elementos
Lasinstrucciones
quesevana
realizardebenestar Definicin
bienestructuradasy devariablesyconstantes
tenerunorden
lgico,conelfinde
evitar Proceso
Entrada Salida
inconsistenciasen Estructuras
elresultado. decontrol

Esnecesarioidentificarque Cuerpodelalgoritmo
datossenecesitaningresar,
cualessirvendeformaauxiliary
cualessevanagenerar.
ALGORITMO: Quienes
pueden hacer un algoritmo?

Todapersona,
implcitamentey
diariamentediseay
realizaalgoritmos,para
darsolucina
situacionescotidianas
deformanatural.
Sinembargoelprogramador,diseael
algoritmoconsientedequealrealizar
cadapasoobtendrlasolucindeun
problemaespecfico.
ALGORITMO: Cmo se hace?
Elprogramadorsinembargo,loharadeesteotromodo:

Buscarlapginadecineseneldiario
1
local,confechadehoy

2 Revisarlacarteleradearribaabajoydeizquierda
aderecha,buscandoentrelosttulosexistentes.

3 SiseencuentraelttuloLaGuerradelas
Galaxias,noseguirbuscando.Apuntarel
nombredelcine,sudireccinyloshorarios

Sinoseencuentraelttuloenlacartelera,
4
esperarunasemanayvolveraempezarel
procesoapartirdelpunto1deestalista.
ALGORITMO: Otro ejemplo
Encenderunautomvil
1.Ponerlallave.
2.Asegurarsequeelcambioestenneutro.
3.Pisarelelacelerador.
4.Girarlallavehastalaposicinarranque.
5.Sielmotorarrancaantesde6seg,dejar
lallaveenlaposicinencendido.
6.Sielmotornoarrancaantesde6seg,
volveralpaso3(comomximo5veces).
7.Sielautonoarranca,llamaralagra.
Losalgoritmossecreanpararesolver
problemas.
Esimportantequejuntoalalgoritmo,
ALGORITMO:
describamosclaramenteelproblemaqueste
nospermiteresolver.
Requisitos
Porejemplo:
Si se requiere hallar la velocidad de un Debe Definirse el
automvil, es necesario, definir si la distancia problema
debeserenmetros,kilmetros,etcyeltiempo
estar dado en segundos u horas, ya que la
velocidad puede representarse en Km/h Debe estar dentro
mts/seg. de contexto

No debemos omitir el contexto de


nuestrosalgoritmos. Debe resolver el
Es necesario establecer lo que se problema
necesitaydndesedebecomenzar.
Seguir los pasos del algoritmo debe llevarnos a la
Debe evitar la
resolucindelproblema. ambigedad
Siemprequeseaposibleseguiremos
personalmente los pasos de nuestro algoritmo para
comprobarqueson
efectivamente correctos y conducen efectivamente a la
solucinesperada.
ALGORITMO: Tcnicas de Representacin
Est tcnica permite representar el
algoritmo mediante un lenguaje ms
estructurado, facilitando su posterior Diagrama de Flujo
codificacin.
Pseudocdigo

Esunatcnicaquepermite Inicio
representargrficamentelas Instruccin1
operacionesyestructurasquese Instruccin2
vanarealizar,medianteuna Sicondicinentonces
simbologaestndar,conunnico Instruccin3
.
.
.
puntodeinicioyunodefinalizacin.
Instruccinn
Fin
PSEUDOCDIGO: Cmo se Hace?
Cadainstruccinquesevaarealizar
1
debecomenzarporunverbo,ejemplo:
Muestre,Haga,Lea,etc.

2 Sedebemantenerunaidentacinosangra
sobreelmargenizquierdoparaidentificar
fcilmenteelcomienzoyfinaldelasestructuras

3 Larepresentacindelasestructurasson
similaresuhomnimasdeloslenguajesde
programacin,ejemplo:inicio,fin,mientras
que,repita_hasta,si_entonces_sino,etc.
PSEUDOCDIGO:Cmo se Hace?
Inicio : Denota el punto de inicio del algoritmo.

Leer : Denota la accin de introducir datos o variables


desde un dispositivo estndar de entrada.

Imprimir : Representa la accin de enviar datos desde


variables a un dispositivo estndar de salida.

Calcular : Denota la realizacin de cualquier operacin


aritmtica que genere valores para ser
almacenados en una variable.

Fin: Denota el punto de finalizacin del algoritmo.


DIAGRAMA DE FLUJO:
Simbologa
Lectura
Inicio
Proceso
Captura
Fin
Permiteindicarla
Seutilizapara
Permiteindicarla
realizacin
indicarelpuntode
deunprocesomatemtico,
Entradadedatosdesde
inicioyfinalizacindel
undispositivoestndar
ounaoperacinde
diagrama
asignacin
DIAGRAMA DE FLUJO:
Simbologa
Conectores
Impresin
Decisin
Flujo Permitenenlazarlos
Permitendarcontinuidad
Permiteestableceruna
smbolosdeunsentido
aldiagramasilapgina
condicinrelacional
nicopuedenser
lgicaquepuedetomar
oreadetrabajoesta
Indicalarealizacinde
horizontalesoverticales.
unvalordeverdaderoo
llena,elcrculose
operacionesdesalidaaun
Estasnopueden
dispositivoestndar
falso,deestesmbolose
utilizacomounconector
entrecruzarseycadauna
(elmonitoroimpresor.)
dentrodelamisma
deducen2flujos
deellasdebetenerun
pgina,elotrosmbolo
alternativosde
nicosmbolodepartida
sedefinecomoun
ejecucin.
yunnicosmbolode
conectoraotrapgina.
destino.
DIAGRAMA DE FLUJO:
Simbologa
Estructuras de Decisin (Condicin)
Decisin
Decisin
Decisin
DecisinMltiple
Simple
Compuesta
Anidada
Caso condicin
Sicondicinentonces
Val1:
Sicondicinentonces
Instrucciones
Instrucciones
Sicondicinentonces
Si No Val2:
Condicin si no
Instrucciones
Sicondicinentonces
No No Instrucciones
Sicondicinentonces
si no
Si
Condicin No Instrucciones
Val3:
No Condicin
Condicin
Si No Instrucciones
Condicin Condicin
Instrucciones
Instrucciones
Val1 Val2 Val3 Otro
Si Si si no
Otros:
Instrucciones
Instrucciones
Fin Caso
DIAGRAMA DE FLUJO: Simbologa
Estructuras de Ciclo

Ciclo
Ciclo
Ciclo Para
Mientras
Hasta
..
. ..
..
Para v=valini,v=valfinal,inc
..
Instrucciones
Repita
v=valini,v=valfinal,incremento Mientras que condicin
Mientras
Fin Para que condicin
Instrucciones .. Instrucciones
Instrucciones
No . Hasta que condicin
Condicin Fin Mientras
. .
v:variable
..
valini:valorinicial
Instrucciones No ..
Si valfinal:valorfinal
Condicin inc:incremento
Instrucciones
Si
SIMBOLO, REPRESENTACIN Y
SIGNIFICADO DIAGRAMA DE FLUJO
Representacin grfica del algoritmo:
diagramas de flujo
Smbolo Representacin Significado

Flechas o lneas de flujo Indica el sentido de


ejecucin de las acciones

Rectngulo Proceso o accin a realizar


(por ejemplo, asignacin)

Paralelogramo Representa una entrada o


salida

Rombo Representa el constructor de


seleccin (decisin lgica)

Rectngulo redondeado Representa el inicio y fin del


diagrama

Crculo Se usa como conector entre


dos partes del diagrama
ALGORITMO: Fases de Diseo
Definicin del problema
Algoritmo
Anlisis del problema

Seleccin de la mejor alternativa

Diagramacin

Prueba de escritorio
ALGORITMO: Definicin del
Problema
Estdadaporelenunciadodel
Estdadaporelenunciadodel
problema,elculdebeserclaroy
problema,elculdebeserclaroy
completo
completo

Esimportantequeconozcamos
Esimportantequeconozcamos
exactamentequesedesea.
exactamentequesedesea.

Mientrasquestonosecomprenda,no
Mientrasquestonosecomprenda,no
tienecasopasaralasiguienteetapa.
tienecasopasaralasiguienteetapa.
ALGORITMO: Anlisis del Problema
Losdatosde
entradaquenos Recursos
suministran Frmulas

Proceso
rea
de
Trabajo

Losdatosde
salidao
resultados que
Entendidoelproblemapara seesperan
resolverloesprecisoanalizar
ALGORITMO: Seleccin de Alternativa
Solucin..1
Solucin..3
Sedebetenerencuenta
elprincipiodequelas
cosassiempresepodrn
hacerdeunamejor
forma.
Solucin..2

La que produce los Solucin..5


Analizadoelproblema
resultados Esperados en el
Loimportanteesdeterminarcul
Posiblementetengamos
eslamejoralternativa
menor tiempo y al menor
variasformasderesolverlo
costo
ALGORITMO: Diagramacin
Dibujar
grficamente
lalgicadela
alternativa
seleccionada

Unavezque
sabemos
cmoresolverel
problema Plasmarla
solucion
medianteel
Pseudocdigo
ALGORITMO: Prueba de Escritorio
Estapruebaconsisteen:

Se
Es utiliza
Recomendable para
Al realizar lo anterior se puede
Dardiferentesdatos
corroborar
comprobar
que el
Dardiferentesdatosdeentrada
si el algoritmo es
deentradaalprograma
yconsiderartodoslosposibles
algoritmo correcto plasmado
o
casos,anlosdeexcepcino
si hay necesidad
en cualquier
noesperados,paraasegurar
de hacer ajustes
herramienta presenta
seguirlasecuenciaindicada
(volver al paso anterior)
queelprogramanoproduzca
la solucin
erroresenejecucincuando al
sepresentenestoscasos.
problemainicial
hasta
obtenerlosresultados
ALGORITMO: Conceptos

Tipo
Constante
Variable
Dato
de Dato
Correspondealtipode
Correspondeaun
Correspondeaun
valorquepuede
espaciodememoriaque
Minimapartedelainformacin.
espaciodememoriaque
almacenarseenun
almacenaundatoque
Serefierealoselementosque
almacenaundatoque
espaciodememoria
seutilizanenlosalgoritmos
dentrodelprogramaen
dentrodelprogramaen
definidoyalacantidad
pararealizaralgunaoperacin
ejecucinmantiene
ejecucincambiaovara
deespacioquerequiere
sobreestos.
siempresucontenido
paraalmacenarunvalor.
sucontenido(valor)..
(valor).
ALGORITMO: Tipos de Datos

Boleano

Real cadena

Lgicos
Entero Caracter

Numricos Carcter
Tipos
de
Datos
ALGORITMO: Operadores

+ Aritmticos
-
>=
>
< / %
<= =
Relacionales ^
!= No Lgicos
<> Y &&
O ||
Programa de Aplicacin
Programaquepermiteresolverlaecuacindeprimergrado

AlgoritmoEC1erGrado
Programa
Variables
quepermite
a,b,xdetipoentero
resolverla
Inicio
ecuacinde
Escribir(IngresevaloresdeEC)
primergrado
Leer(a,b)
Sia=0entonces #include<stdio.h>
escribir(Error) inta,b,x;
sino main()
Inicio {
x=-b/a printf(IngresevaloresdeEC);
Escribir(Lasolucines:,x) scanf(%d%d,&a,&b);
ax+b=0 Fin ifa==0printf(error);
Escribir(Finprograma) else
Fin {
x=-b/a;
a printf(Lasolucines%d:,x);
? x=-b/a }
b printf(Finprograma);
}
EJEMPLODEALGORITMOS
Algoritmo:Secuenciaordenadadeaccionesprimitivasquerealizanuntrabajo.
Ejemplos:
Clculo de la media aritmtica de
Ir al trabajo dos nmeros con una calculadora
1.Levantarse 1.PulsarlateclaAC
2.Teclearelprimernmero
2.Darseunaducha 3.Pulsarlatecla+
3.Vestirse 4.Teclearelsegundonmero
4.Desayunar 5.Pulsarlatecla+
6.Pulsarlatecla/
5.Tomarelbus 7.Teclearelnmero2
(transporte) 8.Pulsarlatecla=
Bsqueda Secuencial
Consiste en ir comparando el
elemento que se busca con cada
elemento del arreglo hasta que se
encuentra.
0123456789

I N F O M T I C A

ndiceresultado=4
M M M M M

1
Ordenamiento Burbuja
El algoritmo consiste en que los
elementos ms pesados se
hundan y los ms livianos salgan a
flote.
25 25 25 15 15 1

32 15 15 25 1 15

15 32 1 1 25 25

1 1 32 32 32 32
1
Un primer ejemplo de algoritmo
Elsiguientealgoritmocalculaelreayelpermetrodeunrectngulo

Datosdeentrada:bya(baseyaltura) Anlisisresumido
Datosdesalida:arype(reaypermetro) delproblema
Procesos:ar=b*a,pe=2*(b+a)

1. Inicio
2. Leerbaseyaltura(b,a)
3. ar b*a
4. pe2*(b+a)
5. Escribirreadelrectngulo:,ar
6. EscribirPermetrodelrectngulo:,pe
7. Fin
ACTIVIDADES
1. COPIARDIAPOSITIVASENELCUADERNO.
2. DESARROLLARLOSSIGUIENTESALGORITMOSEN
ELCUADERNO(Llegaralcolegio,
3. REALIZAREXAMENENELSIGUIENTELING:(Copiar
enelcuadernopreguntasyrespuestas)
http://www.creartest.com/hacertests-63959-EXAMEN_
DE_ALGORITMICA.php

4. REALIZARELSIGUIENTETEST:(Copiarenelcuaderno
preguntasyrespuestas)
http://www.daypo.com/test-logica-algoritmos.html
5. REALIZARTEST:(Copiarenelcuadernopreguntasy
respuestas)
GENERALIDADES SOBRE LOS
ALGORITMOS
Describir los pasos para cruzar la calle. Describa los pasos para cambiar un
bombillo quemado.

Describa los pasos para llevar a una Describa los pasos para cambiar la
amiga a cine. llanta pinchada de una cicla.
PALABRAS CLAVES
Computadora,Hardware,Software,Informtica,
Cdigobinario,Perifricos,Memoria,
Programacindecomputadoras,programador,
Programacinestructurada,Lenguajede
programacin,Interprete,Compilador,Variable,
Constante,Diagramadeflujo,Diagramasde
flujo,Algoritmos,Tomadedecisin,Ciclos,
Funciones

Anda mungkin juga menyukai