65
Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Embed Size (px)

Citation preview

Page 1: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

1

Introducción a la programación

Page 2: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

2

Introducción a la programación

• Los programas son escritos por programadores, es decir, seres humanos que le dicen al computador, paso a paso, exáctamente qué es lo que quieren que haga.

• La programación tiene un poco de ciencia y poco de arte, de ahí que varios programadores pueden hacer la misma tarea de diferentes formas.

• A pesar de ello, hay un número claramente identificable de pasos que siempre están involucrados en el proceso de desarrollo de programas.

Page 3: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

3

Ciclo de vida del software

• Pasos involucrados en el desarrollo de programas:– Definir el problema– Planear la solución– Construir la solución

• Codificar• Depurar• Probar

– Mantener la solución

Page 4: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

4

Definir el problema

• Identificar claramente– ¿Qué es lo que se quiere hacer?– ¿Cuáles son los objetivos a alcanzar?

• A esta actividad también se le conoce como análisis

Page 5: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

5

Planear la solución

• Aquí ya se sabe lo que se quiere hacer, pero hay que planear cómo hacerlo.

• Se requiere un plan detallado, con todas las especificaciones que guiarán los pasos siguientes.

• También se le llama Etapa de Diseño, dividida en:– Diseño Global– Diseño Detallado

• El producto final es una descripción detallada de los pasos a llevar a cabo; este conjunto de pasos se conoce como algoritmo.

Page 6: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

6

Construir la solución

• Aquí se convierte el plan en un programa computacional, con los siguientes pasos:– Codificar: traducir los algoritmos a un lenguaje de

programación

– Depurar: consiste en localizar y remover los errores que pueda contener el programa codificado.

– Probar: Se pone a prueba el programa, para ver si realmente hace lo que se quiere. Es decir, se comparan los resultados que éste arroja con los que debiera arrojar.

Page 7: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

7

Mantener la solución

• Como todo producto, un programa (o sistema) debe ser mantenido, adaptándolo a cambios del medio ambiente o agregándole nuevas capacidades que antes no tenía.

• Este conjunto de pasos permite producir programas de manera más o menos eficiente. Puede requerirse volver a alguno de los pasos anteriores en caso de errores o cambios de diseño.

Page 8: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

8

Algoritmos

• Es un conjunto finito de pasos (instrucciones) bien definidos, dispuestos en una secuencia tal que lleve a la solución de un problema específico.

• Algunos ejemplos de algoritmos son: recetas de cocina, etiquetas de envases, direcciones de amigos, mapas de ruta, etc.

Page 9: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

9

Algoritmos

• Ejemplo: Instrucciones de uso del champú en la etiqueta.– Humedezca el cabello– Aplique el champú– Frote hasta obtener abundante espuma– Enjuague– Repita

Page 10: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

10

Algoritmos

• El nivel en que presentamos un algoritmo depende de la audiencia.

• Las indicaciones de un algoritmo incluyen sentido común. Una interpretación literal del ejemplo anterior haría repetir el lavado de pelo continuamente hasta que se acabe la botella.

• Lo que en realidad quiere expresar es que “REPITA si es necesario”.

Page 11: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

11

• Los computadores interpretan sus instrucciones muy literalmente. Por esto se debe indicar los pasos en forma detallada, aún cuando un paso sea muy obvio.

• Un algoritmo es una idea abstracta, independiente de cualquier máquina que pueda ejecutarlo.

• Un programa de computador es una implementación de un algoritmo en un lenguaje de programación particular.

Page 12: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

12

Carcaterísticas de un algoritmo

• Debe realizar el proceso requerido• Ser completo, es decir, entregar los resultados en

todas las circunstancias• Ser preciso, no debe tener resultados ambiguos• Correcto• La solución debe entregarse en un número finito

de pasos• Simple y claro.

Page 13: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

13

Algoritmo del lavado de pelo

1. Humedezca el cabello

2. Aplique el champú

3. Frote hasta obtener espuma

4. Enjuague

5. Si es necesario, Ir al paso 2. Sino Ir al paso 6

6. Termine.

Page 14: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

