Anda di halaman 1dari 39

INTRODUCCIÓN A LA PROGRAMACIÓN

Académico: Mtra. Alessandra Reyes ialessandra.reyes@gmail.com


Periodo: Agosto 2017- Enero 2018
Horario

Hora / Día Lunes Miércoles Viernes


9 – 11 am CC3 103 103

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 2


Temas de curso
• UNIDAD I : Conceptos básicos • UNIDAD II: Conceptos de
programación
de programación • Metodología para la resolución de
• Programa problemas algorítmicos
• Concepto y propiedades de un • Tipos de datos
• Simples
algoritmo • Estructurados
• Lenguaje de programación • Identificadores
• Traductores: compilador e • Operadores
intérprete • Estructuras de control
• Secuenciales
• Ambiente de Aprendizaje de un • Repetitivas
lenguaje de programación • Subprogramas
• Datos estructurados
• Cadenas
• Vectores
• Matrices

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 3


Temas de curso
• UNIDAD III: Programación orientada a objetos (POO)
• Características de la POO
• Conceptos básicos de POO y notación
• Objeto y sus componentes: atributos, métodos e identidad
• Clase
• Modelado
• Implementación de un Programa OO
• Abstracción y encapsulamiento
• Tipos de acceso: private, public, protected
• Instancias a objetos
• Constructores
• Estado de un objeto
• Sobrecarga de métodos
• Comunicación entre objetos

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 4


Criterios de evaluación
Unidad Criterio de evaluación Instrumento Porcentaje
Examen 30%
I,II Primer Parcial
Tareas y prácticas 10%
Examen 30%
III Segundo Parcial
Tareas y prácticas 10%
Proyecto Integrador 20%

NOTA:
• De acuerdo al estatuto de la UV, deberán cumplir con el 80%, 60% y 50% de asistencia para tener derecho a
examen ordinario, extraordinario y título respectivamente.
• Deberán acreditar con un mínimo de 6 cada criterio de evaluación.
• El puntaje obtenido en tareas, prácticas y proyecto se toma en cuenta para ordinario, extraordinario y título.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 5


Consideraciones en clase
• Ser puntual en el horario de clase, entrega y revisión de tareas
• Obligatorio participación en clase
• Durante clases teóricas evitar el uso de equipos electrónicos (Laptop, celulares, tabletas,
etc.)
• Cuidar y cooperar con el mantenimiento del aula, conservándola siempre limpia y en
buen estado
• Respetar las pertenencias ajenas y responsables de la perdida o extravío de libros, dinero
material de trabajo
• Tener siempre una conducta cordial y de respeto entre compañeros y maestra.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 6


Consideraciones para el Centro de Cómputo
• Horario: Lunes 9-11 am. Salón CC3.
• Identificarse
• No ingresar con alimentos o bebidas
• Trabajar en silencio
• Abrigarse: Temperatura de 22° C
• Informar si detecta algún problema con los equipos
• Conectar todo y dejar los utensilios exactamente como lo encontró

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 7


UNIDAD I:
Conceptos básicos de programación
Unidad I: Conceptos básicos de programación
1. Programa
2. Concepto y propiedades de un algoritmo
3. Lenguaje de programación
4. Traductores: compilador e intérprete
5. Ambiente de Aprendizaje de un lenguaje de programación

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 9


¿Qué es un programa?

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 10


¿Qué es un programa y qué es programar?

• Según la RAE:
• Programa:
• “Cada una de las operaciones que, en un orden determinado, ejecutan ciertas máquinas”
• “Conjunto unitario de instrucciones que permite a una computadora realizar funciones diversas, como el
tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de
bancos de datos, etc.”
• Programar:
• Idear y ordenar las acciones necesarias para realizar un proyecto
• Preparar ciertas máquinas o aparatos para que empiecen a funcionar en el momento y en la forma
deseados

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 11


¿Porqué es importante programar? Video [2]

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 12


Actividad extra clase

• Observar el mundo
• Detectar las necesidades a mi alrededor
• ¿Qué puedo programar para cambiar el mundo?
• ¿Cuál es el programa de mis sueños?

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 13


1. Programa
• Conjunto de instrucciones o enunciados escritas
en un lenguaje de programación

• La escritura de un programa de computadora


consiste en implementar un método de resolución
de un problema, que se ha diseñado previamente,

• Cuando se desarrolla un programa muy grande,


una gran parte del esfuerzo se destina a
comprender y definir el problema a resolver,
analizar su complejidad y descomponerlo en
subprogramas más pequeños que puedan
realizarse fácilmente [1].

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 14


2. Algoritmo
• Conjunto ordenado y finito de pasos u operaciones que permite encontrar la solución de un
problema [1].

