SlideShare una empresa de Scribd logo
1 de 27
Conceptos básicos de un
lenguaje de programación
Lenguaje de programación a enseñar
¿Porqué escogimos python?
• El fin de este juego es que el usuario aprenda programar, y bien
¿porqué iniciar con un lenguaje tan complejo como lo es Java, o C++?
Por eso decidimos enseñar python.
• Es un lenguaje realmente poderoso, lo mismo que se puede
programar en cualquier otro lenguaje (orientado a objetos,
imperativo) se puede hacer en éste, tanto videojuegos como
aplicaciones de escritorio.
• Tiene una sintaxis realmente corta y sencilla. Mientras en C++ o Java
ocupamos más de 3 líneas de código para imprimir un “Hola mundo”,
en python con una sola línea basta.
• Al tener una sintaxis tan sencilla, no hay que perder mucho tiempo
buscando errores, y esto nos lleva a escalar más rápido en el
aprendizaje de este lenguaje.
• Después de haber aprendido este lenguaje, se puede seguir cualquier
otro de manera más sencilla (de cualquier paradigma de
programación), ¿por qué? Porque el programador ya posee la lógica
de programación, la cual no cambia de un lenguaje a otro.
• No hay que mal interpretar, python por más sencillo que se escuche
es muy potente. Por algo lo usa la NASA.
¿Porqué escogimos python?
Sintaxis
• Comentarios: detrás de #
• Asignación: se usa =
• Ej:
>>>a=3+2J
>>> # Esto es un comentario
>>>B=7#asignación
Definición de funciones:
>>>def nombrefunción(arg1,arg2..):
instrucción1
instrucción2
...................
instrucciónN
La indentación delimita qué instrucciones pertenecen a la función.
A no ser que se use return, la función devuelve None
Condicional If:
>>>if condicion:
instrucciones
elifcondicion:
instrucciones
else:
instrucciones
Ciclo For:
>>>for variable in variable_lista:
instrucciones
Range: usadode la forma range(i) genera la lista[0,1,...,i].
usadode la forma range(i,j) genera la lista[i,i+1,...,j-1]
Función filter:
filter(función, lista_arg) devuelve una lista con los elementos x de
lista_argquecumplenf(x) = true.
>>>def f(x): return x%2 != 0 and x%3 != 0
>>>filter(f, range(2,25))
[5,7,11,13,17,19,23]
map(función, lista_arg) devuelvela lista:
[f(lista_arg[0]),f(lista_arg[1]),...,f(lista_arg[n])]
>>>def cubo(x): return x*x*x
...
>>>map(cubo, range(1,5))
[1,8,27,64]
Función reduce:
reduce(funcion, lista_arg) llama a función con los dos primeros
elementos de lista_arg, luego la llama con el tercero y el resultado
anterior, etc. Si sólo hay un elemento se devuelve este, y sino hay
ninguno da error.
>>>def add(x,y): return x+y
...
>>>reduce(add, range(1,11))
55
List Comprehensions: operaciones muy intuitivas con listas
>>>vec= [2,4,6]
>>>[3 * x for x in vec]
[6,12,18]
>>>[3 * x for x in vecif x > 3]
[12,18]
>>>[[x,x**2] for x in vec]
[[2,4],[4,16],[6,36]]
Definición y uso de Clases:
>>>class NombreDeClase:
... sentencia1
...................
... sentenciaN
...
>>>variable = NombreDeClase()
>>>class MiClase:
... “Unaclasede ejemplo”
... i = 12435
... def f(self):
... return “holamundo”
...
>>>x = MiClase()
>>>x.i
12435
>>>x.f()
“holamundo”
• Función __init__:
Se puede incluir una función, llamada init, que se ejecute siempre que
se cree una instancia de la clase.
Def __init__(self):
instrucciones
init no puede hacer return.
Las variables de instancia no necesitan declararse.
>>>x=MiClase()
>>>x.numero=7
x.f() equivalea MiClase.f(x)
>>>MiClase.f(x)
“holamundo”
Para definir una subclase se escribe:
class NombreDeClase(NombreSubclase)
Se heredan funciones y variables de clase.
>>>class MiSubClase(MiClase):
... j=5
... def g(self):
... return 5
...
>>>x=MiSubClase()
>>>x.j
5
>>>x.i
12435
>>>x.f()
“holamundo”
• Podemos redefinir una función en la subclase:
>>>class MiSubClase(MiClase):
... def f(self):
... return “HOLA MUNDO”
...
>>>x = MiSubClase()
>>>x.f()
“HOLA MUNDO”
Y para llamar al método de la superclase:
>>>x.f()
“holamundo”
>>>MiClase.f(x)
• “holamundo”
• Es muy fácil dotar de herencia múltiple, basta con incluir más clases
comoargumentosen la definición:
>>>class MiSubClase(Superclase1, Superclase2,...)
A la horade resolver un mensaje a un objeto de MiSubClase se buscará
el método en la propia clase, sino se encuentra se busca en
Superclase1 (y en sussuperclases), luego en Superclase2, etc.
Clases básicas
Números:
-Enteros
-Flotantes
-Complejos
Cadenas
Tuplas
Listas
Diccionarios
Aprendizaje Lúdico en la programación
El diseño de las prácticas de laboratorio debe tener en cuenta los
siguientes aspectos:
° La limitación de tiempo que los planes de estudio actuales imponen a
las asignaturas
° La coordinación que requiere la parte teórica con la práctica. No se
debe exigir al alumno conceptos no explicados en teoría.
° La evolución de la complejidad de las prácticas debe ir aumentando
gradualmente, evitando grandes saltos teóricos entre una práctica y la
siguiente.
• Los ejercicios para enseñanza de programación se encuentran enfocados al
aprendizaje de:
- Elementos básicos necesarios para la construcción de un programa:
estructura general, variables, tipos, estructuras de datos simples, estructuras
de control, modularización de programas y entrada salida elemental.
- Estructuras de datos complejas y ficheros.
- Tipos abstractos de datos y diseño e implementación de módulos de
librerías.
Para el caso del proyecto en desarrollo por el alcance del mismo se limitará a
trabajar en el primer punto. Juegos dirigidos por menús, conversacionales,
siempre con una entrada-salida en modo texto sencilla, serían adecuados
para este nivel. En este sentido, los siguientes apartados de este primer
ejercicio práctico requerirán que el programa proporcione pistas.
Otros lenguajes de programación
• Java: Es de los lenguajes más usados, ya que es multiplataforma, esto
quiere decir que no solo se ejecuta en PC, también en celulares y
otros dispositivos.
• C++: Es el más usado para la creación de videojuegos avanzados, ya
que no consume muchos recursos del procesador ni memoria RAM.
• HTML: Se utiliza para la creación de páginas web, existen otros
lenguajes que lo complementan para dar un mejor diseño, ejemplo
CSS.
Referencia
• Bueno, D., Garralón, J., Jerez, J. y Maña, M. (2001) Aprendizaje Lúdico en Laboratorio de
Programación. Editorial Edició Univ. Illes Balears. Extraído de
http://www.researchgate.net/profile/Antonio_Mana/publication/237680627_Aprendizaje_Ldico_
en_Laboratorio_de_Programacin/links/0046352a89a76a1e55000000.pdf
• Barranco, F., Guerrero, A., Entrena, M. y González, A. (2005) Introducción a Python [diapositivas
de PowerPoint] Extraído de http://lsi.ugr.es/~pdo/Seminarios/Python2005.pdf
• Marciniak, Bartosz. (2013) Por qué Python debería ser el primer lenguaje de programación que
aprendas [artículo web]. Extraído de: http://www.thehelloworldprogram.com/es/python-es/por-
que-python-deberia-ser-el-primer-lenguaje-de-programacion-que-aprendas/

