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.

Slides:



Advertisements
Presentaciones similares
Lenguaje C++.
Advertisements

Programación de Computadores
PROGRAMACION ESTRUCTURADA
PROF. ING. JULIO CESAR CANO RAMIREZ
Iteración La iteración permite modelar problemas en los cuales una secuencia de instrucciones debe ejecutarse varias veces. La cantidad de iteraciones.
Ejercicios de algoritmos y diagramas de flujo
Resolución de Problemas y Algoritmos Buffer - Read & Readln
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.
Objetos de un programa Datos: Se denomina dato a toda aquella información característica de una entidad y que es susceptible de tratamiento en un programa.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ESTRUCTURAS DE SECUENCIA
Curso Básico de Algoritmos
Una breve introducción
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.
El compilador usa una técnica llamada “unificación” que comprueba que en cualquier aplicación, los tipos coinciden con los tipos correspondientes de los.
ALGORITMOS Y ESTRUCTURA DE DATOS
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
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
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Lenguaje C.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
PRINCIPIOS DE PROGRAMACION ESTRUCTURADA
CARACTERÍSTICAS DE LOS PROGRAMAS
Tema 7. Introducción a lenguaje de programación Visual Basic (clase 1)
COMPUTACION 2009 Clase 2.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Introducción a la Programación Tema 2: Instrucciones y tipos de datos simples Ingeniería Técnica en Informática de Gestión Departamento de Ingeniería del.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
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
Resolución de Problemas y Algoritmos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca - Argentina.
COMPONENTES DE UN ALGORITMOS
Fórmulas y Funciones Básicas
Teoría – Alejandro Gonzalez
Elementos básicos del lenguaje
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
INTRODUCCION A LOS ALGORITMOS
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
PARCIAL DE JUNIO DEL 2014 LENGUAJE DE PROGRAMACIÓN UN LENGUAJE SE PUEDE DEFINIR COMO UN CONJUNTO DE PALABRAS Y FORMAS DE EXPRESIÓN POR MEDIO DE.
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
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
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 15/08/2006.
 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.
Computación I (CI-2125) Clase 2 Prof. Mireya Morales.
Sesión 4 Secuencias Básicas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
PRINCIPIOS DE PROGRAMACIÓN
Presente un cuestionario con los aspectos mas importantes sobre los
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
Lic. Carla Aguirre Montalvo
Programación de Computadores
Algoritmia y Programación
ACTIVIDADES FECHA: JULIO 6 AL 10 TEMA: FORMULAS Y FUNCIONES BÁSICAS EN LA HOJA DE CALCULO EXCEL PROPÓSITO: IDENTIFICAR LAS FORMULAS Y FUNCIONES BÁSICAS.
Para aplicaciones.   Una variable es un espacio de memoria en donde se almacenan datos 1. VARIABLES.
EL TIPO DE DATO LOGICO y constantes.
REGLAS PARA ELABORAR SEUDOCODIGOS Y DIAGRAMA DE FLUJO
Introducción Matemática Nivelatoria
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.
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:

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 hipotenusa; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); La solución la escribimos en el pizarrón readln(c1,c2); h:=sqrt(c1*c1+c2*c2); writeln('La hipotenusa es ',h:8:2);

Elementos de Pascal El programa está formado por una secuencia de cuatro instrucciones. La primera es una instrucción de salida, se invoca al procedimiento predefinido write para mostrar un cartel. La segunda es una instrucción de entrada, se invoca al procedimiento predefinido readln para leer un valor. La tercera es una instrucción de asignación, computa un valor y lo almacena. La cuarta es una instrucción de salida, se invoca al procedimiento predefinido writeln para mostrar un cartel y un valor.

Elementos de Pascal Identificadores Reservados program var begin end Identificadores Predefinidos real readln write sqrt Identificadores definidos por el programador Un programa es un algoritmo que puede ser interpretado y ejecutado por la computadora hipotenusa c1 c2 h Símbolos ; , : ´ := + * ( ) . 3

