Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Clase Algoritmia

No description

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Clase Algoritmia

Algoritmia
Bienvenidos!!!
Es un conjunto de pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema.
En las ciencias de la computación se ocupa de los problemas computables
Se le llama problema computable a aquella abstracción de la realidad que tiene representación algorítmica.
Los algoritmos permiten encontrar la solución a problemas computables.
Intuitivamente las personas efectuamos cotidianamente una serie de pasos, que nos permiten alcanzar algún resultado o resolver un problema (al bañarnos, al desayunar, al ir a la universidad).
DIAGRAMAS DE FLUJO
Un diagrama de flujo utiliza
símbolos
estándar en el que cada paso del algoritmo se visualiza dentro del símbolo, el orden de flujo se indica conectándolos con flechas llamadas
líneas de flujo
, ya que indican el flujo lógico del algoritmo.

Los símbolos utilizados en los diagramas de flujo han
sido estandarizados por la
ANSI
(American National Standars Institute) y por la
ISO
(International Standard Organization)
CARACTERISTICAS DE LOS ALGORITMOS
– Debe ser
Preciso
e indicar el órden de realización de cada paso.

– Debe ser
Definido,
es decir, si se sigue un algoritmo dos veces, se debe obtener el mismo resultado.

– Un algoritmo debe ser
Finito,
es decir, si se sigue el algoritmo se debe terminar el algún momento.
Analizar problemas, diseñar soluciones óptimas.

Desarrollar habilidades para la
resolución de problemas
algoritmicos.

Aplicar soluciones algorítmicas en la implementación de software
PORCENTAJES
* Parciales: 70 % (35%, 35%)

* Quices: 10%

* Proyectos: 20 %
DUDAS Y PREGUNTAS
Correo: johnny.salazar@ucaldas.edu.co

Campus virtual:
http://campusvirtualudecaldas.edu.co
Foro social "tengo dudas"
Introduccion
ALGORITMO
INTRODUCCION A LA ALGORITMIA
OBJETIVOS
Todo profesional en el area de las TIC's debe manejar los aspectos básicos de los algoritmos.

Se debe tener en cuenta que un algoritmo nos sirve para plasmar la solución a un problema en una computadora pues esta es la base de la programación.

DEFINICION DEL ALGORITMO
EJEMPLO
OTRAS CARACTERISTICAS
• Debe ser correcto y debe resolver el problema planteado en todas sus facetas

• Debe ser legible
Tipos de datos
FASES PARA RESOLVER UN PROBLEMA
1. ANALISIS DEL PROBLEMA
DEFINIR Y ENTENDER EL PROBLEMA:

Se debe
identificar
que va a
solucionar
el problema

Se debe
identificar
que
informacion
o que
datos
se necesitan para solucionar el problema

Finalmente, se
define
un procedimiento para producir los resultados deseados a partir de los datos, es decir,
el algoritmo
.
ELEMENTOS DE UN ALGORITMO
Entrada:
Los datos iniciales que posee el algoritmo

antes de ejecutarse.

Proceso:
Acciones que lleva a cabo el algoritmo.

Salida:
Datos que obtiene finalmente el algoritmo.
FASES PARA RESOLVER UN PROBLEMA COMPUTABLE
2. DEFINICION DEL ALGORITMO
La solución de un problema complejo puede requerir muchos pasos, es necesario dividir el problema en subproblemas más sencillos de resolver.

Esta tecnica se denomina
divide y vencerás
y es aplicable mediante el método denominado
diseño descendente
.

El proceso de division de un problema en subproblemas más sencillos se denomina
refinamiento paso a paso
o
sucesivos.

Existen 2 tipos de lenguajes algoritmicos, los
graficos
y los
no graficos

Se utilizan herramientas de programacion para realizar
diagramas de flujo
(Graficos) y
pseudocodigo
(No graficos), que facilitan la comprension de la solucion del problema y su codificacion a codigo de programacion
Entrada
Salida
Proceso
PSEUDOCODIGO
Es un lenguaje de
pseudoprogramación,
es decir, muy parecido a un
lenguaje de programación.

El pseudocódigo es muy fácil de utilizar, ya que es muy similar al español.

Algunas palabras utilizadas en el pseudocódigo:
– Inicio
-Fin
– Leer
– Escribir
– Asignar (x y+z)
SIMBOLOS DIAGRAMA DE FLUJO
Terminal
Terminal
Entrada
Proceso
Salida
EJEMPLO
PROBLEMA
Como calcular el area de un rectangulo?
Que va a solucionar?
Cuanto es el area de un rectangulo
Que necesita?
altura
base
Como se soluciona?
area = base * altura
SOFTWARE PARA DIAGRAMAS DE FLUJO
DFD
Enlace Descarga:
http://campusvirtualudecaldas.edu.co/lmsudec/mod/resource/view.php?id=38332

Tutorial:
SOFTWARE PARA PSEUDOCODIGO
LPP
Descarga:
http://campusvirtualudecaldas.edu.co/lmsudec/mod/resource/view.php?id=38349
Tutorial:
http://campusvirtualudecaldas.edu.co/lmsudec/mod/page/view.php?id=38347
TIPOS DE ALGORITMO
Cualitativos:
Son aquellos en los que se describen los pasos utilizando palabras.

