Programación

Clase 1
Prof. Gonzalo Müller
gmullerb@mail.com

Facultad de Ingeniería Universidad Central de Venezuela

Clases
Clases Teoría: 2 horas académicas. Están estructuradas de la siguiente manera:
Resumen de clase anterior. Conceptos. Ejemplos: Profesor. Ejercicios: Alumnos → Intervenciones. Resumen de clase.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 2

Clases
Laboratorios: Grupos de dos estudiantes (no fijo - aleatorio). Profesor y Preparador. 1 hora 50 minutos. Están estructurados de la siguiente manera:
Practica Mecanografía. Análisis y Diseño. Codificación.

Evaluados y no evaluados (→ se indica en próximo)
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 3

Evaluación
Nota Teoría ≥ 9, Nota Laboratorio ≥ 10, Asistencia Teoría > 75% y Asistencia Laboratorio > 75%: Nota Teoría: 60%
Exámenes. Puntos Extras:
Evaluación continua:
Asignaciones (Obligatoria: –2 puntos c/u). Intervenciones (Opcional: +0.5 puntos c/u). Se reparten los puntos en forma equitativa entre las notas de los exámenes.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 4

Evaluación
Nota Teoría ≥ 9, Nota Laboratorio ≥ 10, Asistencia Teoría > 75% y Asistencia Laboratorio > 75%: Nota Teoría: 60% Nota Laboratorio: 40%
Trabajos de Laboratorio.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 5

Evaluación
Nota Teoría ≥ 9, Nota Laboratorio ≥ 10, Asistencia Teoría > 75% y Asistencia Laboratorio > 75%: Nota Teoría: 60% Nota Laboratorio: 40% Puntos Extras en Definitiva:
+1 punto por Constancia (Definitiva ≥ 13.0 y ±1.5) +1 punto por Superación (Último examen ≥ 13.0) +1 punto por Sobresaliente (Definitiva ≥ 10.0 y Nota Examen ≥ 13.0)
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 6

Evaluación
Nota Laboratorio < 10 y Asistencia Teoría > 75% y Asistencia Laboratorio > 75%: Nota definitiva: Nota de Laboratorio < 10. Nota de Teoría < 9, Nota Laboratorio ≥ 10 y Asistencia Teoría > 75% y Asistencia Laboratorio > 75%: Nota definitiva: Nota Teoría < 9.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 7

Evaluación
Asistencia Teoría ≤ 75% o Asistencia Laboratorio ≤ 75%: NO ASISTIO.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 8

Evaluación
Examen Recuperativo (puede ser fuera de horario) Si Nota Teoría > 7 o Inasistencia Opcional/Global/Sustituye la nota más baja de Teoría o inasistencias a los mismos. Laboratorios Recuperativo(puede ser fuera de horario)
Al finalizar Javascript, Al finalizar el curso Opcional/Global/Sustituye las 2 ó 3 notas más bajas de Laboratorio o inasistencias a los mismos.

Asignación Recuperativa
Al finalizar Javascript, Al finalizar el curso
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 9

Evaluación Teoría
Consta de 3 parciales:
% 33,3 33,3 33,3 Descripción 1 a 9, Individual 1 a 15, Grupal 1 a 20, Individual Fecha Tentativa Semana 6 Semana 12 Semana 16

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 10

Asistencia
Asistencia Teoría > 75%: Asistencia a actividades evaluadas de Teoría: Exámenes, Asignaciones. Asistencia a Laboratorios > 75%. Ejemplo:
Si se realizan 6 evaluaciones y no se asiste a 2 evaluaciones y se asiste a todos los laboratorios, se pierde la materia por inasistencias en la teoría. Si se realizan 12 laboratorios y no se asiste a 3 de ellos y se asiste a todas las evaluaciones de teoría, se pierde la materia por inasistencias en el laboratorio.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 11

Consultas

Profesor: Oficina. Correo electrónico: gmullerb@mail.com Preparadores. Sala de Computación.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 12

Lenguaje de Programación
Lenguaje: JavaScript, C y C++. Sistema Operativo: Linux. Herramienta de Desarrollo:
Linux Editor. Mozilla Firefox. Google Chrome. Codeblocks. Windows (Casa) Notepad++. Mozilla Firefox. Google Chrome. Codeblocks.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 13

Bibliografía

... Laminas: www.scribd.com/gmullerb Material Digital. Guías: programacion.gmullerb.heliohost.org

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 14