Elementos de Pascal program hipotenusa; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); h:=sqrt(c1*c1+c2*c2); writeln('La hipotenusa es ',h:8:2); Todo programa comienza por la palabra program seguido de un nombre. El signo ; es un separador de instrucciones.

Elementos de Pascal program hipotenusa; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); h:=sqrt(c1*c1+c2*c2); writeln('La hipotenusa es ',h:8:2); Todo programa va a incluir una o más variables. Cada variable tiene un nombre y un tipo. Las variables se declaran antes de usarse.

Elementos de Pascal program hipotenusa; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); h:=sqrt(c1*c1+c2*c2); writeln('La hipotenusa es ',h:8:2); La sección ejecutable de un programa se encierra siempre entre las palabras begin – end. y termina con el signo '.'

Elementos de Pascal sqrt(c1*c1+c2*c2) La expresión tiene un operador unario y un operando. El operador no es un símbolo sino un identificador predefinido por Pascal que permite evaluar la función raíz cuadrada. El operando es una expresión aritmética. El orden de evaluación será: Computar el producto c1*c1 (* es un operador binario). Computar el producto c2*c2 Computar la suma de productos (+ es un operador binario). Computar la raíz cuadrada de la suma.

Elementos de Pascal La instrucción de asignación: h:=sqrt(c1*c2+c2*c2); Computa la expresión sqrt(c1*c2+c2*c2) y luego se almacena el valor en la locación de memoria ligada a la variable h. El tipo de la expresión es compatible con el tipo de la variable h.

Elementos de Pascal program hipotenusa; var c1,c2,h : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); h:=sqrt( sqr(c1)+sqr(c2) ); writeln('La hipotenusa es ',h:8:2); En este caso los operandos de la suma son dos expresiones con un operador unario sqr.

Elementos de Pascal program hipotenusa; {Lee los catetos y calcula la hipotenusa } var c1,c2 : real; begin end. write('Escriba los valores de los catetos'); readln(c1,c2); writeln('La hipotenusa es ', sqrt( sqr(c1)+sqr(c2):8:2 ); La expresión puede computarse directamente en la instrucción de salida.

Elementos de Pascal Criterios de Calidad Legibilidad Nombres significativos Indentación Comentarios

Elementos de Pascal Calcular y mostrar el promedio de tres notas ingresadas por el usuario. program promedioNotas; {Lee tres notas y muestra el promedio} var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); read (n1,n2,n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end.

Elementos de Pascal El programa está formado por una secuencia de tres instrucciones. La primera es una instrucción de salida, se invoca al procedimiento predefinido write para mostrar un cartel. La segunda es una instrucción de entrada, se invoca al procedimiento predefinido readln para leer los valores de dos variables. La tercera es una instrucción de salida, se invoca al procedimiento predefinido writeln para mostrar un cartel y el valor de una expresión.

Elementos de Pascal Entrada 1

Elementos de Pascal Entrada 2

Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); read (n1); read (n2); read (n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end. ¿Cómo se ligan los valores considerando cada Entrada?

Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); readln (n1); readln (n2); readln (n3); writeln('Promedio ',(n1+n2+n3)/3:5:2); end. ¿Cómo se ligan los valores considerando cada Entrada?

Elementos de Pascal writeln('Promedio ',(n1+n2+n3)/3:5:2); 'Promedio ' es una constante literal (cartel) (n1+n2+n3)/3 es una expresión aritmética writeln('Promedio '); writeln(n1+n2+n3)/3:5:2); write('Promedio '); Writeln ((n1+n2+n3)/3:5:2); Pascal permite establecer el formato de la salida indicando la cantidad total de caracteres y de decimales.

Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; begin write ('Ingrese las tres notas'); readln (n1); readln (n2); readln (n3); writeln('Las notas son ',n1:3, n2:3, n3:3); writeln('Promedio =',(n1+n2+n3)/3:5:2); end.

