La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación de Computadores

Presentaciones similares


Presentación del tema: "Programación de Computadores"— Transcripción de la presentación:

1 Programación de Computadores
Lenguaje Pascal Sesión 1: Algoritmos Prof:Eridan Otto

2 Programación de Computadores Lenguaje Pascal
Sesión 1: Algoritmos TEMARIO El Ramo Programación de Computadores Análisis y resolución de problemas Pseudocódigo Entrada y salida de datos Asignación Estructuras de control: Secuencia

3 Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores Es un ramo básico para la mayoría de las carreras de la Universidad Se dicta simultáneamente a distintos cursos, éste es el Paralelo 8. Consta de 4 horas de cátedra 2 horas de ayudantía Tiene sesiones prácticas de Laboratorio de 2 horas semanales Evaluación 3 certámenes (30% cada uno) Laboratorios (10% total) Para que estos porcentajes tengan validez deben tener sobre 55 como promedio en los certámenes y también en los laboratorios. Fechas Importantes:

4 Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores Información General Bibliografía:K. Jensen, N. Wirth. Pascal User Manual and Report:ISO Pascal Standard. Spriger Verlag, 4 edition, 1991. Sitio WEB del ramo: Sito WEB con las clases: Correo del profesor: Clases : Lu 1-2, C:203 ; Mi 1-2 , C:364 Horario de consultas : por confirmar. Horario ayudantía:por confirmar. Horario de laboratorios: por confirmar.

5 Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores Temas de la Asignatura 1. Algoritmos: análisis y resolución de problemas, pseudocódigo. 2. Estructura de un programa PASCAL: encabezado, declaraciones, cuerpo del programa. 3. Declaraciones: identificadores, definición de constantes, declaración de variables, comentarios. 4. Tipos de datos simples: tipos estándares INTEGER, REAL, BOOLEAN, CHAR. Compatibilidad de tipos, reglas de precedencia de los operadores, tipos definidos por el usuario, tipo enumerado, tipo sub-rango. 5. Sentencias básicas: asignación, entrada de datos, salida de datos. 6. Estructuras de control: secuencia, acción simple, acciones compuestas; selección, sentencias IF THEN ELSE, IF THEN, CASE OF; repetición, sentencias WHILE, REPEAT, FOR.

6 Programación de Computadores Lenguaje Pascal
El Ramo Programación de Computadores Temas de la Asignatura 7. Subprogramas: diseño y estructura de programas, PROCEDURE, FUNCTION, parámetros por valor y por referencia, variables locales y globales. 8. Tipos de datos estructurados: ARRAY, algoritmos de búsqueda, algoritmos de ordenamiento, STRING. 9. Tipos de datos estructurados: RECORD. 10. Archivos: archivos de caracteres (texto), archivos enteros/reales, archivos de registros.

7 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas ¿Qué es la programación? Es el proceso de planificar una secuencia de instrucciones que ha de seguir una computadora. Para escribir dicha secuencia debemos seguir cierto procedimiento, que se compone de dos fases: Fase de resolución del problema Fase de implementación Un problema se define como una situación en la cual un individuo desea hacer algo, pero desconoce el curso de la acción necesaria para lograr lo que quiere (Newell y Simon, 1972). Una situación en la cual un individuo actúa con el propósito de alcanzar una meta, utilizando para ello alguna estrategia en particular (Chi y Glaser, 1983).

8 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas Fase de Resolución del problema Análisis: Comprender el problema, establecer su ámbito y las herramientas necesarias para resolverlo. Solución general (Algoritmo): Desarrollar una secuencia lógica de pasos que resuelva el problema. Prueba: Seguir los pasos para ver si la solución resuelve verdaderamente el problema. Fase de Implementación Solución específica (Programa): Traducir el algoritmo a un lenguaje de programación. Prueba: Hacer que la computadora siga las instrucciones. Comprobar los resultados y hacer las correcciones necesarias. Uso: Utilizar el programa.

9 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas Resolución del problema Implementación Análisis Solución general (Algoritmo) Solución específica (Programa) Prueba Prueba Uso

10 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas ¿Qué es un algoritmo? Un algoritmo esencialmentes es una secuencia de pasos permitida y estructurada que permite realizar operaciones con datos, transformándolos (Ej, ordenándolos, haciendo cálculos repetitivos, obteniendo estadísticas, seleccionando, etc) para llegar al resultado. Resolución Algoritmo Problema Corresponde al proceso de construcción de un algoritmo para alcanzar la meta propuesta Corresponde a una serie de operaciones a realizar sobre los datos, lograda por medio de una adecuada combinación de instrucciones”