Más contenido relacionado

La actualidad más candente

De Cero A Python En 45 Min
De Cero A Python En 45 MinDe Cero A Python En 45 Min
De Cero A Python En 45 MinMarco Mansilla
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Richard Eliseo Mendoza Gafaro
 
Estructura basica para_c_++
Estructura basica para_c_++Estructura basica para_c_++
Estructura basica para_c_++heidiromero11
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en PythonGuiru Xd
 
Intro Python
Intro PythonIntro Python
Intro Pythonctme
 
Sesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en PythonSesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en Pythonmaluacsa
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual Coswchavez
 
Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Fernando Salamero
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Javapbcanessa
 
Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Fernando Salamero
 

La actualidad más candente (20)

Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Ejercicios resueltos con Python
Ejercicios resueltos con PythonEjercicios resueltos con Python
Ejercicios resueltos con Python
 
Python (práctica 1)
Python (práctica 1)Python (práctica 1)
Python (práctica 1)
 
De Cero A Python En 45 Min
De Cero A Python En 45 MinDe Cero A Python En 45 Min
De Cero A Python En 45 Min
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
Introduccion a Python. Clase 1
Introduccion a Python. Clase 1Introduccion a Python. Clase 1
Introduccion a Python. Clase 1
 
Python básico I
Python básico IPython básico I
Python básico I
 
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)Semana 2   Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
Semana 2 Fundamentos de Python(Entradas, Salidas y Operaciones Aritméticas)
 
