Publicidad

Introducción al curso Fundamentos de Programación Misión TIC 2022

Gerente general en NorteTIC SAS, CAPM, PSP Developer
8 de May de 2021
Publicidad

Más contenido relacionado

Publicidad
Publicidad

Introducción al curso Fundamentos de Programación Misión TIC 2022

  1. INTRODUCCION AL CURSO Mg. Richard Eliseo Mendoza Gáfaro
  2. ¿Porquées importante entrenar tu pensamientológico?
  3. ¿Algunavezhas pensadocómo optimizarlastareas detuvidadiaria?
  4. Tomarlaruta máscorta
  5. Usarlamitaddel tiempoenturutina
  6. Debesaprovecharlaalmáximo Imaginaunafuente conuna capacidadde agualimitada
  7. ¿Ladejasencendida todoeltiempo?
  8. ¿Ogenerasunasolución parahabilitarlasolo cuandolanecesites?
  9. Problema Solución
  10. Podríasdejarlacaer hastaqueacabe
  11. O podríasagregar unacondiciónpara quesalgasolo cuandolavasausar
  12. Cadabotóndeldispensadores unacondición
  13. Porqueessimple Parecesimple
  14. Paraentenderquepuedesencontrar solucionesóptimasaproblemas simples ycomplejos. Paraesoestásaquí
  15. ¿Quéesunalgoritmo?
  16. Definición: Unalgoritmoesunconjuntode instruccionesqueresuelvenun problemadadopasoapasoysin generarambigüedades.
  17. Problema: Prepararunomelette
  18. Pasosaseguir: 1.-Conseguirelsartén 2.-Conseguirelaceite A) ¿Tenemosaceite? I. Sisí,ponerloenelsartén II.Sino,¿queremoscompraraceite? 1. Sisí,vamosylocompramos 2. Sino,nopreparamosomelette 3.-Prenderelfuegoycocinar
  19. Lenguajesde programación
  20. Lenguajesmáquinay ensamblador
  21. Lenguajesdebajonivel yaltonivel
  22. Lenguaje Máquina Lenguaje C Java Perl Python Ensamblador Lenguaje C++ Scala Javascript
  23. Metodologíaparala construcción deun algoritmo
  24. 1. Definición del problema 2. Análisis del problema 3. Diseño del algoritmo 4. Verificación o pruebas
  25. •Entrada •¿Qué se necesita para realizar los pasos? •Salida •¿Qué se obtiene al final del algoritmo? •Tipos de datos •Números: enteros, reales, complejos •Texto: letras, palabras, frases •Otros Datos a extraer del problema:
  26. Calcular la sumatoria de dos números
  27. // Entrada de datos // Proceso // Salida de información Inicio Fin a,b c=a+b Escribir c
  28. Inicio Variables numericas a, b, resultado Escribir "Ingresa el valor de a" Leer a Escribir "Ingresa el valor de b" Leer b resultado = a+b Imprimir "El resultado es: resultado" Fin Pseudocódigo
  29. Elementos de un Algoritmo ▪ Existen lenguajes de programación que no son tipados, es decir, no van a tener ningún tipo de dato dentro de su estructura. ▪ Lo que sucede con un lenguaje de programación que no tiene tipo de datos es que no va a ser tan fácil optimizar el uso de recursos. ▪ Las constantes las podemos utilizar siempre que vayamos a tener un dato que nunca va a cambiar de forma sistemática. ▪ En las variables vamos a poder almacenar números cuyo valor va a estar constantemente variando.
  30. HERRAMIENTAS PARA EL CURSO https://code.visualstudio.com/ https://www.python.org/downloads/ http://pseint.sourceforge.net/
  31. HORARIO G20 Semanas Lunes Martes Miércoles Jueves Viernes Sábado Semana 1 Inglés Inglés Conceptualizació n eintroducción al curso Actividades para ejercitar el pensamiento lógico Pensamiento lógico Estructurado Diagramas de flujo Semana 2 Inglés Inglés Variables Entrada y Salida Operaciones Aritméticas Taller Programación Pseudoformal Semana 3 Inglés Inglés Condicionales Ciclos Funciones y Métodos Tipos de Variables Semana 4 Inglés Inglés Listas Pilas y Colas Set y Diccionarios Taller de Arreglos y Listas Semana 5 Inglés Inglés Actividad complementaria en asesoría psicosocial Métodos de Ordenamiento por intercambio Métodos de Ordenamiento por selección e inserción Taller de Ordenamien to Semana 6 Inglés Inglés Actividad complementaria en asesoría psicosocial Construcción y Cargasde Módulos Módulo Matemático Módulo Funcional Semana 7 Inglés Actividad complement ariaen asesoría psicosocial Proyecto Proyecto Proyecto
  32. HORARIO G24 Semanas Lunes Martes Miércoles Jueves Viernes Sábado Semana 1 Conceptualizació ne introducción al curso Actividades para ejercitar el pensamiento lógico Pensamiento lógico Estructurado Inglés Inglés Diagramas de flujo Semana 2 Variables Entrada y Salida Operaciones Aritméticas Inglés Inglés Taller Programación Pseudoformal Semana 3 Condicionales Ciclos Funciones y Métodos Inglés Inglés Tipos de Variables Semana 4 Listas Pilas y Colas Set y Diccionarios Inglés Inglés Taller de Arreglos y Listas Semana 5 Métodos de Ordenamiento porintercambio Métodos de Ordenamiento por selección e inserción Actividad complementariaen asesoría psicosocial Inglés Inglés Taller de Ordenamiento Semana 6 Construcción y Cargas de Módulos Módulo Matemático Actividad complementariaen asesoría psicosocial Inglés Inglés Módulo Funcional Semana 7 Proyecto Proyecto Proyecto Inglés Actividad complementar ia en asesoría psicosocial
  33. HORARIO G27 Semanas Lunes Martes Miércoles Jueves Viernes Sábado Semana 1 Conceptualización e introducción al curso Actividades para ejercitar el pensamiento lógico Pensamiento lógico Estructurado Inglés Inglés Diagramas de flujo Semana 2 Variables Entrada y Salida Operaciones Aritméticas Inglés Inglés Taller Programación Pseudoformal Semana 3 Condicionales Ciclos Funciones y Métodos Inglés Inglés Tipos de Variables Semana 4 Listas Pilas y Colas Set y Diccionarios Inglés Inglés Taller de Arreglos y Listas Semana 5 Métodos de Ordenamientopor intercambio Métodos de Ordenamiento por selección e inserción Actividad complementaria en asesoría psicosocial Inglés Inglés Taller de Ordenamiento Semana 6 Construccióny Cargas de Módulos Módulo Matemático Actividad complementaria en asesoría psicosocial Inglés Inglés Módulo Funcional Semana 7 Proyecto Proyecto Proyecto Inglés Actividad complemen taria en asesorí a psicoso cial
  34. La mayoría de los buenos programadores lo son no porque esperen que se les pague o por la adulación del público, sino porque les divierte programar
  35. Actividades para ejercitar el pensamiento lógico
  36. ¿QUÉ ES UN ALGORITMO? • Surgio del matemático de Uzbequiztan Mohammed ibn-Musa al- Khwarizmi , quien escribió un par de libros en suépoca el mas importante de ellos “el arte indio de contar” donde dio lasnociones para realizar las operaciones matemáticas básicas siguiendo un proceso • La historia cuenta que se le atribuyo el método indio de conteo numérico y se le empezó a llamar método al-Khwarizmi , lo cual con los años y al llevarse “descuidadamente” termino llamándose algorismi,hoy diaAlgoritmo
  37. ALGORITMOS EN LA COMPUTACIÓN Un algoritmo es un procedimiento computacional que toma un valor o conjunto de valores como entrada y produce un valor o conjunto de valores como salida “Un algoritmo se puede ver comouna herramienta para resolver un problema computacional bien especificado”
  38. MOTIVACIÓN Programación voraz Programación dinámica Programación ingenua
  39. Estrategias de programación: Programación ingenua: Probar todas las posibles soluciones y mirar cual es la correcta Divide y vencerás: Partir el problema en problemas m á s pequeños e intentar solucionar estos Programación dinámica:Un divide y vencerás mejorado Programación voraz: Una buena estrategia. MOTIVACIÓN
  40. ¿TODOS LOSPROBLEMAS SON “SOLUCIONABLES”? Será posible que todos los problemas existentes puedan representarse de manera algorítmica, es decir, mediante un conjunto de pasos o mediante un proceso • Si la respuesta es si, seguramente tendremos problemas que pueden solucionar mediante varios algoritmos. • ¿Cuántas formas diferentes de solución encontramos? • ¿Cuál fue mas óptima es decir se llevó en menos tiempo? http://www.uterra.com/juegos/torre_hanoi.php
  41. Revisemos otro o usemos el de la izquierda Por definición sudoku solo tiene una solución ¿la encontraste? http://www.sudoku-online.org/ ¿TODOS LOSPROBLEMAS SON “SOLUCIONABLES”? 2 1 1 3 4 2 4 3
  42. http://www.sudoku-online.org/ ¿TODOS LOSPROBLEMAS SON “SOLUCIONABLES”? 2 1 1 3 4 2 4 3
  43. Como en ciertos problemas (Como las torres de hanoi) es posible encontrar mas de una solución, es necesario tener en cuenta algunas condiciones • Tiempode procesador ycantidad de memoria utilizados. • Claridad, sencillez y facilidad de implantación, depuración y mantenimiento. ¿TODOS LOSPROBLEMAS SON “SOLUCIONABLES”?
  44. DEFINICIÓN FORMAL DE ALGORITMO Unalgoritmoesunconjuntofinitode instruccionesque indicancómo resolverunproblema • noambiguas • Efectivas • producen al menosuna salida • recibencero o másentradas • ypara ejecutarse,necesitan una cantidad finitaderecursos.
  45. AMBIGUEDAD Hace referencia a que las instrucciones del Algoritmo deben estar expresadas de manera clara y directa y no son susceptibles a interpretacionessubjetivas
  46. EFECTIVIDAD Se refiera a que el algoritmo debe responder al problema de manera exacta
  47. …ALMENOS UNA SALIDA El Algoritmo tiene que producir algo que haga entender que su trabajo a finalizado
  48. ..RECIBIRENTRADAS • Aunque no es obligatorio el algoritmo debe ejecutarse con algunas entradas(parámetros) • Si el algoritmo no recibe entradas, esperaríamos siempre tener la mismasalida
  49. CANTIDAD FINITA DE RECURSOS Debe tener una terminación Debe usar los recursos de maquina
  50. PROCESOCOMPUTACIONAL Siuna serie de instrucción cumple todas las condiciones anteriores excepto que posee una cantidad finita de tiempo de ejecución, es llamado PROCESO COMPUTACIONAL Ejemplo: Sistemas Operativos son “aplicaciones” que nunca detienen sufuncionamiento
  51. CONSIDERACIONES ADICIONALES Siun problema tiene una solución algorítmica, pero dicha solución lleva demasiado tiempo en su solución, se dice que el problema no tiene solución computacional. Muchos de los problemas que hace unos años se consideraban sin solución computacional, hoy en dia ya son solucionables gracias al poder de computo que setiene
  52. Pensamiento Lógico Estructurado
  53. DEFINICION ▶ La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora, utilizando únicamente procedimientos y tres estructuras:
  54. ▶ La metodología de programación estructurada se fundamenta en técnicas de segmentación, la cual plantea que un problema se puede dividir en problemas más pequeños (módulos) y más simples de resolver, de tal forma que la suma de las soluciones de cada problema sea el resultado de la solución total de éste. METODOLOGIA
  55. TIPOS ▶Secuencial. ▶Selección. ▶Interacción.
  56. PSEINT • PSeInt de PSeudo Intérprete, es una herramienta educativa utilizada principalmente por estudiantes para aprender los fundamentos de la programación y el desarrollo de la lógica. Es uno de los software más populares de su tipo y ampliamente utilizado en universidades deLatinoamérica y España. Pablo Novara http://pseint.sourceforge.net/
  57. ▶Secuencial Ejecuta una sentencia detrás de otra. TIPOS
  58. CARACTERISTICAS ▶ La estructura secuencial: Sucesión simple de dos o más operaciones, la computadora ejecuta las líneas de código en el orden en que fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente
  59. ▶Condicional Se evalúa una expresión y, dependiendo del resultado, se decide la siguiente sentencia a ejecutar. Si – Entonces: es una estructura de control que depende del valor de una condición lógica. TIPOS
  60. ▶ Las estructuras de selección: bifurcación condicional de una o más operaciones.Se basan en una declaración condicional. Si es verdadera, ciertas líneas de código son ejecutadas. Si tal declaración es falsa, esas líneas no serán ejecutadas. Las dos estructuras de selección más comunes son: Si-Entonces (If-Then) y Si-Entonces-de lo contrario (If- Then-Else). CARACTERISTICAS
  61. ▶Iterativa Repetimos un bloque de sentencias hasta que sea verdadera una determinada condición. MIENTRAS HACER: permite ejecutar una secuencia de instrucciones repetidamente hasta que la condición no se cumpla. TIPOS
  62. ▶Iterativa Repetimos un bloque de sentencias hasta que sea verdadera una determinada condición. CICLO PARA(FOR): La instrucción Para ejecuta una secuencia de instrucciones un número determinado de veces TIPOS
  63. ▶ Las estructuras de repetición (o de ciclos): Repetición de una operación mientras se cumple una condición. este funcionamiento es cíclico. Tres estructuras de este tipo son: Repetir para (For-Next), Repetir Mientras (While) y Repetir Hasta (Do- While). CARACTERISTICAS
  64. REGLAS PARA DEFINIR UN IDENTIFICADOR ▶ Siempre una variable debe empezar con una letra, jamás debe comenzar con un carácter numérico. Ejemplo: nota1 Sí ▶ No deben existir espacios en blanco en una variable (variable es la combinación de caracteres), es decir, debe ir junto o con un carácter especial y no se debe dejar espacios. Ejemplo: nota1 Sí nota 1 No ▶ La longitud de la variable depende del lenguaje que se esté utilizando en la computadora
  65. TIPOS DE VARIABLES Variables alfanuméricas se utilizan para almacenar caracteres, palabras y/o frases de texto. Para asignar el valor a la variable, se encierra el valor entre comillas dobles o simples, para delimitar su comienzo y su final. Para representar caracteres especiales se utilizan los siguientes signos. Línea Retorno de carro Salto de página Comilla doble
  66. Variables numéricas: Son aquellas que tienen un contenido numérico y, por tanto, se puede operar con ellas. ejemplo, PI=3,14,16 TIPOS DE VARIABLES Tipo de dato Descripción Ejemplo entero Tipo de dato asociado a cantidades enteras. No poseen parte decimal. Ejemplo: 5, 6, -15, 199,… Numero de vacas, edad. real Tipo de dato asociado a cantidades con parte decimal. Por ejemplo: 0.06, -3.4, 2.16, 1000.345,… Estatura, peso, volumen. lógicos Se refiere a aquellos datos que pueden tomar solo dos posibles valores falso (F) o verdadero (T) alfanuméricos Asociado a aquellos datos que contienen caracteres alfanuméricos (letras, número, signos de puntuación, etc). Nombre, cedula, teléfono
  67. OPERADORES OPERADORES ARITMETICOS: Los operadores aritméticos nos permiten básicamente hacer una operación aritmética que necesitemos
  68. OPERADORES LOGICOS: Trabajan con dos operados y retornan un valor lógico basadas en las denominadas tablas de verdad. El operador (NOT) actúa sobre un operador, estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: (SI HACE SOL Y TENGO TIEMPO, IRE A LA PLAYA, si no NO HACE SOL, me quedaré en casa, ‘’ si llueve O hace viento, ire al cine.’’. Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes OPERADORES
  69. VENTAJAS ▶Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo. ▶Reducción del esfuerzo en las pruebas. El programa se puede tener listo para producción normal en un tiempo menor del tradicional. ▶Reducción de los costos de mantenimiento. ▶Programas más sencillos y más rápidos ▶Aumento de la productividad del programador ▶Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación ▶Los programas quedan mejor documentados internamente.
  70. ▶ El principal inconveniente de esta programación es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar problemático su manejo; esto se resuelve empleando la programación modular, definiendo módulos interdependientes programados y compilados por separado. ▶Complejidad para adaptarse DESVENTAJAS
  71. EJERCICIO ▶Realizar un algoritmo que calcule el perímetro y el área de un rectángulo dado la base y la altura del mismo. base h
  72. RETO 1 ▶Calculadora Suma, Resta: Multiplicación y División (RETO 1) Realizar una Calculadora que a través de un menú me permita seleccionar las operaciones básicas Suma, Resta, Multiplicación y División según la operación seleccionar debe realizar operación entre dos números. Debe adjuntar Seudocódigo, Pantallazo de PseInt(Código),Pantallazo del programa corriendo y Diagrama de Flujo. Este reto debe subirse en pdf en la plataforma de la misiontic2022.unab.edu.co.
  73. La creatividad es la inteligencia divirtiéndose
Publicidad