CREACION DE ALGORITMOS CURSO WEB-
INTRODUCCION A LA PROGRAMACION
PRESENTADO POR: YOSENITH ILLIDGE
DOCENTE: LEONARDO MEZA
UNIVERSIDAD COOPERATIVA DE COLOMBIA
FACULTAD DE INGENIERIA
DEPARTAMENTO DE INGENIERIA CIVIL-ALGORITMIA
SANTAMARTA- MAGDALENA
2013
INTRODUCCION
La programación es el proceso de diseñar, codificar, depurar y
mantener el código fuente de programas computacionales. El
código fuente es escrito en un lenguaje de programación. El
propósito de la programación es crear programas que exhiban
un comportamiento deseado. El proceso de escribir código
requiere frecuentemente conocimientos en varias áreas
distintas, además del dominio del lenguaje a
utilizar, algoritmos especializados y lógica formal. Programar
no involucra necesariamente otras tareas tales como el
análisis y diseño de la aplicación (pero sí el diseño del
código), aunque sí suelen estar fusionadas en el desarrollo de
pequeñas aplicaciones.
OBJETIVOS
Desarrollar problemas algorítmicos de baja y
mediada complejidad a través de pseudocódigo
y diagrama de flujo de datos que permitan
desarrollar el pensamiento algorítmico en los
estudiantes.
ALGORITMO
Un Algoritmo, se puede definir
como una secuencia de
instrucciones que representan
un modelo de solución para
determinado tipo de
problemas. O bien como un
conjunto de instrucciones que
realizadas en orden conducen
a obtener la solución de un
problema. Por lo tanto
podemos decir que es un
conjunto ordenado y finito de
pasos que nos permite
solucionar un problema.
Pensamiento algorítmico
El Pensamiento Algorítmico
está fuertemente ligado al
pensamiento procedimental
requerido en la programación
de computadores; sin
embargo, su desarrollo puede
conducir a los estudiantes a
aproximarse guiada y
disciplinadamente a los
problemas de forma que este
pueda transferirse a otros
ambientes diferentes a los de
la programación.
Conceptos básicos en los algoritmos
 Variables: permiten almacenar de forma temporal un
valor, el cual puede cambiar durante la ejecución del
algoritmo. Se pueden definir como lógicos, caracteres o
numéricas.
 Operadores aritméticos: utilizan signos como: mas (+),
menos (-), por (*), entre (/), circunflejo, MOD, que
identifica si un numero es exacto o no.
 Operadores de asignación: se utiliza cuando se
determina que una variable toma un valor, son: (<-) (=).
 Operadores relacionales: son los signos mayor que (>),
menor que (<), mayor o igual que (>=), menor o igual que
(<=), igual a (=), diferente (<>).
Analisis de algoritmos
Es la etapa en donde se
deben definir:
 formulación del
problema
 resultados esperados
Datos disponibles
Restricciones
Procesos necesarios.
Diseño de algoritmos
Se pueden representar
de dos formas:
 pseudocódigo:
1.Se puede ejecutar en
un ordenador como
por ejemplo o PSeInt.
2.Es una forma de
representación
sencilla de utilizar y
de manipular.
3. Facilita el paso del programa al lenguaje de
programación.
4.Es independiente del lenguaje de programación
que se vaya a utilizar.
5.Es un método que facilita la programación y
solución al algoritmo del programa
 diagrama de
flujo (DFD)
es una representación
gráfica de un proceso.
Cada paso del proceso es
representado por un
símbolo diferente que
contiene una breve
descripción de la etapa de
proceso. Los símbolos
gráficos del flujo del
proceso están unidos entre
sí con flechas que indican
la dirección de flujo del
proceso.
componentes del DFD
estructura de un algoritmo
las estructuras se identifican porque en la fase de solución del
problema existe algún punto en el cual es necesario establecer
una pregunta, para decidir si ciertas acciones deben realizarse
o no.
Las principales estructuras selectivas son:
 Simples
 dobles
