COMPUTACION 2009 Clase 2.

Slides:



Advertisements
Presentaciones similares
Programación de Computadores
Advertisements

PROF. ING. JULIO CESAR CANO RAMIREZ
UNIDAD II: ALGORITMOS Y LENGUAJES
Elementos de Pascal Escribir un programa en Pascal que lea los valores de los catetos de un triángulo rectángulo y calcule y muestre la hipotenusa. program.
Algoritmos & Estructuras de Datos
Resolución de Problemas Algoritmos y Programación
Metodología de la Programación
Técnico en programación de Software
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
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Teoría de lenguajes y compiladores
Introducción a la Programación
ESTRUCTURAS DE SECUENCIA
Curso Básico de Algoritmos
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.
ESCUELA: NOMBRES: LÓGICA DE LA PROGRAMACIÓN UNIDAD 2: Naturaleza de los Datos FECHA: Ing. Patricio Abad Espinoza OCTUBRE 2009 – FEBRERO Ciencias.
METODOLOGIA DE LA PROGRAMACION
Área Académica: Informática
Tema 6. Conceptos básicos de programación
ALGORITMIA.
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Fundamentos de Programación
Programación de Computadores
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Academia de Informática
PRINCIPIOS DE PROGRAMACION ESTRUCTURADA
CARACTERÍSTICAS DE LOS PROGRAMAS
FUNDAMENTOS DE PROGRAMACIÓN
Unidad III Elementos del lenguaje C++
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Agosto 2010Programación I - Tipo de Datos1 Programación I Prof. Adjunto: Lic. Jorge O. Scucimarri Universidad Nacional de Luján Licenciatura en Sistemas.
Programación en Pascal
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
ESTRUCTURA DE DATOS ESD-243
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
COMPUTACION 2009 C lase 4 Programa PASCAL SENTENCIAS DATOS Expresiones Tipos Declaración de variables Declaración de variables Asignación Entrada/Salida.
COMPONENTES DE UN ALGORITMOS
Teoría – Alejandro Gonzalez
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
VBA – Elementos del Lenguaje
ETAPAS PARA SOLUCIONAR UN PROBLEMA
Introducción a la Ingeniería de Sistemas
INTRODUCCION A LOS ALGORITMOS
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
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.
Elementos básicos para el desarrollo de algoritmos
Representación de Algoritmos
Algorit moAlgorit mo An á lisisAn á lisis Argumen toArgumen to Asignación Asociación Cometar ioCometar io Compilación Constan teConstan te Definición.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
UNIVERSIDAD TECNICA PERTICULAR DE LOJA
PRINCIPIOS DE PROGRAMACIÓN
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
Tipos de Datos.
Fundamentos de Programación
Lic. Carla Aguirre Montalvo
Programación de Computadores
EL TIPO DE DATO LOGICO y constantes.
REGLAS PARA ELABORAR SEUDOCODIGOS Y DIAGRAMA DE FLUJO
Algoritmos y Programación. Objetivos de Aprendizaje: Al finalizar esta unidad ud. debe estar en la capacidad de: Definir el propósito y el contenido de.
Unidad Temática II Algoritmia Elemental Operadores aritméticos: son símbolos que le indican al compilador la operación de cálculo a realizar entre los.
Equipo: Erika López Coyotecatl María José Cuazitl Popocatl CETis - Centro de Estudios Tecnológicos de Servicio Industrial y Servicio “Daniel Cabrera Rivera”
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Transcripción de la presentación:

COMPUTACION 2009 Clase 2

