algoritmia y programaciÓn peter emerson pinchao 1 tomado de las presentaciones la ing lucy garcia

Post on 25-Jan-2016

217 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ALGORITMIA Y PROGRAMACIÓNPeter Emerson Pinchao

1

Tomado de las presentaciones la Ing Lucy Garcia

Contenido• El pseudocódigo

• Imitación y versión abreviada de instrucciones reales para las computadoras.

• Elementos de un programa• Palabras reservadas, Identificadores, Constantes,

Variables, Expresiones, Instrucciones• Entrada y/o salida de información• Un ejemplo sencillo• Asignación

• Intercambio de variables• Ejemplos• Estructura de control: Secuencial

2

Algoritmos: Conceptos Básicos

• El pseudocódigo• Imitación y versión abreviada de instrucciones reales

para las computadoras.

• Elementos de un programa• Palabras reservadas• Identificadores• Constantes• Variables• Expresiones• Instrucciones

3

Identificadores

• Nombres de los objetos de un programa• Reglas:

• Letras (menos: ñ, Ñ, acentuadas y caracteres especiales)• Mayúsculas ≠ Minúsculas (case-sensitive). • El primer caracter debe ser una letra

• Dígitos numéricos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) • Símbolo de subrayado ( _ ) • NO permitido el conjunto de palabras reservadas del

lenguaje. En C, cuáles son esas palabras?

• SUGERENCIA: Nombres representativos

4

Ejercicio Identificadores

• nombre_empleado• area• 1texto• TAMANO_STRING• EdadEmpleado• while• potencia10• i

5

Distinga los identificadores inválidos. Porqué?

For nombre-

empleado iF Nombre Teléfono nombre While

Constantes

• Numéricas• Ejemplos: 123 123,45 12345

• Caracteres• Una serie de caracteres encerrados entre comillas• Ejemplos: “constante”, “Texto”, “texto”, “1”

• Lógicas• Verdadero• Falso

6

Variables

• Almacenar datos

7

Variables

• Almacenar datos• Nombres• Tipo de dato

• Numéricos• Enteros• Reales

• Cadena de Caracteres• Lógicos o Booleanos

8

Variables

• Deben ser declaradas previamente• Sintaxis de la Declaración

• Tipo de Dato• Lista de variables separadas por coma

• Ejemplos:• Caracteres: Nombre, Apellido• Entero: Nro_Estudiantes• Real: Valor_Hora, Salario, Descuentos

9

Entrada de Información

10

Instrucción Leer

Instrucción Leer

11

El valor ingresado por medio del dispositivo de entrada (generalmente el teclado) pasa a la variable (celdas de

memoria)

Instrucción Leer

• Restricción• El valor digitado debe concordar con el tipo de dato de la variable

12

Instrucción Leer

• Sintaxis

• Leer • lista de variables separadas por coma y entre paréntesis

• Ejemplos• Leer (X, Y, Z)• Leer (Nota1P, Nota2P, NotaEF)

13

Entrada de Información

• Analice la siguiente instrucción:

• Leer (12, “abc1”, Verdadero)

?

14

Salida de Información

• Instrucción Escribir

15

Instrucción Escribir

• Escribir (una o más expresiones separadas por coma)• Expresiones?

• Variables• Constantes• Expresiones aritméticas

• Cálculos

16

Salida de Información

• Ejemplo • Escribir (“Producto”, Producto)

• Escribir (“%IVA=”, 0.16)

• Escribir (“Valor IVA”, ValorProducto*0.16)

17

Salida de Información

• El programador es responsable del formato de salida de la información

18

Salida de Información

19

5 3 2 4 3,5 3,5

La nota del 1er Parcial fue: 5.0

La nota del 2° Parcial fue: 3.0

La nota del Examen Final fue: 2.0

La nota de Laboratorios fue: 4.0

La Nota de Quices fue: 3,5

LA NOTA FINAL ES: 3,5

Instrucción Escribir

Escriba (parcial1, parcial2, final, lab, quiz, nota_final)

20

5 3 2 4 3,5 3,5

Instrucción Escribir

Escriba (“La nota del 1er Parcial fue:”, parcial1)Escriba (“La nota del 2° Parcial fue:”, parcial2) Escriba (“La nota del Examen Final fue:”, final) Escriba (“La nota de Laboratorios fue:”, lab) Escriba (“La nota de Quices fue:”, quiz) Escriba (“LA NOTA FINAL ES:”, nota_final)

21

La nota del 1er Parcial fue: 5.0

La nota del 2° Parcial fue: 3.0

La nota del Examen Final fue: 2.0

