SlideShare une entreprise Scribd logo
1  sur  18
Asignatura: TIC en el Diseño, Desarrollo y Gerencia del Currículo
Actividad tres: incorporación de TIC en el proceso de enseñanza aprendizaje.
Presentado por:
Esp. Hector Enrique Guerrero Conde
Presentado a:
Mg. Rosa Liliana Novoa Hernandez
Universidad de Santander
Campus Virtual UDES
Especialización en Administración de la Informática Educativa
Popayán
2012
2
Dado que en la tabla 6 de la página 74 del libro Las Tic en el Diseño y Desarrollo del
Currículo, no se menciona por ningún lado a los lenguajes de programación y a su
raíz cognitiva: la lógica de programación de computadoras, lo que denota una gran
falencia en este campo por parte del autor del libro, me toca construir mi propia
clasificación de recursos para ésta que es mi habilidad de pensamiento, a la cual
llamaré Recursos de Lógica Computacional.
RECURSOS DE LOGICA COMPUTACIONAL
INTRODUCCIÓN
El aprendizaje de la lógica de programación de computadoras, (hermosa rama de la
computación) es activo, exploratorio y vivencial, permite aprender y comprender
conceptos lógicos y matemáticos, para crear toda una serie de programas o
soluciones informáticas, con infinitas posibilidades en las que el único límite es la
imaginación.
Los conceptos pedagógicos aplicados a los lenguajes de programación permiten
desarrollar y/o potenciar las siguientes habilidades de pensamiento:
1. Plantear y resolver un problema.
a. Proponiendo soluciones.
b. Descomponiéndolo en partes simples (análisis)
c. Construir la solución total a partir de pequeñas soluciones (síntesis).
2. Desarrollar la capacidad de describir.
3. Explorar y descubrir.
4. Valorar los componentes del lenguaje.
5. Desarrollar la capacidad de abstraer.
Desafortunadamente, en la mayor parte de los hogares y centros educativos tal
como lo describe el texto referenciado, los programas que más tienen predilección
son las aplicaciones utilitarias como procesadores de palabra, hojas de cálculo,
paquetes multimedia, videojuegos o servicios web 2.0 que lo hacen casi todo, frente
a los cuales los usuarios se ven dominados y programados por una sucesión de
3
comandos y acciones de respuesta estereotipadas bajo el manto de una aparente e
ilusoria situación de participación.
La forma de usar la computadora con programas utilitarios o con los lenguajes de
programación como Microsoft® Visual C++, no se contrapone, se complementa, ya
que en el primer caso la máquina se usa para hacer algunas operaciones o procesos
más fácilmente y en el segundo se utiliza para entender cómo funcionan dichos
procesos, por todo lo anterior, es labor del docente crear conciencia sobre el uso de
las computadoras, para que éstas se conviertan en instrumentos del pensamiento al
servicio de la ciencia y de la cultura.
NOMBRE DEL CURSO
Lógica de programación de computadoras
NOMBRE DEL RECURSO
Microsoft® Visual C++.
UNIDAD DE APRENDIZAJE
Conceptos básicos de algoritmos.
COMPETENCIAS A DESARROLLAR
Reconocer la importancia de la lógica a través de la algoritmia en el momento
de llevar al signo un problema del mundo real a través del método de resolución de
problemas.
Fundamentar y ofrecer razones sobre la importancia de la algoritmia en la
formación como desarrollador de software.
Elaborar soluciones computacionales básicas a problemas planteados.
OBJETIVO GENERAL
Enseñar al estudiante los aspectos fundamentales de la programación de
computadoras por el método de resolución de problemas.
OBJETIVOS ESPECÍFICOS
Potenciar el razonamiento lógico computacional del estudiante en el desarrollo
4
de algoritmos elementales.
Desarrollar en el estudiante la capacidad de analizar y proponer soluciones a
problemas propuestos.
Utilizar el método de resolución de problemas a través de algoritmos, que
permita al estudiante matematizar, geometrizar y llevar al signo cualquier problema
del mundo real planteado.
Fundamentar el concepto de algoritmo haciendo énfasis en el análisis, diseño y
construcción de soluciones computacionales con el uso del lenguaje de
programación C/C++.
CONTENIDO
1. Algoritmos y programas
1.1 Concepto y descripción de procesos
1.2 Algoritmos y características
1.3 Tipos de dados y operaciones primitivas.
1.3.1 Datos numéricos
1.3.2 Datos no numéricos
1.4 Constantes y variables.
1.5 Expresiones.
1.5.1 Expresiones aritméticas
1.5.1.1 Operadores aritméticos
1.5.1.2 Orden de prioridad o precedencia de operadores.
1.5.2 Expresiones booleanas
1.5.2.1 Operadores de relación.
1.6 Pasos para la construcción de algoritmos.
1.6.1 Análisis del problema.
1.6.2 Datos de entrada.
1.6.3 Datos derivados.
1.6.4 Datos de salida.
1.7 Representación de algoritmos.
1.7.1 Diagramas de flujo estructurados.
1.7.2 Diagramas de Nassi/Sneiderman.
1.7.3 Prueba de escritorio.
1.8 Método de resolución de problemas.
5
ESTRATEGIA PEDAGÓGICA
CONSTRUCCION DE SOLUCIONES COMPUTACIONALES POR EL METODO DE
RESOLUCIÓN DE PROBLEMAS
Adquirir o descubrir la habilidad de programar una computadora no es tarea fácil, se
necesita mucho tiempo, dedicación y paciencia para obtener un nivel competente en
este campo. Muchas veces en la maratónica empresa por dominar esos briosos e
inquietos bits en su estado salvaje para ponerlos al servicio de los mortales bajo
apariencias amigables, es posible encontrarse inmerso(a) en un laberinto sin salida;
ocasión en la que se debe tomar un breve descanso, darse un respiro y volver a
empezar. Repitiendo este proceso las veces que sea necesario hasta alcanzar la
meta propuesta.
En este sentido en 1945 el matemático húngaro George Polya publicó el libro “How
To Solve It!”1
El cual describe un método general de resolución de problemas
matemáticos de todos los tipos; sin embargo, el enfoque de este texto es mucho
más general y ampliamente aplicable a otras clases de problemas sobre todo en el
caso de tener a mano una computadora y en especial un lenguaje de programación
como recurso para resolverlos, a continuación se citan algunos apartes de este
método2
, haciendo unos pequeños ajustes para este caso.
El procedimiento de análisis y resolución consta de los siguientes cuatro pasos:
1. Comprender el problema
2. Concebir un plan
3. Ejecutar el plan
4. Examinar la solución obtenida
1. Comprender el problema (Identificar el objetivo que se quiere alcanzar).
El primer paso consiste en leer el problema las veces que sea necesario hasta
1
Traducido al español y publicado por editorial Trillas de México en 1965 bajo el título Como Plantear
y Resolver Problemas.
2
POLYA, George. “How to Solve It!” [en línea]. [citado 3 de enero de 2007]. Disponible en Internet:
<http://www.physics.ohio-state.edu/~ntg/263/handouts/261polya05.pdf>.
6
asegurarse que lo entendió de manera clara y concisa. Hágase a si mismo las
siguientes preguntas: ¿Qué se tiene o sabe?, ¿Qué se desconoce?, ¿Cuáles son las
cantidades dadas?, ¿Cuáles son las condiciones dadas?
2. Graficar. Gastón Bachelard dijo “Tornar geométrica la representación y
ordenar en serie los acontecimientos decisivos de una experiencia, he ahí la primera
tarea en la que se funda el espíritu científico”3
.
Estas profundas palabras nos indican lo imperativo que es para todos los casos por
sencillos que parezcan, hacer uso de graficas y diagramas, en especial los “de flujo
de detalle” u “ordinogramas” con el fin de mejorar la perspectiva que se tenga de
ellos. En los diagramas de flujo se debe identificar: valores de entrada, de salida,
tipos de datos, cálculos aritmético lógicos, y contemplar como fluye la información a
través de procesos, sentencias condicionales y ciclos. Se hace necesario además,
introducir una notación con símbolos o términos nemotécnicos para designar las
variables o constantes utilizadas, se recomienda que la nomenclatura utilizada esté
lo más relacionada posible con el dato que representa; por ejemplo: para designar
una variable que maneje el valor de la gravedad es más ventajoso utilizar la letra “g”
o el apocope “grav” que “V” o “t”.
3. Concebir un plan. En esta fase, se debe encontrar una relación explícita
entre la información dada y la desconocida que permita calcular en gran medida lo
que no se conoce. En caso de no percibir dicha conexión de forma inmediata, los
siguientes ítems le pueden ayudar a esbozar el plan.
4. Establezca submetas. “Divide et Vinces” (“divide y vencerás”), frase del
célebre Julio Cesar, nos conduce a una muy buena estrategia recursiva para
resolver problemas complejos que se puedan fragmentar en subproblemas más
sencillos; haciendo diferentes soluciones para cada una de la partes. Si se pueden
3
BACHELARD, Gastón. La formación del espíritu científico. Argentina: Siglo XXI Editores, 1975.p. 7.
7
alcanzar esas submetas primero, entonces se podrá construir sobre éstas la
solución final.
5. Intente reconocer algo familiar, use analogías. Relacione la nueva
situación con el conocimiento previo. Observe lo desconocido e intente recordar un
problema familiar que tenga planteamientos o principios similares; por ejemplo: si el
problema es de geometría tridimensional, se puede mirar cómo se comporta un
dechado parecido de geometría en dos dimensiones
6. Intente reconocer patrones. Algunos problemas son resueltos por
reconocimiento del comportamiento de algunas clases de patrones, modelos o
estándares. El patrón puede ser lógico, geométrico, numérico o algebraico. Si se
descubren éstas regularidades o repeticiones en un problema, se puede predecir el
próximo y probar éste.
7. Trabajo en retrospectiva. Muchas veces es útil imaginar que el problema ya
está resuelto y trabajar en retroceso, paso a paso hasta llegar a los datos de entrada
brindados construyendo a la inversa la solución del problema planteado. Este
procedimiento es comúnmente utilizado para resolver ecuaciones.
8. Ejecutar el plan. Aplicando secuencialmente lo planificado en el plan
previamente establecido, se podrá verificar cada una de las fases y documentar los
detalles que prueben que son correctas o por el contrario que contengan
inconsistencias.
9. Examinar la solución obtenida. Sea crítico de sus resultados, busque
imperfecciones o errores en sus soluciones (incoherencias, ambigüedades o pasos
incorrectos). Los siguientes ítems ayudan en gran medida en el momento de la
revisión:
8
Si hay una respuesta numérica o lógica, verifique si las magnitudes son
correctas o razonables.
Haga que las respuestas varíen sus expectativas y compruebe sus limitantes
si se modifica uno o más parámetros, comprobando las limitantes del sistema,
por ejemplo; en un ejercicio relacionado con el movimiento parabólico de un
cuerpo en el que la fuerza de gravedad “g” está implicada, haga que la
respuesta cambie lo esperado y el sistema transforme su comportamiento al
alterar el valor de ésta.
Si es posible haga un experimento simple para observar y corroborar si su
respuesta tiene sentido.
RESOLUCIÓN DE PROBLEMAS A TRAVÉS DE UN LENGUAJE DE
PROGRAMACION
El método de Polya aplicándolo sesudamente vasculariza y oxigena por múltiples
vías las dos primeras fases de las tres que componen el proceso de construcción
secuencial de una solución computacional para un problema dado (conocido
técnicamente en la ingeniería del software como metodología de programación).
Estas se detallan en la figura 2.
1. Análisis del problema. El objetivo de esta fase es profundizar
minuciosamente en la comprensión de la mecánica del problema a solucionar,
describiendo plenamente las especificaciones de entrada y salida, así como los
cómputos a realizar. Se recomienda mediante el uso de ejemplos prácticos observar
el flujo y comportamiento de la información a fin de identificar los tipos de datos que
se van a manejar. Esta etapa se compone de tres bloques a saber: a) Datos de
entrada, b) Cálculos a realizar, c) Datos de salida.
2. Datos de entrada. Lo conforma el conjunto de valores que ingresan al
sistema para ser procesados, de los cuales se derivarán las magnitudes de salida.
9
Figura 2. Fases en la construcción de un sistema computacional
3. Cálculos a realizar. Aquí se engloban todas las fórmulas, funciones,
expresiones y procedimientos que se realizarán con los valores de entrada para
obtener los datos de salida.
4. Datos de salida. Es toda la información proporcionada por el algoritmo al
efectuar la resolución del problema.
Planteamiento ejemplo 1. Dado un triángulo rectángulo donde:
Figura 2. Triángulo rectángulo
catetoslossoncABybAC
hipotenusaaBC
10
Calcular por el teorema de Pitágoras el valor de la hipotenusa sabiendo que: En todo
triángulo rectángulo la hipotenusa es igual a la raíz cuadrada de la suma de los
cuadrados de los catetos.
En todo triángulo rectángulo cada cateto es igual a la raíz cuadrada del cuadrado de
la hipotenusa menos el cuadrado del otro cateto.
22222
22222
222
cabcab
bacbac
cba
Análisis del problema.
Utilizar la fórmula para calcular la hipotenusa (a) en función de los catetos (b y
c).
Las entradas se reducen al valor de los catetos “b” y “c”. Dada la naturaleza de
estas magnitudes al saber que pueden tomar números con decimales, el tipo
de dato será real.
La salida será el valor de la hipotenusa representada por “a” también de tipo
real.
Corolario
Entradas : catetos del triángulo rectángulo (variables b y c).
Salidas : hipotenusa (a)
Variables : a, b, c: tipo real.
PARTES DE UN ALGORITMO
En forma resumida un algoritmo es la narración basada en el análisis del problema,
de un conjunto de procesos ordenados y articulados secuencialmente con el fin de
11
obtener una solución. Estructuralmente cada algoritmo consta de las siguientes
partes:
Inicio más el nombre del algoritmo, el cual siguiendo las reglas de Polya debe
estar estrictamente relacionado con la tarea que va a ejecutar.
Sección de declaraciones: en la que se declaran las constantes (si las hay) y
variables. En algoritmos más complejos se nombran los módulos o subrutinas;
método de programación divide y vencerás, consistente en descomponer un
problema en problemas más simples.
Sección de entrada de datos.
Sección de cálculos.
Sección de salida de resultados.
Fin más el nombre del algoritmo.
Tomando como base el ejemplo 1 presentado en el análisis del problema, el
algoritmo es:
Algoritmo ejemplo 1.
Inicio CalculoHipotenusa
„Declaraciones.
„Variables.
a, b, c como real
„Entrada de datos.
Leer b, c
„Calcular.
a = raíz (b^2 + c^2)
„Salida de datos.
Mostrar en pantalla A
Fin CálculoHipotenusa
12
Diagrama de flujo ejemplo 1.
Figura 3. Diagrama de flujo cálculo de hipotenusa.
CODIFICACIÓN E IMPLEMENTACIÓN DEL ALGORITMO
En éste último paso, el algoritmo sufre una metamorfosis de su estado netamente
conceptual hacia un conjunto de instrucciones en un lenguaje de programación
específico, lo que técnicamente se denomina codificación. El código o las
instrucciones dadas a la computadora deberán estar escritas siguiendo
estrictamente las reglas sintácticas del lenguaje de programación o la hoja de
cálculo elegida; así por ejemplo, no será lo mismo codificar los algoritmos de los
ejemplos vistos en C/C++ o en Microsoft® Visual Basic 2008; las diferencias son
profundamente marcadas a pesar de que los resultados producidos son
exactamente iguales.
Implementación en Microsoft® Visual C++ del ejemplo 1. Cargue Microsoft®
Visual Studio 2008 y realice la siguiente secuencia de comandos: ArchivoNuevo
proyecto…(Figura 4) en Tipos de proyecto: seleccione Otros lenguajesVisual
13
C++ en Plantillas: seleccione Aplicación de consola Win32 en la casilla Nombre
escriba CalculoHipotenusa y pulse clic en Aceptar; hecho esto aparece la solapa
Información general en la ventana Asistente para aplicaciones Win32 - Ejemplo1,
haga clic en Configuración de la aplicación y active (si no lo está) las opciones
Aplicación de consola y Encabezado precompilado y cliquee en Finalizar. Acto
seguido transcriba el código fuente relacionado en el listado 1. ( puede aprovechar
las líneas de código que se han generado automáticamente, o borrar todo lo que
aparece en el archivo .CPP y empezar desde cero, como usted prefiera):
Figura 4. Ventana de Nuevo proyecto de Microsoft® Visual Studio 2008
Listado 1. Código fuente Microsoft® Visual C++ ejemplo 1.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Título: CalculoHipotenusa.cpp
// Descripción: Cálculo de la hipotenusa de un triángulo rectángulo
// por el teorema de Pitagoras.
// Autor: Hector Enrique Guerrero Conde.
// Email: heg_conde@yahoo.com
// Fecha: 6/05/2010.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Inclusión de librerías o bibliotecas estándar.
#include <stdafx.h> // Biblioteca standar Application Framework
// eXtensions.
#include <iostream> // Biblioteca que provee las funciones de entrada y
// salida de flujo cin y cout.
#include <math.h> // Biblioteca de funciones matemáticas de la cual se
14
// usarán las funciones raiz cuadrada: sqrt() y
// potencia: pow().
#include <conio.h> // Esta biblioteca se incluye para utilizar la
// función _getch().
using Namespace std; // Uso del espacio de nombre estándar. Un namespace
// es un módulo que peremite agrupar de manera
// lógica: constantes, variables, funciones, clases,
// etc.
int _tmain(int argc, _TCHAR* argv[])
{ // Inicio del programa de cálculo de la hipotenusa.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Resumen: Lee de la consola el valor de los cateros (a,b) de un
// triángulo rectángulo, calcula la hipotenusa (c) e
// imprime dicho resultado en la consola.
// Parámetros: Ninguno.
// Retorna: 0.
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Declaraciones.
// Variables.
float a,b,c; // Valores de los catetos(a,b) y la hipotenusa (c).
// Entrada de datos.
cout<<"Digite el valor del cateto b:"; // Muestra un mensaje en
// la consola.
cin>>b; // Lee un valor de la consola.
cout<<"Digite el valor del cateto c:";
cin>>c;
// Calcular.
a=sqrt(pow(b,2)+pow(c,2));
// Mostrar.
cout<<"Hipotenusa="<<a;
_getch(); // Espera que se presione cualquier tecla. Use _getch()
// solo si está en Microsoft® Visual C++ 2008 o superior,
// de lo contrario utilice getch().
return 0; // La función retorna cero al sistema operativo,
// indicando de este modo que termino correctamente.
}// Fin _tmain
Ejecute el programa presionando el botón [F5] o en el menú contextual haga la
siguiente secuencia de comandos: DepurarIniciar depuración.
Explicación. Al lenguaje de programación C/C++ necesita indicársele que librerías
se van a incluir o manejar, una librería es un conjunto de funciones que proveen al
programador de las subrutinas necesarias para la aplicación a construir. En nuestro
caso se hizo uso de la librería <iostream> con el fin de utilizar las funciones de salida
en pantalla (cout) y lectura por teclado (cin); y la librería <math.h> para usar las
funciones de cálculo de una potencia (pow()) y raíz cuadrada de un número (sqrt()).
Puede observarse entre otros detalles que el inicio es “{“ y el final “}”, las variables
de tipo real aquí se llaman “float”, y los comentarios se inician con “//”.
15
ACTIVIDAD DE APRENDIZAJE
Objetivo sobre el cual se diseño la actividad
Potenciar el razonamiento lógico computacional del estudiante en el desarrollo de
algoritmos elementales.
Tema: Expresiones aritméticas.
1. Con base en lo estudiado, escriba los equivalentes matemáticos de las
siguientes expresiones, las cuales se encuentran codificadas a nivel de algoritmo:
a. (W + X) / (Y + Z)
b. G * H – F * W
c. A ^ (B ^ 2)
d. (B ^ 2 – 4 * A * C) ^ (1 / 2)
e. (X * X – Y * Y + 2) ^ .5
f. X * 2 + R / 365 ^ N
g. P2 – P1 / T2 – T1
2. Sean X=2, Y=3 y Z=5. ¿Cuáles son los valores que asumen las variables a la
izquierda del igual en las siguientes expresiones:
a. R = (X + Y) / (X + Z)
b. R = X + Z / X / Z
c. R = X + Y * Z
d. R = X / Y * Z
e. R = X ^ (Y – Z)
f. R = X ^ Y - Z
3. Escriba las proposiciones algorítmicas de las siguientes expresiones
matemáticas:
a.
b.
c.
d.
e.
f.
16
g.
4. Escribir una solución computacional que basándose en la tabla 1. realice las
siguientes acciones:
Lea una temperatura en grados Celsius y la convierta a: kelvin, grados
Fahrenheit, grados Rankine y grados Réaumur.
Lea una temperatura en grados Fahrenheit y la convierta a: kelvin, grados
Celsius, grados Rankine y grados Réaumur.
Lea una temperatura en kelvin y la convierta a: grados Celsius, grados
Fahrenheit grados Rankine y grados Réaumur.
Tabla 1. Fórmulas de conversión de temperaturas
Conversión de A Fórmula
Celsius Fahrenheit
Celsius kelvin
Celsius a Rankine
Celsius Réaumur
Fahrenheit Celsius
Fahrenheit kelvin
Fahrenheit Rankine
Fahrenheit Réaumur
Kelvin Celsius
Kelvin Fahrenheit
Kelvin Rankine
Kelvin Réaumur
5. Desarrolle una solución computacional para calcular la longitud del arco de una
parábola (Figura 1), la fórmula para determinar ésta (S) depende de la altura (H) y el
17
ancho (W), y está dada por:
Donde
Figura 1. Arco de una parábola
INFORMACION COMPLEMENTARIA
TEXTOS RECOMENDADOS
1. Al Juarismi: http://es.wikipedia.org/wiki/Al-Juarismi
2. Historia de la computación:
http://es.wikipedia.org/wiki/Historia_de_la_computaci%C3%B3n
3. Algoritmos: http://es.wikipedia.org/wiki/Algoritmos
4. Análisis de algoritmos:
http://es.wikipedia.org/wiki/An%C3%A1lisis_de_algoritmos
5. Historia de los lenguajes de programación en infografía:
http://www.softandapps.info/2011/07/30/la-historia-de-los-lenguajes-de-
programacion-en-una-infografia/
18
VIDEOS RECOMENDADOS
Puede encontrar muchas más ayudas de tipo audiovisual en las siguientes
direcciones:
1. Algoritmos y seudocódigo: http://www.youtube.com/watch?v=6oWJ4eBKEU0
2. Curso de programación conceptos básicos:
http://www.youtube.com/watch?v=-k3nqMA1494&feature=channel
3. Curso de programación constantes y variables:
http://www.youtube.com/watch?v=-ayE4egxRQ4&feature=fvw
BIBLIOGRAFIA
GUERRERO CONDE, Hector Enrique. La culpa es del programmer versión 1.0. [en
línea]. [Agosto de 2009]. Disponible en Internet: <
http://books.google.com.co/books?id=WTViJVeFCy0C&lpg=PA22&ots=C0LJbC9CU
h&dq=la%20culpa%20es%20del%20programador&hl=es&pg=PP1#v=onepage&q&f
=false>