Presentación del 21 de abril de 2012
Presentación del 21 de abril de 2012Presentación del 21 de abril de 2012
Presentación del 21 de abril de 2012
 
Estructura basica para_c_++
Estructura basica para_c_++Estructura basica para_c_++
Estructura basica para_c_++
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en Python
 
Ejercicios con Python parte 05
Ejercicios con Python parte 05Ejercicios con Python parte 05
Ejercicios con Python parte 05
 
Python workshop
Python workshopPython workshop
Python workshop
 
Intro Python
Intro PythonIntro Python
Intro Python
 
Sesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en PythonSesión 2: Ejemplos y prácticas en Python
Sesión 2: Ejemplos y prácticas en Python
 
IntroduccióN A Visual C
IntroduccióN A Visual CIntroduccióN A Visual C
IntroduccióN A Visual C
 
Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)
 

Destacado

Programación pp
Programación ppProgramación pp
Programación ppArturoMB22
 
Presentaciones powerpoint
Presentaciones powerpointPresentaciones powerpoint
Presentaciones powerpointtichellin11
 
Impulso hacia una nueva cultura organizacional en la eac
Impulso hacia una nueva cultura organizacional en la eacImpulso hacia una nueva cultura organizacional en la eac
Impulso hacia una nueva cultura organizacional en la eacDamián Escudero
 
Uso de aplicaciones microinformáticas (con PowerPoint)
Uso de aplicaciones microinformáticas (con PowerPoint)Uso de aplicaciones microinformáticas (con PowerPoint)
Uso de aplicaciones microinformáticas (con PowerPoint)jorgebr
 
La Red Y Sus Amenazas Powerpoint
La Red Y Sus Amenazas   PowerpointLa Red Y Sus Amenazas   Powerpoint
La Red Y Sus Amenazas Powerpointcarmelacaballero
 
Estructuras de programación-Powerpoint
Estructuras de programación-PowerpointEstructuras de programación-Powerpoint
Estructuras de programación-PowerpointEricaNavarro23
 
Proyectos informaticos
Proyectos informaticosProyectos informaticos
Proyectos informaticosDe Witte
 
Power Point Proyectos Informaticos
Power Point Proyectos InformaticosPower Point Proyectos Informaticos
Power Point Proyectos InformaticosDaniela
 
proyectos informaticos
proyectos informaticosproyectos informaticos
proyectos informaticossopaipilla
 

Destacado (14)

Programación pp
Programación ppProgramación pp
Programación pp
 
Powerpoint Informatica
Powerpoint InformaticaPowerpoint Informatica
Powerpoint Informatica
 
CARRERA MEDICINA
CARRERA MEDICINACARRERA MEDICINA
CARRERA MEDICINA
 
Presentaciones powerpoint
Presentaciones powerpointPresentaciones powerpoint
Presentaciones powerpoint
 
Programacion
ProgramacionProgramacion
Programacion
 
Impulso hacia una nueva cultura organizacional en la eac
Impulso hacia una nueva cultura organizacional en la eacImpulso hacia una nueva cultura organizacional en la eac
Impulso hacia una nueva cultura organizacional en la eac
 
Uso de aplicaciones microinformáticas (con PowerPoint)
Uso de aplicaciones microinformáticas (con PowerPoint)Uso de aplicaciones microinformáticas (con PowerPoint)
Uso de aplicaciones microinformáticas (con PowerPoint)
 
La Red Y Sus Amenazas Powerpoint
La Red Y Sus Amenazas   PowerpointLa Red Y Sus Amenazas   Powerpoint
La Red Y Sus Amenazas Powerpoint
 
Estructuras de programación-Powerpoint
Estructuras de programación-PowerpointEstructuras de programación-Powerpoint
Estructuras de programación-Powerpoint
 
Proyectos informaticos
Proyectos informaticosProyectos informaticos
Proyectos informaticos
 
Power point proyectos informaticos
Power point proyectos informaticosPower point proyectos informaticos
Power point proyectos informaticos
 
Power Point Proyectos Informaticos
Power Point Proyectos InformaticosPower Point Proyectos Informaticos
Power Point Proyectos Informaticos
 
proyectos informaticos
proyectos informaticosproyectos informaticos
proyectos informaticos
 
Proyecto Informático
Proyecto InformáticoProyecto Informático
Proyecto Informático
 