Cuantitativos:
Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
QUE ES UN DATO?
En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo.
Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que nos proporciona información.
Variables y Constantes
Variables:
Una variable es un dato de cualquier tipo que
cambia
durante la ejecución del programa. Ejemplo:

base*altura = Area (Dependiendo el problema la base o la altura cambian)
Constantes:
Una constante es un dato numérico o alfanumérico que
no cambia
durante la ejecución del programa. Ejemplo:

Area circulo = PI * radio^2
TIPOS DE DATOS
Numeros
Falso-Verdadero
Texto
(letras,numeros,etc)
Las operaciones de entrada permiten leer determinados valores y asignarlos a determinada variables. Esta entrada se conoce como operación de lectura ( read).

La salida puede aparecer en un dispositivo de salida. La operación de salida se denomina escritura (write)

En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes:
ENTRADA Y SALIDA DE INFORMACION
ASIGNACION DE VARIABLES
La operación de asignación es el modo de darle valores a una variable.

El formato general de una operación de asignación es:

Nombre de la variable
expresión

La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC, FORTRAN ) o = Pascal).

La operación de asignación:
A 5;

Significa que a la variable A se le ha asignado el valor 5.

Las operaciones de asignación se clasifican en:
- Asignación aritmética (Numeros)
- Asignación lógica (Falso o verdadero)
- Asignación de caracteres (Texto, letras, etc)
EXPRESIONES
las expresiones son combinaciones de constantes, variables, símbolos de operaciones, paréntesis y nombres de funciones especiales. por ejemplo:

a - ( b + 3 ) /c

Una expresión consta de op
eradores y
op
erando. S
egún sea el tipo de objetos que manipulan, se clasifican las expresiones en:

- Aritméticas
- Relaciónales
- Lógicas
- Carácter
OPERADORES ARITMETICOS
Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas que se utilizan en las matematicas.

Suma(+) :
a <-- 5 + 10 respuesta: a <-- 15

Resta(-):
a <-- 9 - 2 respuesta: a <-- 7

Multiplicación(*) :
a <-- 6 * 3 respuesta: a <-- 18

División(/):
a <-- 10 / 2 respuesta: a <-- 5

Exponenciación(**)(^):
a <-- 2 ** 3 ó a <-- 2^3 respuesta: a <-- 8

Módulo "residuo de la division"(mod):
a <-- 19 mod 6 respuesta: a <-- 1
OPERADORES BOOLEANOS
su valor es siempre verdadero o falsoLas expresiones lógicas se forman combinando constantes logicas, variables lógicas y otras expresiones utilizando los operadores not, and, y or, y los operadores relacionales (de relación o comparación ) =, <, >, <=, >=, <>.

Si a <-- 5 b<-- 7 c<-- 10

M
ayor que(>):
a > 7 respuesta falso
M
enor que(<):
b < 3 respuesta falso
I
gual que(=):
c = 10 respuesta verdadero
M
ayor o igual(>=):
a >= 11 respuesta falso
M
enor o igual(<=):
b<= 4 respuesta falso
D
iferente(<>):
c <> 2 respuesta verdadero
OPERADORES RELACIONALES
Los operadores relacionales o de relación permiten realizar comparaciones de valores de tipo numérico o carácter. Los operadores de relación sirven para expresar las condiciones en los algoritmos.

Mayor que(>):
a > 7
Menor que(<):
b < 3
Igual que(=):
c = 10
Mayor o igual(>=):
a >= 11
Menor o igual(<=):
b<= 4
Diferente(<>)(!=):
c <> 2 ó c != 2
OPERADORES LOGICOS
Los operadores lógicos o boléanos básicos son
not
(no),
and
(y), y
or
(o).

Si a <-- 15 b<-- 7 c<-- 10

AND
(Ambos resultados deben ser verdaderos para mostrar verdadero)
a > 7
AND
a <= 15 respuesta verdadero
b < 3
AND
b = 5 respuesta falso

OR
(Uno de los resultados debe ser verdadero para mostrar verdadero)

c = 10
OR
c <11 respuesta verdadero
a >= 11
OR
a = 2 respuesta verdadero
a >= 16
OR
a = 2 respuesta falso

NOT

(Si es verdadero muestra falso, y si es falso muestra verdadero)
NOT
b= 7 respuesta falso
NOT
c >= 12 respuesta verdadero
(Actividad de repaso)
(Ejemplos de algoritmos)
Numericos:
int: Numeros enteros
float : Numeros relales
Texto
String: Campo de texto, estos siempre
van entre comilla
Logico
boolean: True o False
(Instalar netbeans)
CONDICIONALES
Permiten evaluar o comprobar una condicion para saber que camino tomar en el algoritmo
if(condicion)
entonces realizar accion1
fin si
sino
entonces realizar accion2
fin sino
(ejemplo netbeans)
(ejemplo netbeans)
(ejemplo netbeans)
(Ejemplo netbeans
)
TALLERES
1. Taller del campus
2. Taller netbeans
Full transcript