Otros
Horario. Celulares.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 15

Evaluación

80% - 100% ?
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 16

Evaluación
Todos tiene

20
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 17

Evaluación y Estudio
Todos tiene

20
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 18

Estudio
Mayor esfuerzo al comienzo Ejercicios Revisión

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 19

Estructura del curso
Parte 1

Algoritmia
Javascript Parte 2

Datos
C Parte 3

Complementos
Javascript, C y C++

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 20

El Programador
Un programador es aquel: Tiene la capacidad para describir la solución a un problema a través de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las características, el funcionamiento de la computadora y las tecnología asociadas. Establece los tipos de datos y diseña las estructuras de datos requeridas a utilizar en la resolución de un problema.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 21

El Programador
El programador debe: Analizar un totalmente. problema hasta comprenderlo

Diseñar una estrategia descrita por los pasos requeridos para resolver el problema. Conocer las computador. capacidades y limitaciones del

Dominar el lenguaje de programación.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 22

Fases de la Programación
Básicamente existen dos fases: 1. Análisis y Diseño. 2. Codificación.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 23

Fases de la Programación
60% Análisis y Diseño. Depende: Conocimiento del problema. Experiencia. 30% Codificación. Depende: Dominio del lenguaje. Conocimiento del computador y asociadas.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 24

tecnologías

Fases de la Programación
Recomendación: Programar directamente el computador es más cómodo, pero:
Analizar, Diseñar, Codificar y Mecanografiar al mismo tiempo.
Esto aumenta las probabilidades de cometer errores.

Realizar las fases por separado:
Análisis y Diseño: en papel Codificación: en papel o en computador.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 25

Algoritmia

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 26

Metodología para resolución de un problema
Pasos a seguir en la resolución de un problema: 1. Definición del problema. 2. Análisis del problema. 3. Diseño del Algoritmo. 4. Prueba del Algoritmo. 5. Codificación del Algoritmo.
Definición del problema Análisis del problema Diseño del Algoritmo Prueba del Algoritmo Codificación del Algoritmo
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 27

Metodología para resolución de un problema
1. Definición del problema. Se debe estar claro del objetivo. El enunciado debe ser examinado en busca de:
La información disponible. La información que debe buscarse.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 28

Metodología para resolución de un problema
Problema → Una Solución Cuál es el Problema ? ≡ Objetivo

Objetivo
Dirección: Cual es la ruta que se debe tomar para solucionar el problema.
El camino lógico para llegar hasta el.

Meta: Hasta donde se debe llegar para solucionar el problema.
No perder de vista el objetivo
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 29

Metodología para resolución de un problema

Camino Lógico

Objetivo

No tener claro el Objetivo!
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 30

Metodología para resolución de un problema
Ejemplos de Objetivos: Graduarse de Ingeniero. Comprar el libro Harry Potter 8. Comer una hamburguesa. Generar los primeros 1000 números primos Obtener la solución optima de un problema matemático no lineal con restricciones

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 31

Metodología para resolución de un problema
2. Análisis del problema. Establecer los requerimientos. Establecer las restricciones. Establecer la relaciones entre los elementos que definen el problema. Establecer las entradas y salidas. Utilizar diagramas, esquemas, etc. Es necesario comprender el problema y la teoría asociada.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 32

Metodología para resolución de un problema
Ejemplo 1.1: Se requiere un programa para obtener las raíces reales de una ecuación cuadrática, realizar el análisis detallado del mismo.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 33

Metodología para resolución de un problema
3. Diseño del Algoritmo. Es una arte y requiere de práctica.

Se comienza con un bosquejo inicial y se refina continuamente.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 34

Metodología para resolución de un problema
4. Prueba de un Algoritmo: Permite con un cierto grado de certeza establecer que se puede alcanzar el objetivo al ser ejecutado el algoritmo. Corrida en frío. 5. Codificación de un Algoritmo: Proceso por el cual convertimos un algoritmo en un listado de instrucciones que se ajusta al vocabulario del lenguaje de programación.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 35

Metodología para resolución de un problema
Finalmente:
Definición del problema Análisis del problema Diseño del algoritmo

Prueba del Algoritmo

Codificación del Algoritmo
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 36

Algoritmo
Es el conjunto detallado de pasos secuénciales y ordenados que permiten lograr un objetivo
Es el camino que permite llegar al objetivo.