14

• Problema:

• Tenemos datos de niños recién nacidos, entre ellos: sexo, peso, estatura y día de nacimiento. Se pide determinar el total de varones con un peso superior a 3900 kg; indicar el total de damas con una estatura mayor que 50 cm.

Page 15: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

15

• Solución:1. Tomar tarjeta2. ¿Es sexo masculino?

Si: ir a 3No: Ir a 6

3. ¿Es peso > 3900 gr.?Si: ir a 4No: ir a 8

4. Contabilizar hombre5. Ir a 86. ¿Es estatura > 50 cm?

Si: Ir a 7No: Ir a 8

7. Contabilizar mujer8. ¿Hay más fichas?

Si: Ir a 1No: Ir a 9

9. Resultados10. Fin.

Page 16: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

16

Algoritmos

• Ejercicio 1:

• Transformar una cantidad en pesos chilenos en su equivalente en dólares.

Page 17: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

17

• Ejercicio 2:

• La densidad del hombre en Kg. por litro es 0.97. El volumen de la persona se calcula con la fórmula

Volumen =peso/0.97

Haga un algoritmo que lea el peso de una persona y calcule su volumen.

Page 18: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

18

Algoritmos

• Ejemplo: Calcular las raíces de una ecuación de segundo grado ax2+bx+c=0

• Dados los valores de a,b y c => encuentre x1 y x2

• Para resolver este problema se debe seguir los siguientes pasos:

Page 19: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

19

Algoritmos– Inicio– Leer los coeficientes a, b y c.– Si a=0 la ecuación lineal, entonces se debe

calcular y escribir un aviso.– Sino, es cuadrática por lo tanto se debe calcular

las raíces con los siguientes pasos:– Calcular el discriminante (b2 - 4ac)

Page 20: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

20

Algoritmos

– Si el discriminante es negativo entonces las raíces son imaginarias, por lo tanto se debe escribir un mensaje indicándolo.

– Sino, si el discriminante es 0, entonces existe una única solución real, la cual se debe escribir.

– Sino (discriminante positivo), las raíces son reales, entonces calcular x1 y x2 según la fórmula.

– Escribir el valor de x1 y x2– Terminar.

Page 21: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

21

Diagramas de flujo

• Representación Gráfica de la lógica de un programa.

• Esta definido por un conjunto de símbolos, los cuales están conectados mediante flechas que indican el flujo de los datos.

Page 22: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

22

SIMBOLO NOMBRE SIGNIFICADO

PROCESOLleva a cabo una acción. Por ejemplo,sumar dos números y almacenar elresultado en otra variable.

DECISIONSe evalúa una condición, y, según elresultado (Verdadero o Falso), se tomauno de los caminos alternativos dados acontinuación.

ENTRADA/SALIDA

Ejecuta una operación de Entrada/Salida, entre el programa y undispositivo cualquiera.

INICIO/TERMINO

Indica el inicio o término del programa

CONECTORDE FLUJO

Permite conectar dos líneas de flujo enuna sola.

INVOCACIÓNA SUBRUTINA

Transfiere el control a una subrutina,esta es ejecutada, y luego el control esdevuelto al módulo que la invocó.

FLUJO Indica la dirección del flujo.

ACCION

CONDICIÓN

OPERACION

NOMBRESUBRUTINA

Page 23: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

23

• Con estos elementos se puede identificar:

– Qué pasos se llevan a cabo (Símbolos)

– En qué orden se ejecutan (Líneas)

Page 24: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

24

• La construcción de los diagramas se realiza utilizando los elementos antes descrito y dependerá de lo que se quiera implementar, la manera de dibujar dichos elementos, es decir se puede construir:

• secuencias• selección• iteración

Page 25: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

25

Acción 2

Acción 1

Acción 3

SECUENCIA

Page 26: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

26

Escribir ‘Ingrese un entero:’

Leer(num)

Escribe a la pantalla

Lee un valor desde el teclado

ENTRADA/SALIDA

num num+1

Page 27: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

27

acción F

condic.

acción V

FALSO VERDADERO

...

Selector