11 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas ¿Qué es un algoritmo? Es una sucesión de acciones que hay que realizar, completamente prefijada, y su correcta ejecución lleva a una solución segura del problema como, por ejemplo, realizar una raíz cuadrada o hacer una torta. Es importante diferenciar entre el diseño mismo del algoritmo, y su ejecución ya sea realizada por una máquina o por un ser humano. Entrada Salida (resultado) Ejecución Datos Datos Manipulados Algoritmo Corresponde a una serie de operaciones realizadas sobre los datos, entregando otros datos como salida. El algoritmo “dirige” el proceso de ejecución. Problema

12 Programación de Computadores Lenguaje Pascal
Algoritmos: Análisis y resolución de problemas Características de una algoritmo Debe ser preciso, indicando un orden de ejecución. Debe ser definido, es decir, debe dar el mismo resultado todas la veces que se ejecute con los mismos parámetros. Debe ser finito, es decir, debe terminar en algún momento según un criterio de parada. Ejemplo : Encender un Automóvil 1. Poner la llave. 2. Asegurarse que la marcha está neutra. 3. Presionar el pedal del acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). 7. Si el auto no parte, llevarlo al taller.

13 Programación de Computadores Lenguaje Pascal
Algoritmos:Pseudocódigo Pseudocódigo, para poder indicar, por ejemplo, a un computador que realice alguna acción sobre los datos, se debe tener una especie de lenguaje conocido previamente por el programador y por la máquina. En este curso se verá PASCAL, pero antes, se debe entender que un algoritmo no depende del lenguaje mismo. El pseudocódigo es un lenguaje o una convención en español, que permite expresar lo que queremos que se haga para llegar a la meta. En esta clase y en la próxima se realizarán y solucionarán problemas, es decir, se diseñarán Algoritmos usando pseudocódigo. Diagramas de flujo, permiten expresar el algoritmo por medio de ciertas gráficas que ayudan a comprender mejor su mecánica.

14 Programación de Computadores Lenguaje Pascal
Algoritmos:Pseudocódigo entrada y salida de datos Definición, dato: Es una estructura que se almacena en la “memoria” del computador y es representada Por un tipo de datos. En adelante se hablará de Variables. Definición, tipo dedato: para comenzar, antes de programar en PASCAL, usaremos sólo los siguientes tipos para variables: - ENTERO, ej: -1, 0 ,1, 1000, -253 - REAL, ej: , 1E-10, 2.35 - CARÁCTER, ej: ‘a’,’A’,’1’ - BOOLEANO: VERDADERO,FALSO Definición, variable: es un dato que a lo largo de la ejecución del algoritmo puede ir cambiando de valores, siempre manteniendo su tipo. Ejemplos: Contador :ENTERO (* variable de tipo ENTERO *); raizCuadrada :REAL (* variable de tipo REAL*); letraMinuscula :CARACTER (* variable de tipo CARACTER*); ValorVerdad : BOOLEANO(* variable de tipo “lógico”*);

15 Programación de Computadores Lenguaje Pascal
Algoritmos:Pseudocódigo entrada y salida de datos ¿Cómo comunicarnos con el computador? Pantalla Teclado Es el dispositivo estándar de salida de datos Es el dispositivo estándar de entrada de datos Es Instrucción en Pseudocódigo: escribir(texto,variable1,variable2,....); NOTA:las variables de tipo BOOLEANA no se pueden desplegar directamente por la pantalla Instrucción en Pseudocódigo: ingresar(texto,variable1,variable2,....); NOTA:las variables de tipo BOOLEANA no se pueden ingresar directamente por teclado

16 Programación de Computadores Lenguaje Pascal
Algoritmos:Pseudocódigo entrada y salida de datos Ejemplo: Realizar un algoritmo que solicite ingresar por pantalla el valor aproximado de pi, un número entero que corresponde al radio de un círculo y despliegue por pantalla, del área del círculo. Valor de Pi salida Entrada Algoritmo Valor radio Valor del área ALGORITMO area; VARIABLES pi :REAL; radio:ENTERO; INICIO ingresar(‘por favor ingrese valor de pi:’,pi); ingresar(‘por favor ingrese valor del radio:’,radio); escribir(‘Area del circulo:’,pi*radio*radio); FIN. Pantalla por favor ingrese valor de pi: por favor ingrese valor del radio: 2 Area del circulo: Entrada salida Teclado