Contenu connexe

Tendances

Programación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIProgramación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIEuler V. Terán Yépez
 
Introducción a la programación teoría - 5to 3ra
Introducción a la programación  teoría - 5to 3raIntroducción a la programación  teoría - 5to 3ra
Introducción a la programación teoría - 5to 3raGaby Gonzalez
 
Problemas y soluciones
Problemas y solucionesProblemas y soluciones
Problemas y solucionesHugo Banda
 
Practica2 Algoritmo de cambio de base, de la division
Practica2 Algoritmo de cambio de base, de la divisionPractica2 Algoritmo de cambio de base, de la division
Practica2 Algoritmo de cambio de base, de la divisionIrvingg Kennedy Mcfly
 
Electronica digital problemas_de_circuitos_y_sistemas_digitales
Electronica digital problemas_de_circuitos_y_sistemas_digitalesElectronica digital problemas_de_circuitos_y_sistemas_digitales
Electronica digital problemas_de_circuitos_y_sistemas_digitalesDavid Alcántara Vilca
 
Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1Tensor
 
Ponencia pensamiento computacional
Ponencia pensamiento computacionalPonencia pensamiento computacional
Ponencia pensamiento computacionalHamilton Omar Pérez
 
Formato eda 1 modulo3 enero junio 2014 sub 1
Formato eda 1 modulo3 enero  junio 2014 sub 1Formato eda 1 modulo3 enero  junio 2014 sub 1
Formato eda 1 modulo3 enero junio 2014 sub 1Maria Estela Rodruigez
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computadoreduardzavala93
 
Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquinaHugo Banda
 