Estructuras
selectivas simples:
Se identifican porque
están compuestos
únicamente de una
condición.
Estructuras selectivas dobles
Son estructuras lógicas que permiten controlar la
ejecución de varias acciones y se utilizan cuando se
tienen dos opciones de acción, por la naturaleza de
estas se debe ejecutar una o la otra, pero no ambas a
la vez, es decir, son mutuamente excluyentes
l
Si <condición> entonces
<acción S1>
sino
<acción S2>
Fin_Si Entonces, si una
condición C es verdadera, se ejecuta la acción S1 y si es
falsa, se ejecuta la acción S2.
Grafica de la estructura doble
Prueba de
escritorio
La prueba de escritorio es una
herramienta útil para entender
que hace un determinado
algoritmo, o para verificar que
un algoritmo cumple con la
especificación sin necesidad de
ejecutarlo.
Básicamente, una prueba de
escritorio es una ejecución „a
mano‟ del algoritmo, por lo
tanto se debe llevar registro de
los valores que va tomando
cada una de las variables
involucradas en el mismo.
Ejercicio
Las computadoras están desempeñando un papel cada vez más
importante
en la educación. Escriba un programa que ayude a un estudiante de
primaria a aprender a multiplicar. Utilice Math.random para producir dos
enteros positivos de un solo dígito. El programa deberá exhibir una
pregunta tal como: ¿Cuánto es 4 * 5 ?. El estudiante tecleará la
respuesta.
El programa verificará la respuesta del estudiante: si es correcta deberá
imprimir mensajes de manera aleatoria, los números deben estar en el
rango de 1 a 4, de tal manera que se generen diferentes mensajes tales
como: ¡Muy bien!, ¡Excelente!, ¡Buen Trabajo!, y hará otras preguntas de
multiplicación. Si la respuesta esta equivocada, se imprimirá el siguiente
mensaje Incorrecto inténtalo de nuevo y se le debe dar la oportunidad de
realizarlo hasta 3 veces.
Analisis del problema
- Formulación del problema: se necesita ayudar a un
estudiante de primaria a que aprenda a multiplicar.
- Resultados esperados: ayudar a un estudiante de primaria
a aprende a multiplicar.
- Datos disponibles: el rango es 1 y 4; se tiene que digitar
dos valores enteros positivos.
- Restricciones: dos valores positivos
- Procesos necesarios: multiplicación; estructura condicional.
Pseudocódigo
INICIO
escribir (“digite dos valores enteros positivos entre 1 y 4”)
leer a, b
escribir (“digite respuesta”)
leer resp
mult= a*b
si mult= resp entonces
escribir (“muy bien” ”excelente” ”buen trabajo”)
sino
si mult<>resp entonces
escribir (“incorrecto” “inténtelo de nuevo, hasta tres
veces”
FSI FSI
FIN
DIAGRAMA DE FLUJO
NO
SI
NO
si SI
INICIO
“digite dos
valores positivos
entre 1 y 4”
“digite
respuesta”
a,b
resp
Mult= a*b Mult=resp
Mult<>resp
“muy bien”
“excelente”
“buen trabajo”
“incorrecto”
“inténtalo de
nuevo, hasta
tres veces”
“el resultado de la
multiplicación es”,
mult
FIN
definición de variables
a: numérica, sirve para leer uno de los valores
b: numérica, sirve para leer el otro valor
Mult: numérica, sirve para identificar la operación de la
multiplicación.
Resp: numérica, sirve para nombrar el resultado de la
multiplicación.
Prueba de escritorio
a: 3 mult: 3*2
b: 2 resp: 6, entonces “muy bien”
introducción a la programación. yosenith lllidge

introducción a la programación. yosenith lllidge

  • 2.
    CREACION DE ALGORITMOSCURSO WEB- INTRODUCCION A LA PROGRAMACION PRESENTADO POR: YOSENITH ILLIDGE DOCENTE: LEONARDO MEZA UNIVERSIDAD COOPERATIVA DE COLOMBIA FACULTAD DE INGENIERIA DEPARTAMENTO DE INGENIERIA CIVIL-ALGORITMIA SANTAMARTA- MAGDALENA 2013
  • 3.
    INTRODUCCION La programación esel proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.
  • 4.
    OBJETIVOS Desarrollar problemas algorítmicosde baja y mediada complejidad a través de pseudocódigo y diagrama de flujo de datos que permitan desarrollar el pensamiento algorítmico en los estudiantes.
  • 5.
    ALGORITMO Un Algoritmo, sepuede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema.
  • 6.
    Pensamiento algorítmico El PensamientoAlgorítmico está fuertemente ligado al pensamiento procedimental requerido en la programación de computadores; sin embargo, su desarrollo puede conducir a los estudiantes a aproximarse guiada y disciplinadamente a los problemas de forma que este pueda transferirse a otros ambientes diferentes a los de la programación.
  • 7.
    Conceptos básicos enlos algoritmos  Variables: permiten almacenar de forma temporal un valor, el cual puede cambiar durante la ejecución del algoritmo. Se pueden definir como lógicos, caracteres o numéricas.  Operadores aritméticos: utilizan signos como: mas (+), menos (-), por (*), entre (/), circunflejo, MOD, que identifica si un numero es exacto o no.  Operadores de asignación: se utiliza cuando se determina que una variable toma un valor, son: (<-) (=).  Operadores relacionales: son los signos mayor que (>), menor que (<), mayor o igual que (>=), menor o igual que (<=), igual a (=), diferente (<>).
  • 8.
    Analisis de algoritmos Esla etapa en donde se deben definir:  formulación del problema  resultados esperados Datos disponibles Restricciones Procesos necesarios.
  • 9.
    Diseño de algoritmos Sepueden representar de dos formas:  pseudocódigo: 1.Se puede ejecutar en un ordenador como por ejemplo o PSeInt. 2.Es una forma de representación sencilla de utilizar y de manipular.
  • 10.
    3. Facilita elpaso del programa al lenguaje de programación. 4.Es independiente del lenguaje de programación que se vaya a utilizar. 5.Es un método que facilita la programación y solución al algoritmo del programa
  • 11.
     diagrama de flujo(DFD) es una representación gráfica de un proceso. Cada paso del proceso es representado por un símbolo diferente que contiene una breve descripción de la etapa de proceso. Los símbolos gráficos del flujo del proceso están unidos entre sí con flechas que indican la dirección de flujo del proceso.
  • 12.
  • 13.
    estructura de unalgoritmo las estructuras se identifican porque en la fase de solución del problema existe algún punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben realizarse o no. Las principales estructuras selectivas son:  Simples  dobles
  • 14.
    Estructuras selectivas simples: Se identificanporque están compuestos únicamente de una condición.
  • 15.
    Estructuras selectivas dobles Sonestructuras lógicas que permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes l Si <condición> entonces <acción S1> sino <acción S2> Fin_Si Entonces, si una condición C es verdadera, se ejecuta la acción S1 y si es falsa, se ejecuta la acción S2.
  • 16.
    Grafica de laestructura doble
  • 17.
    Prueba de escritorio La pruebade escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo. Básicamente, una prueba de escritorio es una ejecución „a mano‟ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.
  • 18.
    Ejercicio Las computadoras estándesempeñando un papel cada vez más importante en la educación. Escriba un programa que ayude a un estudiante de primaria a aprender a multiplicar. Utilice Math.random para producir dos enteros positivos de un solo dígito. El programa deberá exhibir una pregunta tal como: ¿Cuánto es 4 * 5 ?. El estudiante tecleará la respuesta. El programa verificará la respuesta del estudiante: si es correcta deberá imprimir mensajes de manera aleatoria, los números deben estar en el rango de 1 a 4, de tal manera que se generen diferentes mensajes tales como: ¡Muy bien!, ¡Excelente!, ¡Buen Trabajo!, y hará otras preguntas de multiplicación. Si la respuesta esta equivocada, se imprimirá el siguiente mensaje Incorrecto inténtalo de nuevo y se le debe dar la oportunidad de realizarlo hasta 3 veces.
  • 19.
    Analisis del problema -Formulación del problema: se necesita ayudar a un estudiante de primaria a que aprenda a multiplicar. - Resultados esperados: ayudar a un estudiante de primaria a aprende a multiplicar. - Datos disponibles: el rango es 1 y 4; se tiene que digitar dos valores enteros positivos. - Restricciones: dos valores positivos - Procesos necesarios: multiplicación; estructura condicional.
  • 20.
    Pseudocódigo INICIO escribir (“digite dosvalores enteros positivos entre 1 y 4”) leer a, b escribir (“digite respuesta”) leer resp mult= a*b si mult= resp entonces escribir (“muy bien” ”excelente” ”buen trabajo”) sino si mult<>resp entonces escribir (“incorrecto” “inténtelo de nuevo, hasta tres veces” FSI FSI FIN
  • 21.
    DIAGRAMA DE FLUJO NO SI NO siSI INICIO “digite dos valores positivos entre 1 y 4” “digite respuesta” a,b resp Mult= a*b Mult=resp Mult<>resp “muy bien” “excelente” “buen trabajo” “incorrecto” “inténtalo de nuevo, hasta tres veces” “el resultado de la multiplicación es”, mult FIN
  • 22.
    definición de variables a:numérica, sirve para leer uno de los valores b: numérica, sirve para leer el otro valor Mult: numérica, sirve para identificar la operación de la multiplicación. Resp: numérica, sirve para nombrar el resultado de la multiplicación. Prueba de escritorio a: 3 mult: 3*2 b: 2 resp: 6, entonces “muy bien”