• Características:
• Preciso: Cada paso u operación debe ser expresada con claridad e indicar el orden de
realización de cada paso.
• Definido: Si se sigue el algoritmo más de una vez, siempre se llega al mismo resultado.
• Finito: Tiene un número determinado de pasos, siempre termina.
• Un algoritmo debe definir tres partes:
• Entrada
• Proceso
• Salida

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 15


2. Algoritmo

• Ejemplo de receta de cocina:


• Entrada: ingrediente y utensilios
• Proceso: elaboración de la receta en la cocina
• Salida: terminación del plato (por ejemplo, sándwich).

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 16


2. Algoritmo
• Atributos deseables:
• Generalidad
• Buena estructura
• Eficiencia
• Fácil de usar
• Elegante
• Robustez
• Economía

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 17


Fases para la solución de un problema algorítmico:

1. Análisis del problema:


• Se define con precisión el problema a resolver.
• Especificaciones completas del problema:
• Datos de entrada (datos dados)
• Datos de salida (el resultado)
• Alternativas de solución (método o procedimiento a seguir)

• Ejemplos: Suma, promedio.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 18


Fases para la solución de un problema algorítmico:

2. Diseño:
• Definir un bosquejo de la solución.
• Se inicia con el problema original, se divide en un número de subproblemas.
• Se presenta la solución usando alguna representación.
• Ejemplo receta para preparar chiles rellenos:

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 19


Fases para la solución de un problema algorítmico:
• Representación de algoritmos

Texto narrativo
Diagrama de flujo
Pseudocódigo

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 20


Fases para la solución de un problema algorítmico:
3. Prueba de escritorio:
• Se hace una ejecución manual
del algoritmo
• Para esto se diseñan datos de
prueba que abarquen todos los
caminos del algoritmo.
• Se comprueba el resultado.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 21


Fases para la solución de un problema algorítmico:
3. Codificación:
• Los algoritmos en pseudocódigo no pueden ser ejecutados directamente por la
computadora. El pseudocódigo debe ser primero convertido a lenguaje de
programación, es decir, programa fuente.

4. Validación:
• Editar el programa
• Compilarlo y ejecutarlo
• Detectar errores: el error puede estar en uno de los siguientes cuatro lugares:
• En la codificación: el error pudo haberse formado cuando el algoritmo fue trasladado a lenguaje de programación.
• En el algoritmo: el error pudo haber estado en el algoritmo y nunca se había notado.
• En el diseño del programa: el diseño del programa puede estar defectuoso y conducir a errores durante la
ejecución.
• En el cálculo de los resultados de prueba: Los resultados, en los casos de prueba, pudieron haberse calculado
mal.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 22


Fases para la solución de un problema algorítmico:
5. Implementación y mantenimiento:
• Poner en funcionamiento el programa con datos reales.
• Hacer ajustes si es necesario más adelante.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 23


Actividad extra clase

• Investigar qué es un lenguaje de programación y cuáles lenguajes existen.


• Descargar e Instalar PSEINT: http://pseint.sourceforge.net/

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 24


3. Lenguaje de programación

• Un programa es una lista de instrucciones destinadas a ser seguidas


mecánicamente por una computadora.

• Una computadora:
• está construida para llevar a cabo las instrucciones que se escriben en
un tipo muy simple de lenguaje llamado lenguaje máquina.

• puede ejecutar programas escritos en otros idiomas si primero se


traducen al lenguaje de máquina.

• Un lenguaje de programación “es un lenguaje con estrictas reglas gramaticales, símbolos y


palabras reservadas, usadas para escribir un programa de computadora” [3].

• es un medio para comunicarnos con la computadora, el cual debe de tener reglas tales que
permitan establecer una comunicación sin ambigüedades.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 25


Tipos de lenguaje de programación

• Lenguaje máquina
• Lenguaje en ceros y unos (bits)

• Lenguajes de Bajo nivel


• Son lenguajes totalmente dependientes de la máquina, es decir, que el
programa que se realiza con este tipo de lenguajes no se puede migrar o
utilizar en otras máquinas.
• Ejemplo: lenguaje ensamblador.

• Lenguajes Alto nivel


• Se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
• Lenguajes independientes de la arquitectura del ordenador.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 26


Ejemplos de lenguajes de programación – alto nivel
Lenguaje Principal área de aplicación
BASIC Programación para fines educativos
C Programación de sistema
C++ Programación de sistema orientado a objeto
Cobol Administración
Fortran Cálculo
Java Programación orientada a objetos
MATLAB Cálculos matemáticos
LISP Inteligencia artificial
C# Programación orientada a objetos
PHP Desarrollo de sitios web dinámicos
JavaScript Desarrollo de sitios web interactivos

