Programación de Computadores

Slides:



Advertisements
Presentaciones similares
Programación de Computadores
Advertisements

Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
PROF. ING. JULIO CESAR CANO RAMIREZ
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Razonamiento algorítmico
LÓGICA DE PROGRAMACIÓN
Introducción a los Algoritmos
Lenguajes de programación
Resolución de Problemas Algoritmos y Programación
Metodología de la Programación
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Técnico en programación de Software
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
Metodología de la Programación
Programación 1 Introducción
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Introducción a la Programación
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
METODOLOGIA DE LA PROGRAMACION
ESTRUCTURAS DE CONTROL
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
Programación de Computadores
LOGICA DE PROGRAMACION
Tema 1 Algoritmos.
Proceso de información en la computadora
Programación II Profesor A.S. MOLINA, Carlos
ALGORITMOS.
Academia de Informática
Programación en Matlab
Algoritmos ¿Que es un algoritmo?
Programación I Universidad Nacional de Luján
ESTRUCTURA DE DECISION LOGICA
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
LENGUAJE DE PROGRAMACIÓN
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Fundamentos de programación Organización de una computadora.
Teoría – Alejandro Gonzalez
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Elementos básicos del lenguaje
Departamento de Informática Universidad Técnica Federico Santa María Temas 2,3,4: Estructura de un Programa Pascal Declaraciones Tipos de Datos Simples.
Programación de Computadores (IWI-131)
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
DEV- C++ ·include <iostream> Int x x=x+2(x)
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
Elaboración de algoritmos usando lógica de programación
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Lic. Carla Aguirre Montalvo
Programación de Computadores
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Conceptos Generales Programación I Docente: Ing. Marleny Soria M.
Programación I Docente: Ing. Marleny Soria M..  Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
ALGORITMOS IBX12-68 ÚLTIMA CLASE.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
ELEMENTOS BÁSICOS DE PROGRAMACIÓN EN C# Mtro. José David Uc Salas
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
ALGORITMOS Y PROGRAMAS. OBJETIVOS  Resolver problemas mediante la especificación algorítmica.  Proporcionar los procedimientos y técnicas para el desarrollo.
Transcripción de la presentación:

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

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

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:

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:http://www.inf.utfsm.cl/~ccastro/IWI-131 Sito WEB con las clases:http://angelfire.lycos.com/linux/eotto/ Correo del profesor: eotto@inf.utfsm.cl 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.

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.

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.

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).

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.

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

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”

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

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.

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.

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: -1.001, 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”*);

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

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: 3.141516 por favor ingrese valor del radio: 2 Area del circulo: 12.566 Entrada salida Teclado

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)

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))

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.

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

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:

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 --- 40 - 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

Fin Clase 1