17 Programación de Computadores Lenguaje Pascal
Algoritmos:Asignación Definición, asignación:es la operación de dar valor a una variable o modificarla. Se va a representarla con el símbolo <-- ; una flecha apuntando a la izquierda. En pseudocódigo, el formato de una asignación es: nombre de la variable  expresión algunos ejemplos: A  100 ; significa que a la variable A se le ha asignado el valor 100, ahora A vale 100. suma  5+10; asigna el valor 15 a la variable suma, a través de una asignación aritmética. x   z + v ; asigna el valor de la suma de las variables z y v a la variable x. El resultado depende de los valores que se asignen PREVIAMENTE a z y a v Toda asignación es destructiva. Esto quiere decir que el valor que tuviera antes la variable se pierde y se reemplaza por el nuevo valor asignado, así cuando se ejecuta esta secuencia: B  25 B  100 B  77 el valor final que toma B será 77 pues los valores 25 y 100 han sido destruidos. (o reemplazados en una parte de la memoria principal del computador)

18 Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo:Asignación Cuando una variable aparece a ambos lados del símbolo de asignación como: C   C + 1 Significa incremento del valor que c “ya tiene” más uno. Siempre inicializar las variables al comenzar el programa con cero u otro valor (dependiendo del problema). En una asignación, se puen hacer muchas más cosas que una suma, dependiendo del tipo de datos, se pueden combinar operadores, formando expresiones. Para ENTERO, algunos operadores son: +,- ,*, DIV,RESTO Para REAL, algunos operadores son: +,- ,*, /,REDONDEAR(),TRUNCAR() Para CARACTER, algunos operadores son: CODIGO() ,CAR() Para BOOLEANO, algunos operadores son: AND,OR,NOT Para agrupar operaciones, se usan: (,) Ejemplo: C  A*(B+(C DIV D))

19 Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo:Asignación Recuerdo: no se pueden asignar valores a una variable de un tipo diferente al suyo. Entonces, qué valor aparece por pantalla en el siguiente algoritmo, si se digita en teclado 20?: ALGORITMO incrementa; VARIABLES entrada,salida :ENTERO; INICIO ingresar(‘por favor ingrese valor inicial :’,entrada); salida---1; entrada----2*entrada; salida---salida + entrada; escribir(‘numero impar:’,salida); FIN.

20 Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo. Estructura de control :Secuencia Diagrama de flujo para el ejemplo anterior: Inicio La ejecución un paso tras otro de un algoritmo sigue una cierta pauta o estructura, la primera a estudiar es la secuencial. Esto quiere decir que se ejecutan las instrucciones o sentencias en orden, una tras otra, empezando por la primera del algoritmo, acabando por la última. Un conjunto de instrucciones se puede agrupar en bloques, con un comienzo y un final. La estructura de control secuencia, significa que estos bloques se van ejecutando uno tras otro. Este enfoque se llama refinamiento sucesivo o enfoque estructurado de programación. Esto es, ir descomponiendo el algoritmo de acciones generales hasta llegar al nivel de instrucciones o sentencias. 20 Ingresar entrada salida---1 entrada-2*entrada salidasalida + entrada escribir salida >41 > Fin

21 Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo. Estructura de control :Secuencia Ej: Desarrolle un algoritmo que entregue la edad de dos hermanos,sabiendo que el padre tiene 40 años, la diferencia de edad con el primer hijo es de 35 años, y que el segundo tiene el doble de la edad de su hermano. Una primera aproximación al problema podría ser: Calcular la edad del hermano menor Calcular la edad del hermano mayor Escribir en pantalla los resultados A este nivel, no se ha llegado aún al pseudocódigo, solo se definen “grandes tareas” a realizar, que a su vez pueden dividirse en tareas secuenciales más simples: Asignar a edad hermano menor : edad del padre menos la diferencia Asignar a edad del hermano mayor : 2*(edad hermano menor) Escribir en pantalla edad hermano menor Escribir en pantalla edad hermano mayor En este segundo refinamiento se aprecian ya algunas opreaciones más precisas, y cercanas a la solución. Finalmente se formaliza el algoritmo:

22 Programación de Computadores Lenguaje Pascal
Algoritmos, pseudocódigo. Estructura de control :Secuencia ALGORITMO edades; VARIABLES edadHermanoMay, edadHermanoMen :ENTERO; diferencia: ENTERO; INICIO Diferencia --35; edadHermanoMen  diferencia edadHermanoMay----2* edadHermanoMen ; escribir(‘Edad hermano menor :’, edadHermanoMen ); escribir(‘Edad hermano mayor :’, edadHermanoMay ); FIN. Asignación Secuencia de inicialización Estructura de Control Secuencial Secuencia de cálculos Secuencia de salida

23 Fin Clase 1


Descargar ppt "Programación de Computadores"

Presentaciones similares


Anuncios Google