acción nacción 1 acción 2

valor nvalor 1 valor 2

SELECCION

Page 28: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

28

condic.

acción V

F

V

condic.

acción

V F

Iteración

Page 29: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

29

Condiciones

a) SI condición ENTONCES acción

FIN_SI

b) SI condición ENTONCES acción1

SINO acción2

FIN_SI

acción F

condic.

acción V

FALSO VERDADERO

Page 30: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

30

FALSO

edad>18

VERDADERO

‘Mayor’‘Menor’

SI edad>18 ENTONCES ESCRIBIR(‘Mayor’)SINO ESCRIBIR(‘Menor’)FIN_SI

Page 31: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

31

condic.

acción

V F

a) REPITA-HASTA

HACER

acción1

acción2

...

acciónN

MIENTRSA condición

Page 32: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

32

b) MIENTRAS-HACER

MIENTRAS condición HACER

acción1

acción2

...

acciónN

FIN_MIENTRAS

condic.

acción V

F

V

Page 33: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

33

Diagramas de N-S• Diagramas de Nassi - Schneiderman• Compuesto no por líneas si no por cajones uno

sobre el otro, que indican la secuencia de acciones a realizar.

• Al igual que los diagramas de flujo, es posible representar 3 acciones:

• secuencia• selección• iteración

Page 34: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

34

acción 1

acción 2

acción n

.

.

.

Secuencia

Page 35: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

35

condiciónS N

acción 1 acción 2

...valor 1 valor 2 valor n

acc 1 acc 2 acc n ...

Selector

SELECCION

Page 36: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

36

condición

acción

condición

acción

ITERACION

Page 37: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

37

Pseudolenguaje

Page 38: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

38

Pseudolenguaje

• Para escribir algoritmos de computador es conveniente usar pseudolenguaje o pseudocódigo, el cual posee sentencias precisas, tales como:– LEER

– ESCRIBIR

– SI-ENTONCES-SINO

– MIENTRAS-HACER

– REPITA-HASTA

– etc.

Page 39: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

39

Pseudolenguaje

1.- Estructura de un algoritmo en pseudolenguaje:

ALGORITMO nombre_algoritmoDECLARO

CONSTANTE nombre_const=valorVARIABLE nombre_valor: tipo_de_dato

INICIO <cuerpo del algoritmo>

FIN

Page 40: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

40

Pseudolenguaje2.- Acciones en cuerpo del algoritmo

• De entradaLEER (variable)

LEER (var1, var2, var3)

Lee desde el teclado

Escribe en la pantalla

• De salidaESCRIBIR(variable)ESCRIBIR(var1,var2,var3)ESCRIBIR(‘El resultado es’, var)

• De asignación: asocia un valor a una variablevariable valor

Page 41: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

41

Pseudolenguaje3.- Condiciones

a) SI condición ENTONCES acción

FIN_SI

b) SI condición ENTONCES acción1

SINO acción2

FIN_SI

c) SI condición ENTONCES INICIO

Acción1Acción2...AcciónN

FIN SINO INICIO

Acción1Acción2...AcciónN

FINFIN_SI

Page 42: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

42

Pseudolenguaje

a) HACER-MIENTRAS

HACER

acción1

acción2

...

acciónN

MIENTRAS condición

b) MIENTRAS-HACER

MIENTRAS condición HACER

acción1

acción2

...

acciónN

FIN_MIENTRAS

4.- Iteraciones

Page 43: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

43

Pseudolenguaje

INICIOESCRIBIR(‘Ingrese su edad:’)LEER(edad)SI edad>18 ENTONCES

ESCRIBIR(‘Es mayor de edad’)SINO

ESCRIBIR(‘Es menor de edad’)FIN_SI

FIN

Uso del SI-ENTONCES.Ejemplo 1: Hacer un algoritmo en pseudocódigo que indique si una persona es mayor o menor de edad.

Page 44: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

44

INICIOESCRIBIR(‘Ingrese un número:’)LEER(num)SI num>0 ENTOCES

ESCRIBIR(‘Es positivo’)SINO