Similar a Conceptos básicos de un lenguaje de programación

Similar a Conceptos básicos de un lenguaje de programación (20)

FdP_Diapositivas_2018
FdP_Diapositivas_2018FdP_Diapositivas_2018
FdP_Diapositivas_2018
 
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓNNIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
 
Programacion en java
Programacion en javaProgramacion en java
Programacion en java
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
C ++
C ++C ++
C ++
 
programacion-Devian-C.pdf
programacion-Devian-C.pdfprogramacion-Devian-C.pdf
programacion-Devian-C.pdf
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
librerias.pptx
librerias.pptxlibrerias.pptx
librerias.pptx
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Kimberly (2) mapau trabajo
Kimberly (2) mapau trabajoKimberly (2) mapau trabajo
Kimberly (2) mapau trabajo
 
Desarrollar un módulo para Visuse
Desarrollar un módulo para VisuseDesarrollar un módulo para Visuse
Desarrollar un módulo para Visuse
 
Historia del ecuador
Historia del ecuadorHistoria del ecuador
Historia del ecuador
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
Javascript
JavascriptJavascript
Javascript
 
Javascript
JavascriptJavascript
Javascript
 
Javascript desde cero
Javascript desde ceroJavascript desde cero
Javascript desde cero
 
Javascript
JavascriptJavascript
Javascript
 
Javascript completo
Javascript completoJavascript completo
Javascript completo
 
Javascript
JavascriptJavascript
Javascript
 

Último

Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 

Último (20)

Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 