Programación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IProgramación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IYessenia I. Martínez M.
 
Reforma de los programas deMatemáticas
Reforma de los programas deMatemáticasReforma de los programas deMatemáticas
Reforma de los programas deMatemáticasjaviermartinmoreno
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferenciajzgeorge
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferenciajzgeorge
 
354 sahh751112 modulo1a.student
354 sahh751112 modulo1a.student354 sahh751112 modulo1a.student
354 sahh751112 modulo1a.studentMonica Hernandez
 

Tendances (18)

Programación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte IIProgramación en Lenguajes Estructurados 2012. Parte II
Programación en Lenguajes Estructurados 2012. Parte II
 
Introducción a la programación teoría - 5to 3ra
Introducción a la programación  teoría - 5to 3raIntroducción a la programación  teoría - 5to 3ra
Introducción a la programación teoría - 5to 3ra
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Problemas y soluciones
Problemas y solucionesProblemas y soluciones
Problemas y soluciones
 
Practica2 Algoritmo de cambio de base, de la division
Practica2 Algoritmo de cambio de base, de la divisionPractica2 Algoritmo de cambio de base, de la division
Practica2 Algoritmo de cambio de base, de la division
 
Electronica digital problemas_de_circuitos_y_sistemas_digitales
Electronica digital problemas_de_circuitos_y_sistemas_digitalesElectronica digital problemas_de_circuitos_y_sistemas_digitales
Electronica digital problemas_de_circuitos_y_sistemas_digitales
 
Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1Introducción a los métodos númericos Clase 1
Introducción a los métodos númericos Clase 1
 