Computación - Fac. Ingeniería - UNMDP Temas de la clase 2 El paradigma de la programación estructurada Resolución de un problema usando un programa Pascal Datos string, enumerados y subrango Expresiones 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Programación estructurada La programación estructurada es un paradigma de programación (cuerpo teórico que sustenta un estilo de programación) donde se enfatiza el orden y agrupamiento de operaciones a realizar. Sus componentes son: Estructuras básicas de control Recursos abstractos Razonamiento top-down 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Estructuras básicas de control Secuencia: conjunto ordenado de instrucciones Decisión Repetición 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Recursos abstractos Consisten en concebir una acción compleja, no en términos de instrucciones de computadora, sino en términos de entidades naturales al mismo problema deducidas en una forma adecuada. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Razonamiento top-down (deducción de arriba hacia abajo Consisten en concebir una acción compleja, no en términos de instrucciones de computadora, sino en términos de entidades naturales al mismo problema deducidas en una forma adecuada. El razonamiento top-down acompaña a los recursos abstractos usados 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Recurso abstracto vs. razonamiento top-down Problema (enunciado general) 1er paso de su solución 2do paso de su solución Solución final Problema (acción no primitiva) 1er división en acciones no primitivas 2da división en acciones no primitivas y primitivas 3er división en acciones primitivas (algoritmo) 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Ejemplo Calcular el seno usando un polinomio de Taylor Acciones primitivas del procesador: ingresar datos, escribir datos, sumar, restar, multiplicar y dividir 4/11/2017 Computación - Fac. Ingeniería - UNMDP

2.1 Calcular los términos de la serie ALGORITMO SENO1 1.  Leer x 2.  Calcular p7(x) 3.  Escribir el resultado Acción no primitiva Acciones no primitivas derivadas ALGORITMO SENO2   1.  Leer x 2.1 Calcular los términos de la serie 2.2 Sumar algebraicamente los términos de la serie 3. Escribir el resultado

ALGORITMO SENO3 1. Leer x 2.1.1 a  x3/3! 2.1.2 bx5/5! 2.1.3 c  x7/7! 2.2 sen  x - a + b-c 3 Escribir sen Acciones no primitivas derivadas

ALGORITMO SENO4 1. Leer x 2.1.1.1 pot1  x*x*x 2.1.1.2 fact1  3*2 2.1.1.3 a  pot1/fact1 2.1.2.1 pot2  x*x*pot1 2.1.2.2    fact2  5*4*fact1 2.1.2.3    bpot2/fact2 2.1.3.1    pot3 x*x*pot2 2.1.3.2    fact3 7*6*fact2 2.1.3.3    cpot3/fact3 2.2 sen  x - a + b-c 3 Escribir sen Las acciones encontradas son primitivas. Puede facilmente llevarse a un programa Pascal

ALGORITMO SENO4 1. Leer x 2.1.1.1 pot1  x*x*x 2.1.1.2 fact1  3*2 2.1.1.3 a  pot1/fact1 2.1.2.1 pot2  x*x*pot1 2.1.2.2    fact2  5*4*fact1 2.1.2.3    bpot2/fact2 2.1.3.1    pot3 x*x*pot2 2.1.3.2    fact3 7*6*fact2 2.1.3.3    cpot3/fact3 2.2 sen  x - a + b-c 3 Escribir sen Las acciones encontradas son primitivas. Puede facilmente llevarse a un programa Pascal

Cómo resolver un problema con un sistema informático? (I) DEFINICION del problema (enunciado con especificaciones) ANALISIS Y DISEÑO de un método estructurado de solución: ALGORITMO CODIFICACION del algoritmo en un lenguaje de programación de alto nivel (como resultado se obtiene el PROGRAMA FUENTE). Ejemplo.pas 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Cómo resolver un problema con un sistema informático? (II) COMPILACION del programa fuente (como resultado se obtiene PROGRAMA OBJETO). EJECUCION a partir del programa objeto linkeditado se obtiene un archivo ejecutable (Ejemplo.exe). Ejecución + datos se obtienen los resultados. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Cómo resolver un problema con un sistema informático? (III) DEPURACION Eliminación y corrección de errores (debugger) DOCUMENTACION Interna: comentarios en el programa fuente. Externa: diagramas con el analisis de diseño, manuales, etc. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Ciclo de desarrollo de un PROGRAMA PASCAL Edición del programa fuente Almacenamiento de la edición Compilación del programa fuente. Se encontrarán errores SINTÁCTICOS. Ejecución del programa. Se encontrarán errores SEMÁNTICOS Visualización de los resultados Depuración y modificación. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

ERRORES en Programación Los errores sintácticos son los que se cometen cuando no se siguen exactamente las reglas de escritura de un lenguaje de programación. (SINTAXIS: define como se combinan los símbolos, constantes, identificadores y palabras reservadas) Los errores semánticos son los que se cometen cuando los resultados obtenidos no son los esperados como solución al problema planteado. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP PROGRAM Identificador (USES Identificador) LABEL Declaración de etiquetas CONST Definición de constantes TYPE Declaración de tipos VAR Declaración de variables PROCEDURE Declaración de procedimientos FUNCTION Declaración de funciones BEGIN Sentencias ejecutables END. Vamos a estudiar la sección de declaración de tipos de datos 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Uso de la sección TYPE: datos creados por el programador Para que PASCAL incorpore un nuevo tipo de datos le debemos dar un nombre en una declaración de tipo. La declaración del nuevo tipo debe hacerse en la sección TYPE. Notar que esta declaración es distinta a la declaración de variables. Una vez que se declaró el nuevo tipo de dato, se deben declarar las variables que pertenezcan a esos tipos en la sección VAR 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Tipo de dato creado por el programador: cadena o string El tipo string (palabra reservada) está formado por toda secuencia finita de caracteres (hasta 255) encerrada entre apóstrofos Estas secuencias de caracteres se llaman cadenas (o string) constantes. Ejemplos de constantes string: ‘Hoy es miercoles 18 de marzo del 2009’ ‘KAWASAKI’ 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Declaración del tipo cadena o string: sintaxis Type Identificador de tipo = string[n]; {n indica la cantidad de caracteres de la cadena } 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Tipo cadena o string: ejemplo1 Declaración del tipo de datos en TYPE Program ejemplo1_string; TYPE Marca_motos=string[10];{Hasta 10 caracteres} Facultades=string[25];{Hasta 25 caracteres} VAR Mi_moto:Marca_motos; Fac:Facultades; BEGIN Mi_moto:= ‘SUSUKI’; Readln(Fac); END. Declaración de variables usando el tipo declarado en TYPE 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Tipo cadena o string: ejemplo2 Observación: El tipo string (sin corchetes) indica una cadena de hasta 255 caracteres. Y Pascal lo tiene predefinido Program ejemplo1_string; TYPE Nombre=string[25]; VAR apellido:Nombre; Linea:string; BEGIN apellido:= ‘Garcia Martinez’; Linea:=‘Este es un ejemplo de string. Puede contener hasta 255 caracteres’; END. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos enumerados El tipo enumerado define un conjunto de valores definidos y ordenados por el programador(i.e. definidos por enumeración). Estos valores serán tomados por las variables de ese tipo Sintaxis: type Identificador de tipo=(const1,const2, ......,constn); 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos enumerados: ejemplo Program ejemplo_enumerado; TYPE dias_semana=(lunes,martes,miercoles,jueves, viernes,sabado,domingo); facultades=(ingenieria,exactas,arquitectura, economicas); VAR dias:dias_semana; fac1,fac2:facultades; BEGIN fac1:=ingenieria; dias:=lunes; END. La variable dias solo puede tomar como valor lunes,martes,miercoles,jueves,viernes,sabado, domingo 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos enumerados: observación Los identificadores de los valores no deben repetirse. El siguiente ejemplo es ilegal: Type dias_semana=(lunes,martes,miercoles,jueves, viernes,sabado,domingo); fin_semana=(sabado,domingo); sabado, domingo son valores ambigüos. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Ejemplo del uso incorrecto de tipos: TYPE dias_semana=(lunes,martes,miercoles,jueves,viernes,sabado, domingo); facultades=(ingenieria,exactas, arquitectura, economicas); VAR sem1:dias_semana; f1,f2: facultades; Altura:real; BEGIN sem1:=ingenieria;{error, tipo mezclado} f2:=jueves; {error, tipo mezclado} Altura:=martes; {error, tipo mezclado} READLN(sem1); {error,No se puede leer} OBSERVACION: los datos de tipo enumerado no pueden ser leidos o escritos. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos subrango El tipo de dato SUBRANGO es un subconjunto de un tipo asociado (que comprenden a los tipos agrupados como escalares: INTEGER, Enumerado, CHAR) Un tipo de dato puede definirse como un subintervalo de algún otro tipo escalar previamente definido, al que se llama su tipo escalar asociado. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos subrango La definición de un tipo por subrango indica simplemente el valor menor y mayor en el subrango, teniendo en cuenta que la cota inferior no puede ser mayor que la cota superior. No se permiten subrangos del tipo real. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos subrango Semánticamente, un tipo por subrango es una sustitución apropiada del tipo escalar asociado en todas las definiciones. Estas constantes deben ser distintas y del mismo tipo Sintaxis: TYPE Identificador de tipo=constante1..constante2; 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP TYPE Motos=(HONDA, SUSUKI, KAWASAKI, HARLEY_DAVIDSON); Motos_japonesas=HONDA..KAWASAKI; dias_semana=(lunes,martes,miercoles,jueves,viernes, sabado, domingo); Dias_laborables=lunes..viernes; {subrango de dias_semana} Siglo_XX=1901..2000;{subrango de integer} Minusculas='a'..'z'; {subrango de char} VAR D1,D2,D3:Dias_laborables; letra:Minusculas; Ejemplo 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Datos escalares u ordinales No es un tipo de dato. Se clasifican como datos escalares a aquellos tipos de datos cuyos valores posee un orden determinado (predefinidos o definidos por el programador) Todos los enteros Tipo char Tipo boolean Tipo enumerado Tipo subrango (de un tipo escalar 1, 2, o 4) 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Extendiendo el poder de constantes y variables: EXPRESIONES La combinación de valores constantes y variables unidos mediante operadores generan expresiones Amplían la manipulación de datos por parte del programador La característica fundamental de una expresión es la obtención de un valor luego de su cálculo. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

operando operador operando Formato de las expresiones Expresión binaria operando operador operando Ejemplo: A + B Expresión unaria operador operando Ejemplo: - A

TIPOS DE EXPRESIONES ARITMETICAS RELACIONALES LOGICAS CARACTER Recordar su uso en la asignación(para variable y expresión numérica): A:=34.6*5/(D+25);

Operandos de expresiones aritméticas * multiplica div divide y trunca {solo para enteros} mod a mod b=a-[(a div b)*b] {solo para enteros} + suma - resta / division (ambos operandos pueden ser enteros, pero el resultado es siempre real) 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Ejemplos de expresiones aritméticas El resultado de todas las expresiones es un único valor. 7 div 2 12/6.2 (7 div 2)+(12/6.2) (7 div 2)+(12/6.2) - A*2.1 beta * alfa / 16.87654 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones relacionales Las expresiones relacionales se usan para comparar expresiones, obteniéndose como resultado un valor booleano (true o false). Los operadores relacionales sirven para comparar dos valores por mayor, menor, igual , mayor o igual, menor o igual, o distinto. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Operadores relacionales = igual <> distinto > mayor < menor <= menor o igual >= mayor o igual 4.5>22.3 resultará siempre false 2.2=2.2 resultará siempre true A<=2.3 el resultado depende del valor de A (w+7.8)=(a/b-9) el resultado depende de los valores de w,a y b.

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas Las expresiones relacionales (con resultados booleanos, i.e., true o false) pueden combinarse mediante los operadores lógicos and(conjunción), or (disyunción) y not(negación). Esta combinación origina las expresiones lógicas (o expresiones booleanas). 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas Estas expresiones amplían las posibilidades para modelar predicados (o condiciones). Estos predicados serán evaluados para fijar el control de flujo de ejecución del programa. La importancia de las expresiones lógicas se verá con las sentencias ejecutables IF, WHILE y REPEAT. 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas: tablas de verdad Para evaluar las expresiones lógicas se usan las tablas de verdad. Si p y q son operandos lógicos (= expresiones relacionales) tenemos las siguientes tablas de verdad: p q p and q p or q not p true true true true false true false false true false false true false true true false false false false true 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas: ejemplos VAR a,b,z1,z2,z3,z4,sigue:boolean; Altura,peso,zz,c:real; {Ejemplos de expresiones logicas en asignaciones} sigue:=true; Z2:=a or b; Z3:=(peso>2) and Z2; Z1:=not sigue; Z4:=(Altura>=2)or((peso+2=c)and(zz/(5*c)>0)); Observación : Una constante y una variable se consideran expresiones (las mas elementales) 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas: reglas de precedencia Cuando armamos expresiones debemos tener en cuenta las siguientes reglas de precedencia a fin de colocar correctamente los paréntesis: Operador Prioridad Not 1 (la mas alta, se evalúa primero) *,/,div,mod,and 2 +,-,or 3 <,<=,=,<>,>=,< 4 (la mas baja, se evalúa al final) 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones lógicas: reglas de precedencia Operador Prioridad Not 1 (la mas alta, se evalúa primero) *,/,div,mod,and 2 +,-,or 3 <,<=,=,<>,>=,< 4 (la mas baja, se evalúa al final) (Altura>=2) or peso+2=c and not(zz/5*c >0) Se evalúa primero. No hay error porque el operando es una expresión relacional Cuando se evalúa and. Su operando derecho es correcto, pero el izquierdo es un valor real ( c )  tendremos error! 4/11/2017 Computación - Fac. Ingeniería - UNMDP

Computación - Fac. Ingeniería - UNMDP Expresiones caracter o cadenas El operador usado es "+" y sirve para concatenar (unir) caracteres y/o cadenas de caracteres. Ejemplo: 'o'+'s'+'o' quedará 'oso' 'oso'+' '+'blanco' quedará 'oso blanco' 4/11/2017 Computación - Fac. Ingeniería - UNMDP