La nota de Laboratorios fue: 4.0

La Nota de Quices fue: 3,5

LA NOTA FINAL ES: 3,5

Ejemplo

• Hacer un algoritmo que lea y muestre el nombre de un estudiante

22

Ejemplo

Algoritmo Leer_Escribir

Caracteres: Nombre

Inicio

Lea (Nombre)

Escriba (Nombre)

Fin

Fin Algoritmo

23

Ejemplo

Algoritmo Leer_Escribir

Cadena: Nombre

Inicio

Lea (Nombre)

Escriba (Nombre)

Fin

Fin Algoritmo

24

Nombre del algoritmo

Declaración de variables

Inicio de las instrucciones

Fin de las instrucciones

Problemas?• Mejore el anterior algoritmo, de manera que tanto la

entrada como la salida sean lo más clara posible para el usuario.

25

Ejemplo

Algoritmo Leer_Escribir

Cadena: Nombre

Inicio

Escriba (“Ingrese el nombre del estudiante”)

Lea (Nombre)

Escriba (“El nombre ingresado fue ”, Nombre)

Fin

Fin Algoritmo

26

Expresiones Aritméticas • Operadores binarios

• +   Suma• -   Resta• *   Multiplicación• /   División• %   Módulo (sólo sobre tipo entero)

• Operadores unitarios:• -   Signo negativo• ++  Incremento• --  Decremento

• Consultar: reglas de precedencia

27

Expresiones Aritméticas

Operador Significado Tipo de OperandosTipo de Resultados

^,** Exponenciación Entero o real Entero o real

+ Suma Entero o real Entero o real

- Resta Entero o real Entero o real

* Multiplicación Entero o real Entero o real

/ División Real Real

Div División entera Entero Entero

Mod Modulo (rest) Entero Entero

28

Reglas de prioridad o precedencia

• Primero lo que está entre paréntesis • Si existen paréntesis anidados las expresiones más internas se evalúan primero.

• Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad:• Operador exponencial (^, , o bien **)• Operadores *, /• Operadores +, -• Operadores div y mod

•  

29

Ejemplos de Expresiones

30

Ejemplos de Expresiones

31

Ejemplos de Expresiones

32

¿?

Expresiones Lógicas • Operadores binarios:

• &&   AND (conjunción)• ||   OR (disyunción)

• Operadores unitarios• !    NOT lógico 

• Operadores relacionales o de comparación• Comparan dos expresiones devolviendo como resultado un valor booleano• ==   igual• !=   distinto• <    menor• <=   menor o igual• >    mayor• >=   mayor o igual

• Consultar: reglas de precedencia

33

Operador de Asignación

• • Almacena datos en las variables• Es un operador binario

• primer operando (lado izquierdo): variable• El segundo operando (el del lado derecho)

• Variable• Constante• Expresión en general.

34

Asignación de variables

• Sintaxis• <variable> <expresión>

35

Asignación de variables• Restricciones

• La expresión debe ser del mismo tipo de la variable

36

?

Asignación de variables

• Ejemplos

• X 1 X es una variable numérica

• Y ”abc” Y es una variable alfanumérica

• Y “123”

• Y “a1*+b2#&(c3%$”

• Z verdadero Z es una variable lógica

37

Errores

X “ 1 ”

Y 1 + 2

Z ”verdadero”

38

Errores

x + y + z variable

39

5 variable

Variables: Asignación

• X es una variable numérica entera• En X se guarda el número 10

X 10• Es correcta la siguiente instrucción?

X 10 * X

40

Variables: Asignación

• X es una variable numérica entera

X 10

• Con qué valor quedaría la variable X después de ejecutar la siguiente instrucción?

X 10 * X

41

Intercambio del contenido de dos variables

42

Intercambio del contenido de dos variables

aux var1 { El valor inicial de var1 se guarda en aux }

var1 var2 { El contenido de var2 se pasa a var1 }

var2 aux { El contenido de aux se pasa a var2 }

43

Ejercicio en clase: Hacer el algoritmo

Ejercicio en Clase

• Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.

44

Ejercicio en Clase

• Diseñar un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media aritmética.• Pasos

• Nombre algoritmo• Variables: Cuántas? Cuáles? Tipo?

• Declarar variables

• Instrucciones del Algoritmo• Inicio

• Leer • Calcular• Mostrar

• Fin

45

Ejercicio en Clase

Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio

leer (a, b, c, d) producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (producto, suma, media)

finFin-Algoritmo

46

Ejercicio• Mejorar el formato de salida del anterior algoritmo.

47

Ejercicio en Clase

Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio

escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d)

producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto)