Elementos de Pascal program promedioNotas; var n1,n2,n3 : integer; promedio: real; begin write ('Ingrese las tres notas'); readln (n1,n2,n3); promedio := (n1+n2+n3)/3; write (‘El promedio de ',n1:3, n2:3, n3:3); writeln(‘ es ',promedio:5:2); end. Es importante que nos acostumbremos a agregar carteles que nos permitan verificar la correctitud.

Elementos de Pascal Las variables n1 n2 y n3 son de tipo integer. Pueden tomar valores dentro de un conjunto finito de valores establecido por la constante predefinida maxint. El valor de maxint varía en cada compilador de Pascal. En nuestro caso maxint es 2147483647 de modo que el rango de los enteros es y -2147483647 y 2147483647. La expresión n1+n2+n3 computa un valor de tipo integer. Nuevamente el resultado de la suma debe estar dentro del conjunto de valores que establece el tipo. Mostramos un ejemplo en Lazarus imprimiendo Maxint y –Maxint y luego maxint + 1000 maxint*1000

Elementos de Pascal (n1+n2+n3) / 3 es una expresión aritmética cuyo operador es el signo /. Uno de los operandos es una expresión y otro una constante literal. El tipo del operador establece el tipo del resultado. En este caso / computa un resultado de tipo real, los operandos pueden ser de tipo integer, real o uno de cada tipo. La asignación promedio := (n1+n2+n3)/3 modifica el valor almacenado en la variable promedio, que debe declararse de tipo real.

Elementos de Pascal (n1+n2+n3) / 3 Las reglas de precedencia de Pascal establecen que primero se compute cada operando y luego el cociente. (n1+n2+n3) es una expresión aritmética formada por dos operadores y tres operandos. Como los dos operadores tienen la misma precedencia, se computa de izquierda a derecha.

Elementos de Pascal Como en Matemáticas, en Pascal los paréntesis permiten indicar el orden en el que se debe computar. El valor de la expresión: (n1+n2+n3)/3 Es diferente a: n1+n2+n3 / 3 Aunque en ambas aparecen tres operadores de suma y uno de cociente.

Elementos de Pascal Escribir un programa que a partir de una cantidad de segundos Seg provista por el usuario calcule la cantidad de horas, minutos y segundos a la que equivale Seg. Casos de prueba: 9917 286 Aunque el problema es simple, requiere mayor análisis que los anteriores. Una buena estrategia es considerar cómo lo resolveríamos sin la computadora, por ejemplo para los casos de prueba.

Elementos de Pascal La primera cuestión a considerar es que requiere computar división entera. La división entera permite, dado un dividendo y un divisor, obtener un cociente y un resto tales que el dividendo es igual al divisor por el cociente más el resto. En este caso, Seg, el dato de entrada, expresa una cantidad de segundos, convertimos este valor a horas computando división entera. ¿Cuál es el divisor?

Elementos de Pascal Consideremos que Seg es 9917. Si el dividendo es 9917 y el divisor es 3600, el cociente de la división entera es 2 y el resto 2717. ¿Qué representa el cociente? ¿Qué representa el resto? Así que 9917 es equivalente a 2 horas y 2717 segundas.

Elementos de Pascal 2717 segundos es un intervalo de tiempo menor a una hora. ¿Cómo convertimos este valor a minutos? Volvemos a usar división entera, el dividendo es 2717 y el divisor es 60. El cociente es 45 y el resto es 17. ¿Qué representa el cociente? ¿Qué representa el resto?

Elementos de Pascal Escribir un programa que a partir de una cantidad de segundos Seg provista por el usuario calcule la cantidad de horas, minutos y segundos a la que equivale Seg.