Ponencia pensamiento computacional
Ponencia pensamiento computacionalPonencia pensamiento computacional
Ponencia pensamiento computacional
 
Formato eda 1 modulo3 enero junio 2014 sub 1
Formato eda 1 modulo3 enero  junio 2014 sub 1Formato eda 1 modulo3 enero  junio 2014 sub 1
Formato eda 1 modulo3 enero junio 2014 sub 1
 
Pasos para la solución de un problema por computador
Pasos para la solución de un problema por computadorPasos para la solución de un problema por computador
Pasos para la solución de un problema por computador
 
Aprendizaje de máquina
Aprendizaje de máquinaAprendizaje de máquina
Aprendizaje de máquina
 
Programación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos IProgramación del curso - Estructura de Datos I
Programación del curso - Estructura de Datos I
 
Ruta critica
Ruta criticaRuta critica
Ruta critica
 
Algoritmos programacion
Algoritmos programacionAlgoritmos programacion
Algoritmos programacion
 
Reforma de los programas deMatemáticas
Reforma de los programas deMatemáticasReforma de los programas deMatemáticas
Reforma de los programas deMatemáticas
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
Portafolio calculo diferencia
Portafolio calculo diferenciaPortafolio calculo diferencia
Portafolio calculo diferencia
 
354 sahh751112 modulo1a.student
354 sahh751112 modulo1a.student354 sahh751112 modulo1a.student
354 sahh751112 modulo1a.student
 