SI num<0 ENTONCESESCRIBIR(‘Es negativo’)

SINOESCRIBIR(‘Es el neutro’)

FIN_SIFIN_SI

FIN

Ejemplo 2: Hacer un algoritmo que lea un número e indique si es positivo o negativo

Page 45: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

45

INICIO

LEER (a,b,c)

SI a=0 ENTONCES

ESCRIBIR( “Ecuación lineal, el resultado es:”, -c/b)

SINO

discriminante (b2 - 4ac).

SI discriminante < 0 ENTONCESESCRIBIR( “Las raíces son imaginarias”)

SINOSI discriminante = 0 ENTONCES

ESCRIBIR( “existe única raíz:” -b/(2*a))

SINO x1 (-b +SQRT(discriminante))/(2*a))

x2 (-b – SQRT(discriminante))/(2*a))

ESCRIBIR(“las raices son:” x1, x2) FIN_SIFIN_SI

FIN_SIFIN

Ejemplo 3: cálculo de la ecuación de 2do. grado

Page 46: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

46

PseudolenguajeUso de REPITA-HASTA

• Ejemplo 1: Haga un algoritmo que lea repetitivamente números enteros y termine cuando se ingrese el 0.

INICIOHACER

LEER(num)MIENTRAS (num<>0)

FIN

Page 47: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

47

PseudolenguajeUso de un contadorEjemplo 2: Haga una algoritmo que lea 10 números enteros y escriba en

pantalla los positivos.

INICIOi0HACERii+1LEER(num)SI num>0 ENTONCESESCRIBIR (num)FIN_SI

MIENTRAS (i<10)FIN

Page 48: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

48

Ejemplo 3: Haga un algoritmo que lea números enteros e indique cuántos positivos se ingresaron. El programa debe terminar cuando se haya ingresado 10 números positivos o cuando se haya ingresado el 0.

INICIOcont 0HACER

LEER(a)SI a>0 ENTONCEScont cont+1FIN_SI

MIENTRAS (a <> 0 AND cont <> 10)FIN

El y lógico en pseudolenguaje es

AND

Page 49: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

49

Tipos de DatosAritméticos

ENTERO : conjunto de números enterosREAL : conjunto de números reales

LógicosBOOLEANO : puede tener dos valores:

Verdadero o FalsoTexto

CARACTER : Letras: A-Z, a-zdígito: 0-9signo:’+’,’-’,’_’, etc.

STRING : Secuencia de caracteres

Page 50: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

50

• Ejemplo 1:

ALGORITMO define_edadDECLARO

edad: ENTEROINICIO

ESCRIBIR(‘Ingrese su edad:’)LEER(edad)SI edad>18 ENTONCES

ESCRIBIR(‘Es mayor de edad’)SINO

ESCRIBIR(‘Es menor de edad’)FIN_SI

FIN

Page 51: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

51

Ejemplo 2: Cálculo del perímetro de una circunferencia

ALGORITMO perimetro_cincunfDECLARO

CONSTANTE pi=3.1415VARIABLE radio,perim: real

INICIOESCRIBIR(‘ingrese el radio de la circunferencia:’)LEER(radio)perim 2 * pi * radioESCRIBIR(‘El perímetro es:’, perim)

FIN

Page 52: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

52

Ejemplo 3: Haga un algoritmo en pseudocódigo que lea nombre, edad y sexo de una persona. Si es hombre mayor de 45 años recibe un bono de $10000 pesos, si es mujer mayor de 35 recibe un bono de $20000.

ALGORITMO bonoDECLARO VARIABLES

nombre : STRINGedad : ENTEROsexo : CARACTERbono : REAL

Page 53: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

53

INICIObono 0LEER(nombre, edad, sexo)SI edad>45 AND sexo=‘M’ ENTONCES

bono10000SINO

SI edad>35 AND sexo=‘F’ ENTONCESbono 20000FIN_SI

FIN_SIESCRIBIR(nombre, ‘recibe: $’, bono)

FIN

Page 54: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

54

OperadoresAritméticos

Símbolo Significado Operandos Resultado

+ Adición enteros,reales Entero, real