Elementos de Pascal program convertirSaHMS; var Seg,h,m,s : integer; begin write (‘Segundos = '); readln (Seg); h := Seg div 3600; s := Seg mod 3600; m := s div 60; s := s mod 60; writeln(h,’ horas ’, m,’ minutos ‘, s,’ segundos ‘); end.

Entrada y Salida Las instrucciones de entrada y salida permiten que el programa interactúe con dispositivos como el teclado, el monitor. Por el momento la entrada se referirá a caracteres ingresados por el usuario a través del teclado y la salida a caracteres que el programa muestra por pantalla. Pascal brinda procedimientos predefinidos para entrada: read y readln salida: write y writeln

Los procedimientos read y readln Los procedimientos read y readln permiten asociar a variables valores que han sido ingresados desde la consola por el usuario. La forma es read (lista de variables) readln (lista de variable) Cuando se ejecuta una instrucción read o readln el programa se suspend.e hasta que el usuario ingrese los valores para cada variable de la lista.

Los procedimientos read y readln Los procedimientos read y readln pueden provocar errores de diferentes tipos: Estáticos, por ejemplo read (3) ; Dinámicos, si el usuario tipea una letra y el programa espera un número.

Los procedimientos write y writeln Los procedimientos write y writeln permiten mostrar constantes y variables por consola. La forma es write (lista de constantes y expresiones) writeln (lista de constantes y expresiones)

Expresiones Una expresión está formada por operadores y operandos. Los operadores pueden ser identificadores o símbolos. Los operandos pueden ser constantes, variables o expresiones. Las expresiones en Pascal pueden ser aritméticas, lógicas o de carácter.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j)*C; n2 := i+j*C; write (‘n1 ',n1:8:2,’ n2 ‘,n2:8:2); end.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j) div C ; n2 := i+j div C; write (‘n1 ',n1:8:2,’ n2 ‘,n2:8:2); end.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := (i+j) / C ; n2 := i+j / C; write (‘n1 ',n1:8:2,’ n2 ‘,n2:8:2); end.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := trunc((i+j) / C) ; n2 := trunc(i+j / C); write (‘n1 ',n1:8:2,’ n2 ‘,n2:8:2); end.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; n1,n2 : integer; Begin i= 2; j:= 9; n1 := round((i+j) / C) ; n2 := round(i+j / C); write (‘n1 ',n1:8:2,’ n2 ‘,n2:8:2); end.

Expresiones aritméticas Program abc; Const C=3; Var i,j : integer; x1,x2 : real; Begin i= 2; j:= 9; x1 := (i+j)/C; x2 := i+j/C; write (‘x1 ',x1:8:2,’ x2 ‘,x2:8:2); end.

Expresiones aritméticas Operadores Aritméticos    +      Suma    -      Resta    *      Multiplicación    /      División real    div    División entera    mod    Módulo (resto de la división entera) Reglas de Precedencia    * / div mod       + -           

Expresiones aritméticas Algunos Identificadores predefinidos de Función Abs(x) valor absoluto de x Frac(x) parte decimal de x Int(x) número real con la parte entera de x Ln(x) logaritmo neperiano de x Odd(x) true si x es impar, y false si es par Round(x) entero más próximo al valor x Sqr(x) cuadrado de x Sqrt(x) raíz cuadrada de x, para x>=0 Trunc(x) parte entera de x

La instrucción de asignación La instrucción de asignación permite retener el valor computado por una expresión. Se computa la expresión a la derecha del signo := y el valor computado se almacena en la locación de memoria ligado a la variable que aparece a la izquierda. El tipo de la expresión tiene que se compatible con el tipo de la variable.

Muy importante Es muy importante que la lectura de estas diapositivas esté acompañada o seguida por el trabajo interactivo en el entorno de programación. La construcción de programas es una actividad creativa y aunque interpretar soluciones ya elaboradas puede mejorar nuestra habilidad para programar, es insuficiente. De modo que debemos leer las trasparencias, podemos ejecutar programas escritos por otros en el entorno de programación, pero sobre todo, debemos construir nuestras propias soluciones. 45