Los lenguajes de programación permiten al programador olvidarse por completo del funcionamiento interno
de la máquina. Tan solo necesitan un traductor que entienda el código fuente y las características de la
máquina.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 27


4. Traductor
• Es un metaprograma que toma como entrada un programa (o parte de un
programa), denominado programa fuente, escrito en un lenguaje de
programación, y proporciona como salida otro programa (semánticamente
equivalente) denominado programa objeto, y escrito en un lenguaje
comprensible por el hardware de la computadora.

• Existen dos tipos de traductores: Intérpretes y Compiladores.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 28


Intérprete

• Programa que permite que un programa fuente vaya traduciéndose y


ejecutándose directamente, sentencia a sentencia, por la computadora.
Capta
sentencia de
Analiza Interpreta Ejecuta
programa
fuente

• No crea un archivo o programa objeto.


• Una vez creado el archivo fuente, el usuario puede dar la orden de ejecución
y el intérprete lo ejecuta línea a línea.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 29


Compilador

• Son programas que traducen programa fuente a un programa objeto.


• El programa fuente suele estar contenido en un archivo, y el programa
objeto puede almacenarse como archivo en memoria masiva para ser
procesado posteriormente, sin necesidad de volver a realizar la
traducción.
• La ejecución del programa objeto es independiente del compilador.
Análisis Síntesis
Programa • Léxico • Generación de Programa
fuente • Sintáctico código objeto
• Semántico • Optimización

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 30


Intérprete vs Compilador

Intérprete Compilador
Traduce el programa línea por línea cuando Traduce completamente el programa y crea
lo lee, convirtiéndolo directamente en un archivo como programa objeto para
acción. ejecutarlo al final.
El programa puede ser interpretado en El programa solo funciona en la plataforma
cualquier plataforma (sistema operativo). en donde se ha creado.
No funciona si no se tiene el intérprete. Puede ser distribuido fácilmente conociendo
la plataforma.
Detección de errores más rápida. Detección de errores al final de la
compilación.
La ejecución de archivos es más lenta. La velocidad de la ejecución es de 10 a 30
veces más rápido que un archivo
interpretado.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 31


5. Ambiente de aprendizaje de un lenguaje de programación.

• PSEINT: software libre educativo multiplataforma dirigido a


personas que se inician en la programación.

• Disponible: http://pseint.sourceforge.net/

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 32


Material extra

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 33


Diagrama de flujo Representación gráfica de un algoritmo o proceso

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 34


Ejemplo
• Preparar un litro de limonada

1. Inicio
2. Preparar los ingredientes: agua, azúcar y limones.
3. Vaciar en una jarra un litro de agua purificada
4. Exprimir el jugo de 8 limones
5. Agregar 1 taza de azúcar
6. Mezclar los ingredientes
7. Limonada lista
8. Fin

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 35


Ejemplo
• Determinar si una persona es mayor de edad

1. Inicio
2. Preguntar la edad de una persona
3. Comparar la edad (¿es mayor o igual que 18 años?)
4. Si. Escribir “La persona es mayor de edad”, ir al paso 6.
5. No. Escribir “La persona es menor de edad”.
6. Fin

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 36


Práctica I

• Crear diagramas de flujo en equipos.


• Calcular el promedio de un alumno en tres materias, y decir si esta “Aprobado” o
“Reprobado” (usando la escala de 1 al 10, igual o mayor que 6 es aprobado).

• Calcular perímetro de un rectángulo y decir de qué medida es (grande, mediano, chico)


• Grande si su perímetro es mayor o igual a 30.
• Mediano si su perímetro es mayor o igual a 15 y menor a 30.
• Chico si su perímetro es mayor o igual a 1 y menor a 15.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 37


Actividad extra clase

• Elaborar un mapa conceptual de los temas vistos:


• Programa
• Algoritmo (definición y características)
• Lenguaje de programación
• Traductores: compilador e intérprete

* Importante representar diferencia entre algoritmo y programa, y entre compilador e


intérprete.

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 38


Referencias
1. Sedgewick, R. (1995). Algoritmos en C++. Ediciones Díaz de Santos.
2. Video: Todo el mundo debería saber programar. Disponible desde:
https://www.youtube.com/watch?v=X5Wkp1gsNik
3. Jesús, Á. E. J., Alejandra, A. R. S., Antonio, B. P. M., Marcos, L. C., Omar, N. C., Catalina,
T. R., & Armando, V. P. Introducción a la Programación. Disponible desde:
http://www.armandovalera.info/wp-content/uploads/2014/11/ip.pdf

Introducción a la programación Tecnologías Computacionales – Universidad Veracruzana 39

Anda mungkin juga menyukai