- Sustracción Enteros, reales Entero, real

* multiplicación Enteros, reales Entero, real

/ división Enteros, reales Cuociente real

DIV división enteros Cuociente de la división entera

MOD división enteros Resto de la división entera

Page 55: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

55

Operadores

Símbolo Significado Operandos Resultado

= Igualdad

aritmético lógico<> Desigualdad

< Menor que

<= Menor o igual que

> Mayor que

>= Mayor o igual que

Relacionales

Page 56: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

56

Operadores

Símbolo Significado Operandos Resultado

AND ‘y’ lógico

lógicos lógicoOR ‘o’ lógico

NOT negación

Lógicos ( o booleanos)

Page 57: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

57

Tablas de verdadV AND V V

V F F

F V F

F F F

V OR V V

V F V

F V V

F F F

NOT V F

F V

Page 58: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

58

Precedencia

NOT 1 (mayor)

* / div mod AND 2

+ - OR 3

= <> > >= < <= 4

Ejemplo:1. 4+ 5*8 Primero se desarrolla el producto (5*8),

porque * tiene mayor precedencia que +.2. a/b/c Se interpreta como (a/b)/c. Cuando los

operadores tienen la misma precedencia se desarrolla de izquierda a derecha.

Page 59: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

59

Ejemplo: Un algoritmo tiene las siguientes declaraciones

DECLAROa, b, c : ENTEROx,y : REALs : STRINGletra : CARACTERsigo : BOOLEANO

Diga se las siguientes instrucciones son correctas o falsas:1.- c x*y FALSA2.- c a/b FALSA3.- sigo ‘FALSO’ FALSA4.- letra ’3’ VERDADERA5.- a x MOD b FALSA

Page 60: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

60

EjercicosEvaluar las siguientes expresiones aritméticas:1. 2 * 3 + 4 * 52. 15 DIV 4 * 43. 15 DIV ( 4 * 4 )4. 8 MOD 3 DIV 25. 2 + 3 * 4 - 56. 80 / 5 / 37. 4 / 2 * 38. -x + y / z = (-x) + (y / z)9. (8 + 7 >= 15) AND (4 < 5) OR (3 < 2 + 4)10. x <= y OR y > x

Page 61: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

61

Ejercicios

• Se tienen 3 variables booleanas a, b y ca Falsob Verdaderoc Verdadero

• Determine el valor de b para las siguientes asignaciones

1. b (a<>c) OR (a>=c)2. b a OR NOT b OR c3. b (a<b) AND (c OR a)

Page 62: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

62

Programación

• Programación Modular– Existe complejidad en los problemas que se

manejan comúnmente, por lo tanto se usa la sentencia… “Dividir para Vencer”, es decir dividir el problemas en subproblemas mas simples de enfrentar, para hacer esto existe la programación modular.

– Exige uso de abstracción.

Page 63: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

63

Programación

Page 64: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

64

Sea un curso de 30 alumnos con 4 notas semestrales (25%c/u), de las cuales tres son certámenes y una tarea. Paratomar en cuenta las tareas, el alumno deberá tener a lomenos un 4.5 de promedio en los certámenes. Además, lanota de la tarea podrá exceder en, a lo más, 1.5 puntos alpromedio de los certámenes para ser considerada. Se pidecalcular el promedio semestral de cada alumno y del cursocompleto. Además, se quiere saber el nombre y elpromedio del alumno de mejor y peor rendimiento. Paracada alumno se tienen los siguientes datos:

EJEMPLO

Page 65: Departamento de Computación Instituto de Matemáticas y Física. Universidad de Valparaíso 1 Introducción a la programación

Departamento de ComputaciónInstituto de Matemáticas y Física.

Universidad de Valparaíso

65

NombreCertamen 1Certamen 2Certamen 3Tarea

INICIALIZAR variablesPARA cada alumnoHACER

LEER datos alumnoCALCULAR promedio alumnoDETERMINAR situación académica del alumnoSUMAR promedio alumnoDETERMINAR si es el mejor o peor promedio

CALCULAR y ESCRIBIR resultados