Similaire à TIC en el Diseño Curricular

Taller de algoritmos y programación - Congreso internacional de educadores UPC
Taller de algoritmos y programación - Congreso internacional de educadores UPCTaller de algoritmos y programación - Congreso internacional de educadores UPC
Taller de algoritmos y programación - Congreso internacional de educadores UPCRicardo Monge Rogel
 
Eje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoEje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoAraMalMarti
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposBayron Chavisnan
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposalejandrinamaritz
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPamelaValverde6
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposAndresCrdova1
 
Taller algoritmo
Taller  algoritmoTaller  algoritmo
Taller algoritmoleleAngie
 
Taller algoritmo
Taller   algoritmoTaller   algoritmo
Taller algoritmoleleAngie
 
Tarea competencia matemática
Tarea competencia matemáticaTarea competencia matemática
Tarea competencia matemáticaJulia Garcia
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosSpacetoshare
 
Introducción a las ciencias de la computación binario
Introducción a las ciencias de la computación binarioIntroducción a las ciencias de la computación binario
Introducción a las ciencias de la computación binariomarcelavitela
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual nmanaure
 
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdf
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdfDialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdf
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdfSusan660407
 

Similaire à TIC en el Diseño Curricular (20)

Taller de algoritmos y programación - Congreso internacional de educadores UPC
Taller de algoritmos y programación - Congreso internacional de educadores UPCTaller de algoritmos y programación - Congreso internacional de educadores UPC
Taller de algoritmos y programación - Congreso internacional de educadores UPC
 
Eje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemáticoEje 2. razonamiento lógico matemático
Eje 2. razonamiento lógico matemático
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diapos
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diapos
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diapos
 
Pensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diaposPensamiento computacional-en-el-aula-diapos
Pensamiento computacional-en-el-aula-diapos
 
Taller algoritmo
Taller  algoritmoTaller  algoritmo
Taller algoritmo
 
Taller algoritmo
Taller algoritmoTaller algoritmo
Taller algoritmo
 
Taller algoritmo
Taller   algoritmoTaller   algoritmo
Taller algoritmo
 
Tarea competencia matemática
Tarea competencia matemáticaTarea competencia matemática
Tarea competencia matemática
 
Clase 1.pptx
Clase 1.pptxClase 1.pptx
Clase 1.pptx
 
Manual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmosManual de análisis y diseño de algoritmos
Manual de análisis y diseño de algoritmos
 
Introducción a las ciencias de la computación binario
Introducción a las ciencias de la computación binarioIntroducción a las ciencias de la computación binario
Introducción a las ciencias de la computación binario
 
Elemento4
Elemento4Elemento4
Elemento4
 
Elemento4
Elemento4Elemento4
Elemento4
 
Trabajo escrito individual
Trabajo escrito individual Trabajo escrito individual
Trabajo escrito individual
 
periodo I.pdf
periodo I.pdfperiodo I.pdf
periodo I.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdf
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdfDialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdf
Dialnet-TaxonomiaDeCapacidadesAplicadaALasMatematicas-45427.pdf
 
Enfoque CTI y Resolución de Problemas
Enfoque CTI y Resolución de ProblemasEnfoque CTI y Resolución de Problemas
Enfoque CTI y Resolución de Problemas
 

Plus de Hector Conde

Modelos de casas para la parcela
Modelos de casas para la parcelaModelos de casas para la parcela
Modelos de casas para la parcelaHector Conde
 
Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Hector Conde
 
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaDiagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaHector Conde
 
Prototipo de archivo
Prototipo de archivoPrototipo de archivo
Prototipo de archivoHector Conde
 
La educación en la era digital by conde
La educación en la era digital by condeLa educación en la era digital by conde
La educación en la era digital by condeHector Conde
 
Código fuente la vaca ana
Código fuente la vaca anaCódigo fuente la vaca ana
Código fuente la vaca anaHector Conde
 
Conectar bd mineria de datos
Conectar bd mineria de datosConectar bd mineria de datos
Conectar bd mineria de datosHector Conde
 

Plus de Hector Conde (9)

Modelos de casas para la parcela
Modelos de casas para la parcelaModelos de casas para la parcela
Modelos de casas para la parcela
 
Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.Actividad uno: comparación de modelos.
Actividad uno: comparación de modelos.
 
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) ColombiaDiagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
Diagnóstico Institución Educativa Técnico Industrial de Popayán (Cauca) Colombia
 
Prototipo de archivo
Prototipo de archivoPrototipo de archivo
Prototipo de archivo
 
Diplomado web 2.0
Diplomado web 2.0Diplomado web 2.0
Diplomado web 2.0
 
La educación en la era digital by conde
La educación en la era digital by condeLa educación en la era digital by conde
La educación en la era digital by conde
 
Vamos a reciclar
Vamos a reciclarVamos a reciclar
Vamos a reciclar
 
Código fuente la vaca ana
Código fuente la vaca anaCódigo fuente la vaca ana
Código fuente la vaca ana
 
Conectar bd mineria de datos
Conectar bd mineria de datosConectar bd mineria de datos
Conectar bd mineria de datos
 

Dernier

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 

Dernier (20)

CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 

