Está en la página 1de 54

ALGORITMIA Y PROGRAMACIÓN

Capítulo 3
Programación Estructurada

1
Por favor apaga tu celular

2
Importante

 Fomento de las habilidades comunicativas


orales en castellano

3
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

4
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

5
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

6
Ejercicio Identificadores

 Distinga los identificadores inválidos. Porqué?


 nombre_empleado  For
 area  nombre-empleado
 1texto  iF
 TAMANO_STRING  Nombre
 EdadEmpleado  Teléfono
 while  nombre
 potencia10  While
 i

7
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

8
Variables

 Almacenar datos

9
Variables

 Almacenar datos
 Nombres
 Tipo de dato
 Numéricos
 Enteros
 Reales
 Cadena de Caracteres
 Lógicos o Booleanos

10
Variables

 Deben ser declaradas previamente


 Sintaxis Declaración
 Tipo de Dato
 Lista de variables separadas por coma
 Ejemplos:
 Caracteres: Nombre, Apellido
 Entero: Nro_Estudiantes
 Real: Valor_Hora, Salario, Descuentos

11
Entrada de Información

Instrucción Leer

12
Instrucción Leer

El valor ingresado por medio del dispositivo de entrada


(generalmente el teclado) pasa a la variable (celdas de memoria)

13
Instrucción Leer

 Restricción
 El valor digitado debe concordar con el tipo de datos de la
variable

14
Instrucción Leer

 Sintaxis

 Leer
 lista de variables separadas por coma y entre
paréntesis
 Ejemplos
 Leer (X, Y, Z)
 Leer (Nota1P, Nota2P, NotaEF)

15
Entrada de Información

 Analice la siguiente instrucción:


 Leer (12, “abc1”, Verdadero)

16
Salida de Información

 Instrucción Escribir

17
Instrucción Escribir

 Escribir (una o más expresiones separadas


por coma)
 Expresiones?
 Variables
 Constantes
 Expresiones aritméticas
 Cálculos

18
Salida de Información

 Ejemplo
 Escribir (“Producto”, Pdto)

 Escribir (“%IVA=”, 0.16)

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

19
Salida de Información

 El programador es responsable del formato de salida


de la información

20
Salida de Información

5 3 2 4 3,5 3,5

La nota del 1er Parcial fue: 5.0


La nota del 1er 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
21
Instrucción Escribir

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

5 3 2 4 3,5 3,5

22
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 1er 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
23
Ejemplo

 Hacer un algoritmo que lea y muestre el


nombre de un estudiante

24
Ejemplo

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

25
Ejemplo
Nombre del algoritmo
Algoritmo Leer_Escribir
Declaración de variables
Cadena: Nombre
Inicio Inicio de las instrucciones

Lea (Nombre)
Escriba (Nombre)
Fin Fin de las instrucciones

Fin Algoritmo

26
Problemas?

 Mejore el anterior algoritmo, de manera que


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

27
Ejemplo

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

28
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

29
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

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

31
Asignación de variables

 Sintaxis
 <variable>  <expresión>

32
Asignación de variables

 Restricciones
 La expresión debe ser del mismo tipo de la variable

33
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

34
Errores

X“1”

Y1+2

Z  ”verdadero”

35
Errores

x + y + z  variable

5  variable

36
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
 Si es correcta, con qué valor quedaría la variable X
después de ejecutar la siguiente instrucción?

37
Intercambio del contenido de dos
variables

38
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

39
Ejercicio

 Diseñar un algoritmo que lea cuatro variables


y calcule e imprima su producto, suma y media
aritmética.

40
Ejercicio

 Diseñar un algoritmo que lea cuatro variables


y calcule e imprima su producto, suma y media
aritmética.
 Descomponer el problema

41
Ejercicio

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

42
Ejercicio

 Mejorar el formato de salida del anterior


algoritmo.

43
Ejercicio
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

44
Ejercicio
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

45
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

46
Ejercicio

 Diseñar un algoritmo que calcule la definitiva


de esta asignatura (ver la sección evaluación en
el programa del curso).

47
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
 Generalizar con diferentes porcentajes

48
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
 Pedir al usuario que ingrese cada uno de los porcentajes de
las notas
 Leer cada uno de los porcentaje
 Calcular la nota final multiplicando cada nota por su
respectivo porcentaje
 Mostrar el resultado

49
Ejercicio
 Variables
 Una variable para identificar al estudiante
 Una variable para cada nota
 1er Parcial
 2º Parcial
 Laboratorios
 Quices
 Examen Final
 5 variables para el porcentaje de cada una de las anteriores
notas
 Una variable para guardar el resultado

50
Solución del Ejercicio

DECLARACIÓN DE VARIABLES

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


prcntje_p2, prcntje_f, prcntje_q, prcntje_l, nota_final

caracteres: nombre

51
Algoritmo: Solución del Ejercicio
(1)
algoritmo Calculo_Nota
real: parcial1, parcial2, final, quiz, lab, prcntje_p1, prcntje_p2, prcntje_f, prcntje_q,
prcntje_l, nota_final
caracteres: nombre
Inicio
escribir (“Ingrese el nombre del estudiante”) // TAREA 1
leer (nombre)

escribir (“Digite las notas”) // TAREA2

leer (parcial1, parcial2, final, quiz, lab) //TAREA 3

escribir (“Digite los porcentajes de la notas (en decimales)”) // TAREA 4 

leer (prcntje_p1, prcntje_p2, prcntje_f, prcntje_q, prcntje_l) // TAREA 5



fin
52
Algoritmo: Solución del Ejercicio
(2)
algoritmo Calculo_Nota
real: parcial1, parcial2, final, quiz, lab, prcntje_p1, prcntje_p2, prcntje_f,
prcntje_q, prcntje_l, nota_final
caracteres: nombre
Inicio
escribir (“Ingrese el nombre del estudiante”)
leer (nombre)
escribir (“Digite las notas”)
leer (parcial1, parcial2, final, quiz, lab)
escribir (“Digite los porcentajes (en decimales)”)
leer (prcntje_p1, prcntje_p2, prcntje_f, prcntje_q, prcntje_l)
nota_final  (parcial1*prcntje_p1)+(parcial2*prcntje_p2)+
(final* prcntje_f)+(quiz* prcntje_q)+(lab* prcntje_l)
escribir (“la nota definitiva de : ”, nombre, “es : ”, nota_final)
fin

53
Lectura Complementaria

 Joyanes Aguilar, Luis (2003). Fundamentos de Programación.


Algoritmos, Estructura de datos y Objetos. 3era Edición. España:
McGraw-Hill.
 Capítulo 3:Estructura General de un Programa
 Programa: Concepto y partes
 Instrucciones y tipos de instrucciones
 Elementos básicos de un programa
 Datos, tipos de datos y operaciones primitivas
 Constantes, variables, expresiones y funciones
 Operación asignación
 Entrada y salida de información
 Escritura de programas (estilo)

54

También podría gustarte