Algoritmo 1 Algoritmo 2 Objetivo Algoritmo 3 Algoritmo 4
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 37

Algoritmo
Un algoritmo debe ser: Secuencial: Cada paso debe ser ejecutado uno detrás de otro. Ordenado: Ya que la posición del paso es fundamental. Detallado: Deben estar lo suficientemente detallado para que no exista ninguna duda en su puesta en marcha.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 38

Algoritmo
Tipos de Algoritmos: Informales: Aquellos que no implementados en un computador. pueden ser

El ejecutor es el ser humano El avance de la tecnología esta reduciendo esta clase de algoritmos.

Computacionales: Aquellos algoritmos que deben ser preferiblemente implementados en un computador, debido a su velocidad de procesamiento.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 39

Algoritmo
Ejemplos de Algoritmos Informales: Algoritmo para Graduarse de Ingeniero. Algoritmo para Comprar el libro Harry Potter 8. Algoritmo para Comer una hamburguesa.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 40

Algoritmo
Ejemplos de Algoritmos Computacionales: Algoritmo para Generar los primeros 1000 números primos. Algoritmo para Obtener la solución optima de un problema matemático no lineal con restricciones. Algoritmo para ordenar de n números.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 41

Algoritmos
Características de buen un algoritmo: Finito: Siempre termina luego de la ejecución de un número finito de pasos. Definido: Se obtiene el mismo resultado a partir de los mismos datos. Preciso: No debe contener ambigüedades, no pude ser sujeto de interpretación.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 42

Algoritmos
Partes de un algoritmo: Entrada: Datos necesarios para comenzar el proceso. Proceso: Se realizan todas las operaciones y cálculos necesarios con los datos de entrada. Salida: Se obtiene un resultado.

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 43

Algoritmos

Proceso Entrada

Salida

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 44

Algoritmo
Ejemplo 1.3: Objetivo: Graduarse de Ingeniero. Algoritmo:
Paso 1: Aprobar Materia A. Paso 2: Aprobar Materia B. . . . Paso n: Aprobar Ultima Materia.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 45

Algoritmo
Ejemplo 1.4: Objetivo: Comprar el libro Harry Potter 8. Algoritmo: Paso 1: Hacer una lista de n librerías Paso 2: Si no estamos en la librería k, entonces: Paso 2.1: Salir del lugar donde estamos. Se ejecutan estos pasos Si la condición se cumple Paso 2.2: Dirigirnos a la librería k. Paso 3: Solicitar el libro Paso 4: Si no lo tiene, entonces: Paso 4.1: Hacer k = k + 1 Se ejecutan estos pasos Si la condición se cumple Paso 4.2: Ir al Paso 2
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 46

Algoritmo
Ambos algoritmos tiene errores:

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 47

Algoritmo
Ambos algoritmos tiene errores: El 1º
Es Ambiguo No es detallado

El 2º
No es Finito No alcanza el objetivo

Programación – Prof. Gonzalo Müller – Clase 1 – GM - 48

Algoritmo
Paso 1: Hacer una lista de n librerías Paso 2: Hacer k = 1 Paso 3: Si no estamos en la librería k, entonces: Paso 3.1: Salir del lugar donde estamos. Paso 3.2: Dirigirnos a la librería k. Paso 5: Solicitar el libro Paso 6: Si lo tiene, entonces: Paso 6.1: Cancelar el libro, Detener Paso 7: Si no, entonces: Paso 7.1: Hacer k = k + 1 Paso 7.2 : Si ya visitamos todas las librerías (k > n), entonces: Paso 7.2.1: No es posible encontrar el libro, Detener Paso 7.3: Si no, Ir al Paso 3
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 49

Ejercicio
Desarrollar un algoritmo para: 1. Comer en el comedor universitario, UCV. Partiendo de que estoy en la universidad. 2. Bajar de peso. 3. Llegar a la universidad, UCV. Partiendo de que me encuentro en la plaza Brion. 4. Lavar la loza. 5. Graduarse de Ingeniero.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 50

Resumen
Pautas de curso. www.scribd.com/gmullerb gmullerb@mail.com Definición de Programador. Fases de la Programación. Metodología para resolución de un problema: Definición, Análisis, Diseño del algoritmo, Prueba del Algoritmo e Implementación Algoritmo: Definición, Características, Partes.
Programación – Prof. Gonzalo Müller – Clase 1 – GM - 51

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.