escribir (“la suma es: ”, suma) escribir (“la media es: ”, media) finFin-Algoritmo

48

Ejercicio en Clase

Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio

escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d)

producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto, “la suma es: ”,

suma, “la media es: ”, media) finFin-Algoritmo

49

Estructuras de Control: Secuencial

Algoritmo Prueba Entero: a, b, c, d, producto, suma Real: media inicio

escribir (“Por favor ingrese los cuatro datos”) leer (a, b, c, d)

producto <-- (a * b * c * d) suma <-- (a + b + c + d) media <-- suma / 4 escribir (“El producto es: ”, producto, “la suma es: ”,

suma, “la media es: ”, media) finFin-Algoritmo

50

Ejercicio

• Diseñar un algoritmo que calcule la definitiva de esta asignatura (ver la sección evaluación en el programa del curso).

51

Ejercicio

• Diseñar un algoritmo que calcule la definitiva de esta asignatura (ver la sección evaluación en el programa del curso).

• Descomponer el problema• Tarea: Generalizar el algoritmo para notas con diferentes

porcentajes

52

Solución del Ejercicio

• Tareas1. Leer el nombre del estudiante

2. Pedir al usuario que ingrese cada una de las notas

3. Leer cada una de las notas

4. Calcular la nota final: sumar las notas y dividir entre 5

5. Mostrar el resultado

53

Ejercicio

• Variables

• Una variable para identificar al estudiante• Una variable para cada nota

• 1er Parcial • 2º Parcial• Laboratorios• Quices• Examen Final

• Una variable para guardar el resultado

54

Solución del Ejercicio

DECLARACIÓN DE VARIABLES

real: parcial1, parcial2, final, quiz, lab, nota_final

caracteres: nombre

55

Algoritmo: Solución del Ejercicio (1)

algoritmo Calculo_Nota real: parcial1, parcial2, final, quiz, lab, nota_final caracteres: nombre

Inicio escribir (“Ingrese el nombre del estudiante”) //TAREA #1 leer (nombre) escribir (“Digite las notas así: bla bla bla …”) //TAREA #2 leer (parcial1, parcial2, final, quiz, lab) //TAREA #3

… fin

56

Algoritmo: Solución del Ejercicio (2)

algoritmo Calculo_Nota

real: parcial1, parcial2, final, quiz, lab, nota_final

caracteres: nombre

Inicio

escribir (“Ingrese el nombre del estudiante”)

leer (nombre)

escribir (“Digite las notas”)

leer (parcial1, parcial2, final, quiz, lab)

nota_final (parcial1 + parcial2 + final + quiz + lab)/5

escribir (“la nota definitiva de:”, nombre, “es:”, nota_final)

fin

57

Ejercicios1. Transforme una temperatura de °C a °F ( T°F = T°C * 1.8 + 32 ).2. Obtener el área de un rectángulo de lados conocidos a y b menos el área

de una circunferencia completamente contenida en él de diámetro d.3. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus

ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.

4. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.

5. Tres personas deciden invertir su dinero para fundar una empresa. Cada una de ellas invierte una cantidad distinta. Las ganancias de la empresa serán repartidas entre los fundadores de acuerdo a la proporción invertida por cada uno. Obtener el porcentaje de ganancias que le corresponde a cada uno.

58

Ejercicios: Lógica de Programación (E. Oviedo)

Hacer un algoritmo que:

1. Calcule los meses transcurridos entre enero de 2009 y enero 1964.

2. Generalizar el anterior ejercicio para cualquier subrango de años.

3. Calcule el área y el perímetro de un rectángulo cuyos lados son conocidos

59

Ejercicios: Lógica de Programación (E. Oviedo)

Hacer un algoritmo que:

4. Calcule la edad de los miembros de una familia: La mamá tiene tres hijos y se conoce la edad de uno de ellos Juan. José 2/3 de la edad de Juan. Ana Tiene 4/3 de la edad de Juan. Y la edad de la mamá es la suma de la edad de los tres hijos.

60

Ejercicios: Lógica de Programación (E. Oviedo)

5. Hacer la prueba de escritorio:Inicio

suma 0x 20suma suma + xy 40 x x+y**2suma suma + x/yEscriba (“el valor de la suma es”, suma)

Fin

61

Ejercicios: Lógica de Programación (E. Oviedo)

6. Escriba las siguientes expresiones algebraicas como expresiones algorítmicas

X2 +4YZ

62

Pendiente

•Repasar aplicaciones de los porcentajes• Comisión • Descuentos • Aumento • Precio con Impuesto a las ventas • Interés simple • Interés simple y principal

63

top related