Conceptos básicos de un lenguaje de programación

  • 1. Conceptos básicos de un lenguaje de programación
  • 3. ¿Porqué escogimos python? • El fin de este juego es que el usuario aprenda programar, y bien ¿porqué iniciar con un lenguaje tan complejo como lo es Java, o C++? Por eso decidimos enseñar python. • Es un lenguaje realmente poderoso, lo mismo que se puede programar en cualquier otro lenguaje (orientado a objetos, imperativo) se puede hacer en éste, tanto videojuegos como aplicaciones de escritorio. • Tiene una sintaxis realmente corta y sencilla. Mientras en C++ o Java ocupamos más de 3 líneas de código para imprimir un “Hola mundo”, en python con una sola línea basta.
  • 4. • Al tener una sintaxis tan sencilla, no hay que perder mucho tiempo buscando errores, y esto nos lleva a escalar más rápido en el aprendizaje de este lenguaje. • Después de haber aprendido este lenguaje, se puede seguir cualquier otro de manera más sencilla (de cualquier paradigma de programación), ¿por qué? Porque el programador ya posee la lógica de programación, la cual no cambia de un lenguaje a otro. • No hay que mal interpretar, python por más sencillo que se escuche es muy potente. Por algo lo usa la NASA. ¿Porqué escogimos python?
  • 6. • Comentarios: detrás de # • Asignación: se usa = • Ej: >>>a=3+2J >>> # Esto es un comentario >>>B=7#asignación
  • 7. Definición de funciones: >>>def nombrefunción(arg1,arg2..): instrucción1 instrucción2 ................... instrucciónN La indentación delimita qué instrucciones pertenecen a la función. A no ser que se use return, la función devuelve None
  • 9. Ciclo For: >>>for variable in variable_lista: instrucciones Range: usadode la forma range(i) genera la lista[0,1,...,i]. usadode la forma range(i,j) genera la lista[i,i+1,...,j-1]
  • 10. Función filter: filter(función, lista_arg) devuelve una lista con los elementos x de lista_argquecumplenf(x) = true. >>>def f(x): return x%2 != 0 and x%3 != 0 >>>filter(f, range(2,25)) [5,7,11,13,17,19,23]
  • 11. map(función, lista_arg) devuelvela lista: [f(lista_arg[0]),f(lista_arg[1]),...,f(lista_arg[n])] >>>def cubo(x): return x*x*x ... >>>map(cubo, range(1,5)) [1,8,27,64]
  • 12. Función reduce: reduce(funcion, lista_arg) llama a función con los dos primeros elementos de lista_arg, luego la llama con el tercero y el resultado anterior, etc. Si sólo hay un elemento se devuelve este, y sino hay ninguno da error. >>>def add(x,y): return x+y ... >>>reduce(add, range(1,11)) 55
  • 13. List Comprehensions: operaciones muy intuitivas con listas >>>vec= [2,4,6] >>>[3 * x for x in vec] [6,12,18] >>>[3 * x for x in vecif x > 3] [12,18] >>>[[x,x**2] for x in vec] [[2,4],[4,16],[6,36]]
  • 14. Definición y uso de Clases: >>>class NombreDeClase: ... sentencia1 ................... ... sentenciaN ... >>>variable = NombreDeClase()
  • 15. >>>class MiClase: ... “Unaclasede ejemplo” ... i = 12435 ... def f(self): ... return “holamundo” ... >>>x = MiClase() >>>x.i 12435 >>>x.f() “holamundo”
  • 16. • Función __init__: Se puede incluir una función, llamada init, que se ejecute siempre que se cree una instancia de la clase. Def __init__(self): instrucciones init no puede hacer return.
  • 17. Las variables de instancia no necesitan declararse. >>>x=MiClase() >>>x.numero=7 x.f() equivalea MiClase.f(x) >>>MiClase.f(x) “holamundo”
  • 18. Para definir una subclase se escribe: class NombreDeClase(NombreSubclase) Se heredan funciones y variables de clase.
  • 19. >>>class MiSubClase(MiClase): ... j=5 ... def g(self): ... return 5 ... >>>x=MiSubClase() >>>x.j 5 >>>x.i 12435 >>>x.f() “holamundo”
  • 20. • Podemos redefinir una función en la subclase: >>>class MiSubClase(MiClase): ... def f(self): ... return “HOLA MUNDO” ... >>>x = MiSubClase() >>>x.f() “HOLA MUNDO”
  • 21. Y para llamar al método de la superclase: >>>x.f() “holamundo” >>>MiClase.f(x) • “holamundo”
  • 22. • Es muy fácil dotar de herencia múltiple, basta con incluir más clases comoargumentosen la definición: >>>class MiSubClase(Superclase1, Superclase2,...) A la horade resolver un mensaje a un objeto de MiSubClase se buscará el método en la propia clase, sino se encuentra se busca en Superclase1 (y en sussuperclases), luego en Superclase2, etc.
  • 24. Aprendizaje Lúdico en la programación El diseño de las prácticas de laboratorio debe tener en cuenta los siguientes aspectos: ° La limitación de tiempo que los planes de estudio actuales imponen a las asignaturas ° La coordinación que requiere la parte teórica con la práctica. No se debe exigir al alumno conceptos no explicados en teoría. ° La evolución de la complejidad de las prácticas debe ir aumentando gradualmente, evitando grandes saltos teóricos entre una práctica y la siguiente.
  • 25. • Los ejercicios para enseñanza de programación se encuentran enfocados al aprendizaje de: - Elementos básicos necesarios para la construcción de un programa: estructura general, variables, tipos, estructuras de datos simples, estructuras de control, modularización de programas y entrada salida elemental. - Estructuras de datos complejas y ficheros. - Tipos abstractos de datos y diseño e implementación de módulos de librerías. Para el caso del proyecto en desarrollo por el alcance del mismo se limitará a trabajar en el primer punto. Juegos dirigidos por menús, conversacionales, siempre con una entrada-salida en modo texto sencilla, serían adecuados para este nivel. En este sentido, los siguientes apartados de este primer ejercicio práctico requerirán que el programa proporcione pistas.
  • 26. Otros lenguajes de programación • Java: Es de los lenguajes más usados, ya que es multiplataforma, esto quiere decir que no solo se ejecuta en PC, también en celulares y otros dispositivos. • C++: Es el más usado para la creación de videojuegos avanzados, ya que no consume muchos recursos del procesador ni memoria RAM. • HTML: Se utiliza para la creación de páginas web, existen otros lenguajes que lo complementan para dar un mejor diseño, ejemplo CSS.
  • 27. Referencia • Bueno, D., Garralón, J., Jerez, J. y Maña, M. (2001) Aprendizaje Lúdico en Laboratorio de Programación. Editorial Edició Univ. Illes Balears. Extraído de http://www.researchgate.net/profile/Antonio_Mana/publication/237680627_Aprendizaje_Ldico_ en_Laboratorio_de_Programacin/links/0046352a89a76a1e55000000.pdf • Barranco, F., Guerrero, A., Entrena, M. y González, A. (2005) Introducción a Python [diapositivas de PowerPoint] Extraído de http://lsi.ugr.es/~pdo/Seminarios/Python2005.pdf • Marciniak, Bartosz. (2013) Por qué Python debería ser el primer lenguaje de programación que aprendas [artículo web]. Extraído de: http://www.thehelloworldprogram.com/es/python-es/por- que-python-deberia-ser-el-primer-lenguaje-de-programacion-que-aprendas/