Introducción a la Programación - UPANA Cobán
jorge Armando Pá Bot
Created on January 26, 2024
Diapositivas para uso en clase.
Over 30 million people build interactive content in Genially.
Check out what others have designed:
SLYCE DECK
Personalized
LET’S GO TO LONDON!
Personalized
ENERGY KEY ACHIEVEMENTS
Personalized
HUMAN AND SOCIAL DEVELOPMENT KEY
Personalized
CULTURAL HERITAGE AND ART KEY ACHIEVEMENTS
Personalized
DOWNFALLL OF ARAB RULE IN AL-ANDALUS
Personalized
ABOUT THE EEA GRANTS AND NORWAY
Personalized
Transcript
Presentación
Indice
Unidad 2
Unidad 3
Presentación
Indice
Introducción a la Programación
Unidad 1
Introducción
Objetivos
Recursos
Evaluación
Motivación
Interactividad
Variables
Indice
Introducción
Objetivo
Recursos
Evaluación
Motivación
Consejo
Declaración y asignación de variables y Tipos de datos y sus características.
Unidad 1
Datos
Carácteristicas
Presentación
Indice
Introducción
Objetivo
Recursos
Evaluación
Motivación
Consejo
Operadores aritméticos, lógicos y de comparación.
Unidad 1
Indice
Introducción
Objetivo
Recursos
Evaluación
Motivación
Consejo
Expresiones y evaluación. Estructuras de control de flujo
Unidad 1
Indice
Introducción
Objetivo
Recursos
Evaluación
Motivación
Conclusión
Bucles: for, while, y do-while.
Unidad 1
Introducción
Objetivo
Recursos
Evaluación
Motivación
Conclusión
Pensamiento Algorítmico
Unidad 2
Recursos
Evaluación
Estructuras de Datos Básicas
Unidad 3
Comentar código
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Expresiones y operadores
Recursos
Eloquent JavaScript - Pag. 29 - 39
El Libro de Python - Estructuras de Control
GitHub
VS Code Dev
expresiones condicionales en Python
Control de flujo en Python
Flujo de ejecución en JavaScript
En JavaScript, hay varios tipos de variables y tipos de datos que se pueden utilizar para almacenar y manipular información. Aquí tienes una descripción de los tipos de variables y datos más comunes en JavaScript:
var: Esta es una palabra clave utilizada para declarar variables en JavaScript antes de la introducción de let y const. Las variables declaradas con var tienen un alcance de función o global. let: Es una palabra clave introducida en ES6 (ECMAScript 2015) que se utiliza para declarar variables con un alcance de bloque, lo que significa que solo están disponibles dentro del bloque en el que se declaran. const: También introducida en ES6, const se utiliza para declarar variables que no pueden ser reasignadas después de su inicialización. Sin embargo, el valor de una constante declarada con const aún puede ser mutable si es un objeto o un array.
En Python, al igual que en JavaScript, hay varios tipos de variables y tipos de datos que se pueden utilizar para almacenar y manipular información. Aquí tienes una descripción de los tipos de variables y datos más comunes en Python:
Variables Globales: Declaradas fuera de funciones o bloques de código, tienen un alcance global en todo el programa. Variables Locales: Declaradas dentro de funciones o bloques de código, tienen un alcance limitado al bloque o función en el que se declaran. Variables de Instancia: Utilizadas en la programación orientada a objetos, son variables asociadas a objetos particulares y pueden ser accedidas a través de la instancia del objeto. Variables de Clase: También utilizadas en la programación orientada a objetos, son variables asociadas a la clase en sí misma y son compartidas por todas las instancias de la clase.
Convenciones de Nomenclatura
VB
C#
JS
BI
Jorge Pá
Ingeniero en Sistemas
Develop/DevOps/Fullstack
Habilidades
Software Engineer Fullstack
Actualmente laboro para Babel Group en el rol de outsorsing para el área bancaría y soporte en el ciclo de vida de desarrollo de software.
Educación y Experiencia
2015
2012
2008
2023
2017
2022
Visual Basic
C#
JavaScript
DevOps
Automatización de Procesos
Municipalidad de Cobán Desarrollor de Software
Universidad Mariano Gálvez Sede Cobán Ingeniería en Sistema y Ciencias de la Computación
Registro de Información Catastral Analista Catastral
Grupo HAME - Olmeca Desarrollador de Software
FEDECOVERA, R.L. Desarrollador de Software
BABEL GROUP Software Engineer Fullstack
Inteligencia de Negocios
Introducción
Con JavaScript, puedes controlar todo lo que sucede en la página del cliente, lo que te da una gran cantidad de control y flexibilidad.
- Douglas Crockford -
En la programación, las estructuras de control de flujo en JavaScript son esenciales para dirigir el comportamiento del programa. Desde condicionales hasta bucles, estas herramientas permiten tomar decisiones y repetir tareas, facilitando la creación de programas dinámicos y eficientes.
JavaScript es un lenguaje de programación usado en páginas web para hacerlas interactivas y dinámicas. Permite crear elementos como botones, animaciones y efectos visuales, mejorando la experiencia del usuario. También se usa en el desarrollo de aplicaciones móviles y juegos.
Introducción
"JavaScript es el único lenguaje que tengo que conocer para hacer que las aplicaciones web funcionen."
- Ryan Dahl - Software Engineer - NodeJS
Python es un lenguaje de programación popular y fácil de aprender que se utiliza en una amplia variedad de aplicaciones, desde desarrollo web y científico hasta inteligencia artificial y automatización. Es conocido por su sintaxis clara y legible, lo que lo hace ideal para principiantes en programación.
- Creatividad y Expresión
- Resolución de Problemas
- Oportunidades Profesionales
- Innovación y Cambio Social
- Autonomía y Flexibilidad
- Potencial de Ganancias
- Aprendizaje Continuo
Motivación
Acertijo
El puente de los 17 minutos
Formulario
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Introducción
Python es un lenguaje tan simple que cualquiera puede comenzar a programar con él, y tan poderoso que nadie nunca necesita cambiar a otro.
- Larry Wall - Creador del lenguaje PERL
En el vasto mundo de la programación, los operadores son herramientas esenciales que nos permiten realizar diversas operaciones, desde cálculos matemáticos hasta evaluaciones de condiciones lógicas. En este curso, nos sumergiremos en el tema de los operadores aritméticos, lógicos y de comparación en el contexto del lenguaje de programación Python y JavaScript.
Ejercicios
Ejercicios en clase, el archivo se debe de subir a grupo de teams. Valor 2 puntos
Multiplicar
While
Exposiciones
Factorial
suma
For
Escribe un bucle for que imprima los números del 1 al 10.
Escribe un programa que solicite al usuario un número entero positivo n y luego calcule la suma de todos los números desde 1 hasta n.
Escribe un bucle while que imprima los números del 1 al 10.
Escribe un programa que solicite al usuario un número entero y luego imprima la tabla de multiplicar de ese número del 1 al 10.
Escribe un programa que solicite al usuario un número entero positivo n y luego calcule su factorial (n!). El factorial de un número n es el producto de todos los enteros positivos menores o iguales a n.
Próxima semana.
Prueba Psicotécnica
5 ejercicios para resolver en 5 a 10 minutos.
Prueba
- Desarrollo Web Interactivo
- Ecosistema de Herramientas y Frameworks
- Aprendizaje Continuo y Adaptabilidad
- Facilidad de Aprendizaje
- Versatilidad y Aplicaciones Diversas
- Aplicaciones en Inteligencia Artificial y Ciencia de Datos
Motivación
Interactividad
Fomentar la participación activa de los estudiantes haciendo preguntas, promoviendo la discusión y realizando actividades cortas durante la presentación.
Los bucles son esenciales en programación para automatizar tareas repetitivas y manipular datos de manera eficiente. Dominar los bucles mejora la eficiencia del código y permite crear algoritmos más dinámicos y flexibles, lo que es fundamental para desarrollar software efectivo y funcional.
Motivación
Historia
XIX
Comienzos
Charles Babbage y Ada Lovelace en la creación de la Máquina Analítica, considerada como la primera computadora mecánica programable. Lovelace, en particular, es reconocida como la primera programadora de la historia.
1950
Primeros Lenguajes
La era moderna de la programación comenzó en la década de 1950 con la invención de los primeros lenguajes de programación, como el Fortran (Formula Translator) y el COBOL (Common Business Oriented Language)
1960
Lenguajes de Alto Nivel
Lenguajes de alto nivel como el Lisp, el ALGOL y el BASIC, que facilitaron la escritura de programas más complejos. También se desarrollaron sistemas operativos como Unix, que proporcionaron un entorno más estructurado para la ejecución de programas
1980
Revolución Personal
Comienzo de la era de la revolución personal con la introducción de las computadoras personales, como el IBM PC y el Apple Macintosh. Esto llevó a una explosión en la popularidad de la programación.
1990
Internet y la Web
La creación de Internet y la World Wide Web en la década de 1990 revolucionó la forma en que se desarrollan y utilizan los programas. Surgieron nuevos lenguajes y tecnologías como HTML, CSS, JavaScript y PHP
XXI
La Era de la Computación en la Nube y la Inteligencia Artificial
La computación en la nube y la inteligencia artificial han emergido como áreas de enfoque significativas en la programación. Desarrollo de servicios en la nube y el aprendizaje automático ha llevado a una nueva ola de innovación y avance tecnológico
2024
Ustedes
Inician su proceso para aprender y descubrir nuevas oportunidades y retos. Bienvenidos a Ingeniería en Sistemas - UPANA.
Natural
Programación
Lenguajes de bajo nivel Lenguaje máquina Lenguajes de medio nivel C y C++ Lenguajes de alto nivel
Lenguajes naturales Más ambiguo. Los humanos tienen la habilidad de determinar el significado de una expresión. La redundancia incorporada en los lenguajes humanos permite que se resuelva cierta ambigüedad gracias al contexto.
Lenguajes de programación Más estricto y menos tolerante. Los ordenadores son muy precisos en cuanto a las instrucciones que les gusta recibir. Además, los lenguajes de programación prácticamente no son redundantes, así evitan la ambigüedad.
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Microsoft Developer
Recursos
Google Developer
React Dev
Angular Dev
Bootstrap
fullstackopen
freecodecamp
hackerrank
refactoring
techdevguide
GitHub
Visual Studio Code
Visual Studio
Android Studio
Sublime Text
NPM
Postman
NodeJS
Base de la Programación: Los operadores son los componentes básicos de cualquier programa en Python ó JavaScript. Comprender cómo funcionan estos operadores es fundamental para construir algoritmos y resolver problemas de programación.
Motivación
Manipulación de Datos: Con los operadores aritméticos, es posible realizar cálculos matemáticos básicos y avanzados, lo que es esencial para la manipulación y procesamiento de datos en cualquier aplicación.
Toma de Decisiones: Los operadores de comparación y lógicos son fundamentales para evaluar condiciones y tomar decisiones en un programa. Esto es crucial para crear lógica de control de flujo, como bucles y condicionales, que son necesarios en casi todos los programas.
dominar las herramientas fundamentales que permiten dirigir el flujo de ejecución de un programa, capacitar al estudiante para tomar decisiones lógicas y repetir acciones según las condiciones, lo que facilita la creación de programas más dinámicos y eficientes.
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Aprende JavaScript dev
Recursos
Aprende JavaScript org
Aprende Python
Python org
Artículo JS vs Python
Eloquent JavaScript
El Libro de Python
GitHub
Google Chrome Dev
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Bucles en JS
Recursos
Eloquent JavaScript Pag. 29-39
El Libro de Python
Code Runner
npm i prompt-sync
Bucles en Python
Microsoft Bucles python
const prompt = require("prompt-sync")({sigint : true});
- Comprender Fundamentos de Programación.
- Aplicar Conceptos en la Resolución de Problemas.
- Desarrollar Habilidades Prácticas en Programación.
Escribir y Ejecutar Programas Básicos: Podrán escribir y ejecutar programas simples en un lenguaje de programación, utilizando conceptos fundamentales como variables, estructuras de control y funciones.
Conclusión
Los bucles son una herramienta poderosa para cualquier programador, permitiendo automatizar tareas repetitivas, procesar grandes volúmenes de datos y crear programas más eficientes y flexibles. Comprender cómo y cuándo utilizar los bucles de manera efectiva es esencial para el desarrollo de software robusto y funcional.
Pensar de manera algorítmica te ayuda a resolver problemas de manera estructurada y ordenada. Es como seguir un mapa paso a paso para llegar a una solución. Al desarrollar esta habilidad, te vuelves más eficiente en la resolución de problemas y más confiado en tu capacidad para enfrentar desafíos.
Motivación
Introducción
Los bucles son una característica fundamental en la programación que permiten ejecutar un bloque de código repetidamente según ciertas condiciones. Estas estructuras de control son esenciales para automatizar tareas repetitivas y realizar operaciones sobre conjuntos de datos de manera eficiente.
Radica en su capacidad para mejorar la eficiencia y la legibilidad del código. Al utilizar bucles, los programadores pueden reducir la cantidad de código necesario para realizar una tarea, lo que facilita su mantenimiento y comprensión. Además, los bucles permiten crear algoritmos más dinámicos y flexibles, adaptándose a diferentes situaciones y escenarios.
Importancia
Elaboración de diagramas de flujo para el parcial.
Introducción a la programación
S1 - Introducción a la programación
S2 - Declaración y asignación de variables y Tipos de datos y sus características.
S3 - Operadores aritméticos, lógicos y de comparación.
S4 - Estructuras de control de flujo: if, else, y switch.
S5 - Bucles: for, while, y do-while.
Unidad 1: Fundamentos de Programación
Introducción
Es la habilidad de formular problemas en términos de algoritmos, es decir, secuencias lógicas de pasos bien definidos para resolver un problema computacional. Se trata de un proceso fundamental en la programación y la resolución de problemas, que implica la capacidad de descomponer un problema complejo en pasos más simples y lógicos. Al dominar el Pensamiento Algorítmico, los individuos pueden desarrollar soluciones eficientes y efectivas para una amplia variedad de problemas, desde tareas simples hasta desafíos más complejos. Esta habilidad es esencial en campos como la informática, la ciencia de datos y la ingeniería de software, donde la capacidad de diseñar algoritmos sólidos es clave para el éxito.
Operadores Aritméticos, lógicos y de comparación.
Test
Realiza de manera conciente y honesta el siguiente test.
Diseño y Construcción de Algoritmos
Recursos
LucidChart
SmartDraw
Algoritmos y Estructura de Datos
Algoritmia y Base de Datos
Canvas
Miro
Proceso de escribir, diseñar, probar y mantener el código fuente de un programa de computadora. Esta actividad implica utilizar lenguajes de programación, que son conjuntos de instrucciones y reglas que permiten a los programadores comunicarse con las computadoras y crear software funcional.
¿Qué es programación?
"Programar es más que una simple tarea mecánica. Es una expresión creativa de nuestras ideas y una forma de dar vida a la innovación."
- Reshma Saujani, fundadora y directora ejecutiva de Girls Who Code.
Motivación
Las estructuras de control de flujo son como las herramientas mágicas que te permiten dar vida a tus programas. Con ellas, puedes tomar decisiones inteligentes y hacer que tus programas se adapten a diferentes situaciones, lo que te convierte en un verdadero mago de la programación.
Mutabilidad: Algunos tipos de datos, como los objetos y los arrays, son mutables, lo que significa que su contenido puede cambiar después de su creación. Inmutabilidad: Otros tipos de datos, como los números, las cadenas y los booleanos, son inmutables, lo que significa que no pueden ser modificados después de su creación.Coerción: JavaScript realiza coerción de tipos automáticamente en ciertas situaciones, lo que puede causar comportamientos inesperados. Por ejemplo, la concatenación de una cadena y un número convierte automáticamente el número en una cadena.Comparación de Igualdad: JavaScript tiene dos operadores de igualdad, == y ===. El operador == realiza una comparación con conversión de tipos, mientras que el operador === realiza una comparación estricta sin conversión de tipos.
Mutabilidad: Algunos tipos de datos, como las listas y los diccionarios, son mutables, lo que significa que su contenido puede cambiar después de su creación.Inmutabilidad: Otros tipos de datos, como las tuplas y las cadenas, son inmutables, lo que significa que no pueden ser modificados después de su creación. Indexación: Algunos tipos de datos, como las listas y las cadenas, admiten la indexación para acceder a elementos individuales mediante un índice numérico. Iterabilidad: Muchos tipos de datos en Python, como las listas, las tuplas y los diccionarios, son iterables, lo que significa que se pueden recorrer en bucles for.
Conclusión
Es una habilidad fundamental en la programación y en la resolución de problemas en general. Nos permite abordar problemas de manera estructurada, encontrar soluciones eficientes y desarrollar la confianza necesaria para enfrentar desafíos en cualquier campo. Al dominar el Pensamiento Algorítmico, nos convertimos en solucionadores de problemas más efectivos y creativos.
Number (Número): Representa valores numéricos, ya sea enteros o de punto flotante. Ejemplos: 10, 3.14, -5. String (Cadena): Representa texto encerrado entre comillas simples ('') o dobles (""). Ejemplos: "Hola", 'Mundo', "123". Boolean: Representa un valor lógico verdadero o falso. Ejemplos: true, false. Undefined: Representa un valor no definido. Se asigna automáticamente a las variables que se declaran pero no se inicializan. Ejemplo: let x; Null: Representa la ausencia de valor o un valor nulo. Ejemplo: let y = null; Object (Objeto): Representa una colección de pares clave-valor. Ejemplo: let persona = {nombre: "Juan", edad: 30}; Array (Arreglo): Representa una colección ordenada de elementos. Ejemplo: let numeros = [1, 2, 3, 4, 5]; Function (Función): Representa un bloque de código reutilizable que puede ser ejecutado cuando se invoca. Ejemplo: function sumar(a, b) { return a + b; }
Enteros (int): Representa números enteros. Ejemplos: 10, -5, 1000. Flotantes (float): Representa números de punto flotante, es decir, números con decimales. Ejemplos: 3.14, -0.5, 2.0. Cadenas (str): Representa texto encerrado entre comillas simples ('') o dobles (""). Ejemplos: "Hola", 'Mundo', "123". Booleanos (bool): Representa un valor lógico verdadero (True) o falso (False). Listas (list): Representa una colección ordenada y mutable de elementos. Ejemplo: [1, 2, 3, 'a', 'b', 'c']. Tuplas (tuple): Similar a las listas, pero son inmutables una vez creadas. Ejemplo: (1, 2, 3, 'a', 'b', 'c'). Diccionarios (dict): Representa una colección de pares clave-valor. Ejemplo: {'nombre': 'Juan', 'edad': 30}. Conjuntos (set): Representa una colección no ordenada y sin elementos duplicados. Ejemplo: {1, 2, 3, 4, 5}.
Prueba
Prueba de tipos de datos
6 preguntas para resolver en 5 a 10 minutos.
Comprender los operadores aritméticos, lógicos y de comparación en Python y JavaScript, así como enseñarles cómo utilizar estos operadores de manera efectiva en sus programas.
aritméticos
- Descripción de los operadores aritméticos básicos: suma (+), resta (-), multiplicación (*), división (/) y módulo (%).
- Ejemplos de cómo se utilizan estos operadores para realizar cálculos simples.
lógicos
- Explicación de los operadores lógicos básicos: AND (&&), OR (||) y NOT (!).
- Ejemplos de cómo se utilizan estos operadores para combinar condiciones y controlar el flujo del programa mediante expresiones booleanas.
comparación
- Igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).
- Demostración de cómo se utilizan estos operadores para comparar valores y evaluar expresiones booleanas.
aritméticos
- Descripción de los operadores aritméticos básicos: suma (+), resta (-), multiplicación (*), división (/) y módulo (%).
- Ejemplos de cómo se utilizan estos operadores para realizar cálculos simples.
lógicos
- Explicación de los operadores lógicos básicos: AND (and), OR (or) y NOT (not).
- Ejemplos de cómo se utilizan estos operadores para combinar condiciones y controlar el flujo del programa mediante expresiones booleanas.
comparación
- Igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).
- Demostración de cómo se utilizan estos operadores para comparar valores y evaluar expresiones booleanas.
Dominar el uso de bucles para automatizar tareas repetitivas, iterar sobre datos y escribir código más eficiente.
Desarrollar la capacidad de analizar problemas, diseñar algoritmos eficientes y resolver problemas computacionales de manera sistemática y efectiva utilizando el Pensamiento Algorítmico.
Control de flujo
Operadores Básicos en Python con ejemplos
Recursos
Eloquent JavaScript
El Libro de Python
GitHub
Google Chrome Dev
explorando operadores lógicos
Operadores aritméticos JS
Operadores aritméticos y de asignación en Python
"Desarrollar habilidades sólidas en la programación que permitan diseñar y crear soluciones tecnológicas innovadoras, abriendo oportunidades en campos como el desarrollo web, la ciencia de datos, la inteligencia artificial y más, lo que contribuirá al crecimiento personal y profesional del estudiante en el mundo digital actual."
Formulario en Teams - Funciones JS
JavaScript
Recursos
w3schools