La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmia y Programación

Presentaciones similares


Presentación del tema: "Algoritmia y Programación"— Transcripción de la presentación:

1 Algoritmia y Programación
Peter Emerson Pinchao Tomado de las presentaciones la Ing Lucy Garcia

2 Contenido El pseudocódigo Elementos de un programa
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

3 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

4 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

5 Ejercicio Identificadores
Distinga los identificadores inválidos. Porqué? nombre_empleado area 1texto TAMANO_STRING EdadEmpleado while potencia10 i For nombre-empleado iF Nombre Teléfono nombre While

6 Constantes Numéricas Caracteres Lógicas Ejemplos: 123 123,45 12345
Una serie de caracteres encerrados entre comillas Ejemplos: “constante”, “Texto”, “texto”, “1” Lógicas Verdadero Falso

7 Variables Almacenar datos

8 Variables Almacenar datos Nombres Tipo de dato Numéricos
Enteros Reales Cadena de Caracteres Lógicos o Booleanos

9 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

10 Entrada de Información
Instrucción Leer

11 Instrucción Leer El valor ingresado por medio del dispositivo de entrada (generalmente el teclado) pasa a la variable (celdas de memoria)

12 Instrucción Leer Restricción
El valor digitado debe concordar con el tipo de dato de la variable

13 Instrucción Leer Sintaxis Leer
lista de variables separadas por coma y entre paréntesis Ejemplos Leer (X, Y, Z) Leer (Nota1P, Nota2P, NotaEF)

14 Entrada de Información
Analice la siguiente instrucción: Leer (12, “abc1”, Verdadero) ?

15 Salida de Información Instrucción Escribir

16 Instrucción Escribir Escribir (una o más expresiones separadas por coma) Expresiones? Variables Constantes Expresiones aritméticas Cálculos

17 Salida de Información Ejemplo Escribir (“Producto”, Producto)
Escribir (“%IVA=”, 0.16) Escribir (“Valor IVA”, ValorProducto*0.16)

18 Salida de Información El programador es responsable del formato de salida de la información

19 Salida de Información 5 3 2 4 3,5 3,5 La nota del 1er Parcial fue: 5.0
,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

20 Instrucción Escribir Escriba (parcial1, parcial2, final, lab, quiz, nota_final) ,5 3,5

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

22 Ejemplo Hacer un algoritmo que lea y muestre el nombre de un estudiante

23 Ejemplo Algoritmo Leer_Escribir Caracteres: Nombre Inicio Lea (Nombre)
Escriba (Nombre) Fin Fin Algoritmo

24 Ejemplo Algoritmo Leer_Escribir Cadena: Nombre Inicio Lea (Nombre)
Escriba (Nombre) Fin Fin Algoritmo Nombre del algoritmo Declaración de variables Inicio de las instrucciones Fin de las instrucciones

25 Problemas? Mejore el anterior algoritmo, de manera que tanto la entrada como la salida sean lo más clara posible para el usuario.

26 Ejemplo Algoritmo Leer_Escribir Cadena: Nombre Inicio
Escriba (“Ingrese el nombre del estudiante”) Lea (Nombre) Escriba (“El nombre ingresado fue ”, Nombre) Fin Fin Algoritmo

27 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

28 Expresiones Aritméticas
Operador Significado Tipo de Operandos Tipo de Resultados ^,** Exponenciación Entero o real + Suma - Resta * Multiplicación / División Real Div División entera Entero Mod Modulo (rest)

29 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

30 Ejemplos de Expresiones

31 Ejemplos de Expresiones

32 Ejemplos de Expresiones
¿?

33 Expresiones Lógicas Operadores binarios: Operadores unitarios
&&   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

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

35 Asignación de variables
Sintaxis <variable>  <expresión>

36 Asignación de variables
Restricciones La expresión debe ser del mismo tipo de la variable ?

37 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

38 Errores X  “ 1 ” Y  1 + 2 Z  ”verdadero”

39 Errores x + y + z  variable 5  variable

40 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

41 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

42 Intercambio del contenido de dos variables

43 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 } Ejercicio en clase: Hacer el algoritmo

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

45 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

46 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) fin Fin-Algoritmo

47 Ejercicio Mejorar el formato de salida del anterior 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) escribir (“la suma es: ”, suma) escribir (“la media es: ”, media) fin Fin-Algoritmo

49 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) fin Fin-Algoritmo

50 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) fin Fin-Algoritmo

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

52 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

53 Solución del Ejercicio
Tareas Leer el nombre del estudiante Pedir al usuario que ingrese cada una de las notas Leer cada una de las notas Calcular la nota final: sumar las notas y dividir entre 5 Mostrar el resultado

54 Ejercicio 1er Parcial 2º Parcial Laboratorios Quices Examen Final
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

55 Solución del Ejercicio
DECLARACIÓN DE VARIABLES real: parcial1, parcial2, final, quiz, lab, nota_final caracteres: nombre

56 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

57 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

58 Ejercicios Transforme una temperatura de °C a °F ( T°F = T°C * ). 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. 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. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 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.

59 Ejercicios: Lógica de Programación (E. Oviedo)
Hacer un algoritmo que: Calcule los meses transcurridos entre enero de 2009 y enero 1964. Generalizar el anterior ejercicio para cualquier subrango de años. Calcule el área y el perímetro de un rectángulo cuyos lados son conocidos

60 Ejercicios: Lógica de Programación (E. Oviedo)
Hacer un algoritmo que: 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.

61 Ejercicios: Lógica de Programación (E. Oviedo)
Hacer la prueba de escritorio: Inicio suma  0 x  20 suma  suma + x y  40 x  x+y**2 suma  suma + x/y Escriba (“el valor de la suma es”, suma) Fin

62 Ejercicios: Lógica de Programación (E. Oviedo)
Escriba las siguientes expresiones algebraicas como expresiones algorítmicas X2 +4YZ

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


Descargar ppt "Algoritmia y Programación"

Presentaciones similares


Anuncios Google