TIC en el Diseño Curricular

  • 1. Asignatura: TIC en el Diseño, Desarrollo y Gerencia del Currículo Actividad tres: incorporación de TIC en el proceso de enseñanza aprendizaje. Presentado por: Esp. Hector Enrique Guerrero Conde Presentado a: Mg. Rosa Liliana Novoa Hernandez Universidad de Santander Campus Virtual UDES Especialización en Administración de la Informática Educativa Popayán 2012
  • 2. 2 Dado que en la tabla 6 de la página 74 del libro Las Tic en el Diseño y Desarrollo del Currículo, no se menciona por ningún lado a los lenguajes de programación y a su raíz cognitiva: la lógica de programación de computadoras, lo que denota una gran falencia en este campo por parte del autor del libro, me toca construir mi propia clasificación de recursos para ésta que es mi habilidad de pensamiento, a la cual llamaré Recursos de Lógica Computacional. RECURSOS DE LOGICA COMPUTACIONAL INTRODUCCIÓN El aprendizaje de la lógica de programación de computadoras, (hermosa rama de la computación) es activo, exploratorio y vivencial, permite aprender y comprender conceptos lógicos y matemáticos, para crear toda una serie de programas o soluciones informáticas, con infinitas posibilidades en las que el único límite es la imaginación. Los conceptos pedagógicos aplicados a los lenguajes de programación permiten desarrollar y/o potenciar las siguientes habilidades de pensamiento: 1. Plantear y resolver un problema. a. Proponiendo soluciones. b. Descomponiéndolo en partes simples (análisis) c. Construir la solución total a partir de pequeñas soluciones (síntesis). 2. Desarrollar la capacidad de describir. 3. Explorar y descubrir. 4. Valorar los componentes del lenguaje. 5. Desarrollar la capacidad de abstraer. Desafortunadamente, en la mayor parte de los hogares y centros educativos tal como lo describe el texto referenciado, los programas que más tienen predilección son las aplicaciones utilitarias como procesadores de palabra, hojas de cálculo, paquetes multimedia, videojuegos o servicios web 2.0 que lo hacen casi todo, frente a los cuales los usuarios se ven dominados y programados por una sucesión de
  • 3. 3 comandos y acciones de respuesta estereotipadas bajo el manto de una aparente e ilusoria situación de participación. La forma de usar la computadora con programas utilitarios o con los lenguajes de programación como Microsoft® Visual C++, no se contrapone, se complementa, ya que en el primer caso la máquina se usa para hacer algunas operaciones o procesos más fácilmente y en el segundo se utiliza para entender cómo funcionan dichos procesos, por todo lo anterior, es labor del docente crear conciencia sobre el uso de las computadoras, para que éstas se conviertan en instrumentos del pensamiento al servicio de la ciencia y de la cultura. NOMBRE DEL CURSO Lógica de programación de computadoras NOMBRE DEL RECURSO Microsoft® Visual C++. UNIDAD DE APRENDIZAJE Conceptos básicos de algoritmos. COMPETENCIAS A DESARROLLAR Reconocer la importancia de la lógica a través de la algoritmia en el momento de llevar al signo un problema del mundo real a través del método de resolución de problemas. Fundamentar y ofrecer razones sobre la importancia de la algoritmia en la formación como desarrollador de software. Elaborar soluciones computacionales básicas a problemas planteados. OBJETIVO GENERAL Enseñar al estudiante los aspectos fundamentales de la programación de computadoras por el método de resolución de problemas. OBJETIVOS ESPECÍFICOS Potenciar el razonamiento lógico computacional del estudiante en el desarrollo
  • 4. 4 de algoritmos elementales. Desarrollar en el estudiante la capacidad de analizar y proponer soluciones a problemas propuestos. Utilizar el método de resolución de problemas a través de algoritmos, que permita al estudiante matematizar, geometrizar y llevar al signo cualquier problema del mundo real planteado. Fundamentar el concepto de algoritmo haciendo énfasis en el análisis, diseño y construcción de soluciones computacionales con el uso del lenguaje de programación C/C++. CONTENIDO 1. Algoritmos y programas 1.1 Concepto y descripción de procesos 1.2 Algoritmos y características 1.3 Tipos de dados y operaciones primitivas. 1.3.1 Datos numéricos 1.3.2 Datos no numéricos 1.4 Constantes y variables. 1.5 Expresiones. 1.5.1 Expresiones aritméticas 1.5.1.1 Operadores aritméticos 1.5.1.2 Orden de prioridad o precedencia de operadores. 1.5.2 Expresiones booleanas 1.5.2.1 Operadores de relación. 1.6 Pasos para la construcción de algoritmos. 1.6.1 Análisis del problema. 1.6.2 Datos de entrada. 1.6.3 Datos derivados. 1.6.4 Datos de salida. 1.7 Representación de algoritmos. 1.7.1 Diagramas de flujo estructurados. 1.7.2 Diagramas de Nassi/Sneiderman. 1.7.3 Prueba de escritorio. 1.8 Método de resolución de problemas.
  • 5. 5 ESTRATEGIA PEDAGÓGICA CONSTRUCCION DE SOLUCIONES COMPUTACIONALES POR EL METODO DE RESOLUCIÓN DE PROBLEMAS Adquirir o descubrir la habilidad de programar una computadora no es tarea fácil, se necesita mucho tiempo, dedicación y paciencia para obtener un nivel competente en este campo. Muchas veces en la maratónica empresa por dominar esos briosos e inquietos bits en su estado salvaje para ponerlos al servicio de los mortales bajo apariencias amigables, es posible encontrarse inmerso(a) en un laberinto sin salida; ocasión en la que se debe tomar un breve descanso, darse un respiro y volver a empezar. Repitiendo este proceso las veces que sea necesario hasta alcanzar la meta propuesta. En este sentido en 1945 el matemático húngaro George Polya publicó el libro “How To Solve It!”1 El cual describe un método general de resolución de problemas matemáticos de todos los tipos; sin embargo, el enfoque de este texto es mucho más general y ampliamente aplicable a otras clases de problemas sobre todo en el caso de tener a mano una computadora y en especial un lenguaje de programación como recurso para resolverlos, a continuación se citan algunos apartes de este método2 , haciendo unos pequeños ajustes para este caso. El procedimiento de análisis y resolución consta de los siguientes cuatro pasos: 1. Comprender el problema 2. Concebir un plan 3. Ejecutar el plan 4. Examinar la solución obtenida 1. Comprender el problema (Identificar el objetivo que se quiere alcanzar). El primer paso consiste en leer el problema las veces que sea necesario hasta 1 Traducido al español y publicado por editorial Trillas de México en 1965 bajo el título Como Plantear y Resolver Problemas. 2 POLYA, George. “How to Solve It!” [en línea]. [citado 3 de enero de 2007]. Disponible en Internet: <http://www.physics.ohio-state.edu/~ntg/263/handouts/261polya05.pdf>.
  • 6. 6 asegurarse que lo entendió de manera clara y concisa. Hágase a si mismo las siguientes preguntas: ¿Qué se tiene o sabe?, ¿Qué se desconoce?, ¿Cuáles son las cantidades dadas?, ¿Cuáles son las condiciones dadas? 2. Graficar. Gastón Bachelard dijo “Tornar geométrica la representación y ordenar en serie los acontecimientos decisivos de una experiencia, he ahí la primera tarea en la que se funda el espíritu científico”3 . Estas profundas palabras nos indican lo imperativo que es para todos los casos por sencillos que parezcan, hacer uso de graficas y diagramas, en especial los “de flujo de detalle” u “ordinogramas” con el fin de mejorar la perspectiva que se tenga de ellos. En los diagramas de flujo se debe identificar: valores de entrada, de salida, tipos de datos, cálculos aritmético lógicos, y contemplar como fluye la información a través de procesos, sentencias condicionales y ciclos. Se hace necesario además, introducir una notación con símbolos o términos nemotécnicos para designar las variables o constantes utilizadas, se recomienda que la nomenclatura utilizada esté lo más relacionada posible con el dato que representa; por ejemplo: para designar una variable que maneje el valor de la gravedad es más ventajoso utilizar la letra “g” o el apocope “grav” que “V” o “t”. 3. Concebir un plan. En esta fase, se debe encontrar una relación explícita entre la información dada y la desconocida que permita calcular en gran medida lo que no se conoce. En caso de no percibir dicha conexión de forma inmediata, los siguientes ítems le pueden ayudar a esbozar el plan. 4. Establezca submetas. “Divide et Vinces” (“divide y vencerás”), frase del célebre Julio Cesar, nos conduce a una muy buena estrategia recursiva para resolver problemas complejos que se puedan fragmentar en subproblemas más sencillos; haciendo diferentes soluciones para cada una de la partes. Si se pueden 3 BACHELARD, Gastón. La formación del espíritu científico. Argentina: Siglo XXI Editores, 1975.p. 7.
  • 7. 7 alcanzar esas submetas primero, entonces se podrá construir sobre éstas la solución final. 5. Intente reconocer algo familiar, use analogías. Relacione la nueva situación con el conocimiento previo. Observe lo desconocido e intente recordar un problema familiar que tenga planteamientos o principios similares; por ejemplo: si el problema es de geometría tridimensional, se puede mirar cómo se comporta un dechado parecido de geometría en dos dimensiones 6. Intente reconocer patrones. Algunos problemas son resueltos por reconocimiento del comportamiento de algunas clases de patrones, modelos o estándares. El patrón puede ser lógico, geométrico, numérico o algebraico. Si se descubren éstas regularidades o repeticiones en un problema, se puede predecir el próximo y probar éste. 7. Trabajo en retrospectiva. Muchas veces es útil imaginar que el problema ya está resuelto y trabajar en retroceso, paso a paso hasta llegar a los datos de entrada brindados construyendo a la inversa la solución del problema planteado. Este procedimiento es comúnmente utilizado para resolver ecuaciones. 8. Ejecutar el plan. Aplicando secuencialmente lo planificado en el plan previamente establecido, se podrá verificar cada una de las fases y documentar los detalles que prueben que son correctas o por el contrario que contengan inconsistencias. 9. Examinar la solución obtenida. Sea crítico de sus resultados, busque imperfecciones o errores en sus soluciones (incoherencias, ambigüedades o pasos incorrectos). Los siguientes ítems ayudan en gran medida en el momento de la revisión:
  • 8. 8 Si hay una respuesta numérica o lógica, verifique si las magnitudes son correctas o razonables. Haga que las respuestas varíen sus expectativas y compruebe sus limitantes si se modifica uno o más parámetros, comprobando las limitantes del sistema, por ejemplo; en un ejercicio relacionado con el movimiento parabólico de un cuerpo en el que la fuerza de gravedad “g” está implicada, haga que la respuesta cambie lo esperado y el sistema transforme su comportamiento al alterar el valor de ésta. Si es posible haga un experimento simple para observar y corroborar si su respuesta tiene sentido. RESOLUCIÓN DE PROBLEMAS A TRAVÉS DE UN LENGUAJE DE PROGRAMACION El método de Polya aplicándolo sesudamente vasculariza y oxigena por múltiples vías las dos primeras fases de las tres que componen el proceso de construcción secuencial de una solución computacional para un problema dado (conocido técnicamente en la ingeniería del software como metodología de programación). Estas se detallan en la figura 2. 1. Análisis del problema. El objetivo de esta fase es profundizar minuciosamente en la comprensión de la mecánica del problema a solucionar, describiendo plenamente las especificaciones de entrada y salida, así como los cómputos a realizar. Se recomienda mediante el uso de ejemplos prácticos observar el flujo y comportamiento de la información a fin de identificar los tipos de datos que se van a manejar. Esta etapa se compone de tres bloques a saber: a) Datos de entrada, b) Cálculos a realizar, c) Datos de salida. 2. Datos de entrada. Lo conforma el conjunto de valores que ingresan al sistema para ser procesados, de los cuales se derivarán las magnitudes de salida.
  • 9. 9 Figura 2. Fases en la construcción de un sistema computacional 3. Cálculos a realizar. Aquí se engloban todas las fórmulas, funciones, expresiones y procedimientos que se realizarán con los valores de entrada para obtener los datos de salida. 4. Datos de salida. Es toda la información proporcionada por el algoritmo al efectuar la resolución del problema. Planteamiento ejemplo 1. Dado un triángulo rectángulo donde: Figura 2. Triángulo rectángulo catetoslossoncABybAC hipotenusaaBC
  • 10. 10 Calcular por el teorema de Pitágoras el valor de la hipotenusa sabiendo que: En todo triángulo rectángulo la hipotenusa es igual a la raíz cuadrada de la suma de los cuadrados de los catetos. En todo triángulo rectángulo cada cateto es igual a la raíz cuadrada del cuadrado de la hipotenusa menos el cuadrado del otro cateto. 22222 22222 222 cabcab bacbac cba Análisis del problema. Utilizar la fórmula para calcular la hipotenusa (a) en función de los catetos (b y c). Las entradas se reducen al valor de los catetos “b” y “c”. Dada la naturaleza de estas magnitudes al saber que pueden tomar números con decimales, el tipo de dato será real. La salida será el valor de la hipotenusa representada por “a” también de tipo real. Corolario Entradas : catetos del triángulo rectángulo (variables b y c). Salidas : hipotenusa (a) Variables : a, b, c: tipo real. PARTES DE UN ALGORITMO En forma resumida un algoritmo es la narración basada en el análisis del problema, de un conjunto de procesos ordenados y articulados secuencialmente con el fin de
  • 11. 11 obtener una solución. Estructuralmente cada algoritmo consta de las siguientes partes: Inicio más el nombre del algoritmo, el cual siguiendo las reglas de Polya debe estar estrictamente relacionado con la tarea que va a ejecutar. Sección de declaraciones: en la que se declaran las constantes (si las hay) y variables. En algoritmos más complejos se nombran los módulos o subrutinas; método de programación divide y vencerás, consistente en descomponer un problema en problemas más simples. Sección de entrada de datos. Sección de cálculos. Sección de salida de resultados. Fin más el nombre del algoritmo. Tomando como base el ejemplo 1 presentado en el análisis del problema, el algoritmo es: Algoritmo ejemplo 1. Inicio CalculoHipotenusa „Declaraciones. „Variables. a, b, c como real „Entrada de datos. Leer b, c „Calcular. a = raíz (b^2 + c^2) „Salida de datos. Mostrar en pantalla A Fin CálculoHipotenusa
  • 12. 12 Diagrama de flujo ejemplo 1. Figura 3. Diagrama de flujo cálculo de hipotenusa. CODIFICACIÓN E IMPLEMENTACIÓN DEL ALGORITMO En éste último paso, el algoritmo sufre una metamorfosis de su estado netamente conceptual hacia un conjunto de instrucciones en un lenguaje de programación específico, lo que técnicamente se denomina codificación. El código o las instrucciones dadas a la computadora deberán estar escritas siguiendo estrictamente las reglas sintácticas del lenguaje de programación o la hoja de cálculo elegida; así por ejemplo, no será lo mismo codificar los algoritmos de los ejemplos vistos en C/C++ o en Microsoft® Visual Basic 2008; las diferencias son profundamente marcadas a pesar de que los resultados producidos son exactamente iguales. Implementación en Microsoft® Visual C++ del ejemplo 1. Cargue Microsoft® Visual Studio 2008 y realice la siguiente secuencia de comandos: ArchivoNuevo proyecto…(Figura 4) en Tipos de proyecto: seleccione Otros lenguajesVisual
  • 13. 13 C++ en Plantillas: seleccione Aplicación de consola Win32 en la casilla Nombre escriba CalculoHipotenusa y pulse clic en Aceptar; hecho esto aparece la solapa Información general en la ventana Asistente para aplicaciones Win32 - Ejemplo1, haga clic en Configuración de la aplicación y active (si no lo está) las opciones Aplicación de consola y Encabezado precompilado y cliquee en Finalizar. Acto seguido transcriba el código fuente relacionado en el listado 1. ( puede aprovechar las líneas de código que se han generado automáticamente, o borrar todo lo que aparece en el archivo .CPP y empezar desde cero, como usted prefiera): Figura 4. Ventana de Nuevo proyecto de Microsoft® Visual Studio 2008 Listado 1. Código fuente Microsoft® Visual C++ ejemplo 1. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Título: CalculoHipotenusa.cpp // Descripción: Cálculo de la hipotenusa de un triángulo rectángulo // por el teorema de Pitagoras. // Autor: Hector Enrique Guerrero Conde. // Email: heg_conde@yahoo.com // Fecha: 6/05/2010. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Inclusión de librerías o bibliotecas estándar. #include <stdafx.h> // Biblioteca standar Application Framework // eXtensions. #include <iostream> // Biblioteca que provee las funciones de entrada y // salida de flujo cin y cout. #include <math.h> // Biblioteca de funciones matemáticas de la cual se
  • 14. 14 // usarán las funciones raiz cuadrada: sqrt() y // potencia: pow(). #include <conio.h> // Esta biblioteca se incluye para utilizar la // función _getch(). using Namespace std; // Uso del espacio de nombre estándar. Un namespace // es un módulo que peremite agrupar de manera // lógica: constantes, variables, funciones, clases, // etc. int _tmain(int argc, _TCHAR* argv[]) { // Inicio del programa de cálculo de la hipotenusa. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Resumen: Lee de la consola el valor de los cateros (a,b) de un // triángulo rectángulo, calcula la hipotenusa (c) e // imprime dicho resultado en la consola. // Parámetros: Ninguno. // Retorna: 0. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Declaraciones. // Variables. float a,b,c; // Valores de los catetos(a,b) y la hipotenusa (c). // Entrada de datos. cout<<"Digite el valor del cateto b:"; // Muestra un mensaje en // la consola. cin>>b; // Lee un valor de la consola. cout<<"Digite el valor del cateto c:"; cin>>c; // Calcular. a=sqrt(pow(b,2)+pow(c,2)); // Mostrar. cout<<"Hipotenusa="<<a; _getch(); // Espera que se presione cualquier tecla. Use _getch() // solo si está en Microsoft® Visual C++ 2008 o superior, // de lo contrario utilice getch(). return 0; // La función retorna cero al sistema operativo, // indicando de este modo que termino correctamente. }// Fin _tmain Ejecute el programa presionando el botón [F5] o en el menú contextual haga la siguiente secuencia de comandos: DepurarIniciar depuración. Explicación. Al lenguaje de programación C/C++ necesita indicársele que librerías se van a incluir o manejar, una librería es un conjunto de funciones que proveen al programador de las subrutinas necesarias para la aplicación a construir. En nuestro caso se hizo uso de la librería <iostream> con el fin de utilizar las funciones de salida en pantalla (cout) y lectura por teclado (cin); y la librería <math.h> para usar las funciones de cálculo de una potencia (pow()) y raíz cuadrada de un número (sqrt()). Puede observarse entre otros detalles que el inicio es “{“ y el final “}”, las variables de tipo real aquí se llaman “float”, y los comentarios se inician con “//”.
  • 15. 15 ACTIVIDAD DE APRENDIZAJE Objetivo sobre el cual se diseño la actividad Potenciar el razonamiento lógico computacional del estudiante en el desarrollo de algoritmos elementales. Tema: Expresiones aritméticas. 1. Con base en lo estudiado, escriba los equivalentes matemáticos de las siguientes expresiones, las cuales se encuentran codificadas a nivel de algoritmo: a. (W + X) / (Y + Z) b. G * H – F * W c. A ^ (B ^ 2) d. (B ^ 2 – 4 * A * C) ^ (1 / 2) e. (X * X – Y * Y + 2) ^ .5 f. X * 2 + R / 365 ^ N g. P2 – P1 / T2 – T1 2. Sean X=2, Y=3 y Z=5. ¿Cuáles son los valores que asumen las variables a la izquierda del igual en las siguientes expresiones: a. R = (X + Y) / (X + Z) b. R = X + Z / X / Z c. R = X + Y * Z d. R = X / Y * Z e. R = X ^ (Y – Z) f. R = X ^ Y - Z 3. Escriba las proposiciones algorítmicas de las siguientes expresiones matemáticas: a. b. c. d. e. f.
  • 16. 16 g. 4. Escribir una solución computacional que basándose en la tabla 1. realice las siguientes acciones: Lea una temperatura en grados Celsius y la convierta a: kelvin, grados Fahrenheit, grados Rankine y grados Réaumur. Lea una temperatura en grados Fahrenheit y la convierta a: kelvin, grados Celsius, grados Rankine y grados Réaumur. Lea una temperatura en kelvin y la convierta a: grados Celsius, grados Fahrenheit grados Rankine y grados Réaumur. Tabla 1. Fórmulas de conversión de temperaturas Conversión de A Fórmula Celsius Fahrenheit Celsius kelvin Celsius a Rankine Celsius Réaumur Fahrenheit Celsius Fahrenheit kelvin Fahrenheit Rankine Fahrenheit Réaumur Kelvin Celsius Kelvin Fahrenheit Kelvin Rankine Kelvin Réaumur 5. Desarrolle una solución computacional para calcular la longitud del arco de una parábola (Figura 1), la fórmula para determinar ésta (S) depende de la altura (H) y el
  • 17. 17 ancho (W), y está dada por: Donde Figura 1. Arco de una parábola INFORMACION COMPLEMENTARIA TEXTOS RECOMENDADOS 1. Al Juarismi: http://es.wikipedia.org/wiki/Al-Juarismi 2. Historia de la computación: http://es.wikipedia.org/wiki/Historia_de_la_computaci%C3%B3n 3. Algoritmos: http://es.wikipedia.org/wiki/Algoritmos 4. Análisis de algoritmos: http://es.wikipedia.org/wiki/An%C3%A1lisis_de_algoritmos 5. Historia de los lenguajes de programación en infografía: http://www.softandapps.info/2011/07/30/la-historia-de-los-lenguajes-de- programacion-en-una-infografia/
  • 18. 18 VIDEOS RECOMENDADOS Puede encontrar muchas más ayudas de tipo audiovisual en las siguientes direcciones: 1. Algoritmos y seudocódigo: http://www.youtube.com/watch?v=6oWJ4eBKEU0 2. Curso de programación conceptos básicos: http://www.youtube.com/watch?v=-k3nqMA1494&feature=channel 3. Curso de programación constantes y variables: http://www.youtube.com/watch?v=-ayE4egxRQ4&feature=fvw BIBLIOGRAFIA GUERRERO CONDE, Hector Enrique. La culpa es del programmer versión 1.0. [en línea]. [Agosto de 2009]. Disponible en Internet: < http://books.google.com.co/books?id=WTViJVeFCy0C&lpg=PA22&ots=C0LJbC9CU h&dq=la%20culpa%20es%20del%20programador&hl=es&pg=PP1#v=onepage&q&f =false>