Sei sulla pagina 1di 25

Desarrollo de

algoritmos
Objetivos

• Aprender técnicas básicas para resolver problemas.


• Desarrollar algoritmos a través del proceso de refinamiento descendente y paso a paso.
• Utilizar las sentencias de selección if e if ... else para elegir entre acciones alternativas.
• Uso de while para ejecutar sentencias en un programa repetidamente.
• Uso de iteración controlada
• Uso de declaraciones de control anidadas
• Uso del operador de asignación compuesta y los operadores de incremento y decremento.
• Portabilidad de los tipos de datos fundamentales.
Algoritmos

• Un algoritmo es un procedimiento para resolver problemas en términos de:


• Acciones a ejecutar
• El orden el en el cual estas acciones se ejecutan
Pseudocódigo

• Lenguaje informal que nos ayuda a desarrollar un algoritmo sin tener que preocuparnos de los detalles de la sintaxis del
lenguaje C++
• Ejemplo: pseudocódigo para sumar dos números
Estructuras de control

• Estructuras de secuencia
• Enunciados de selección
• Enunciados de iteración
Estructuras de secuencia

• En C++ las secuencias son ejecutadas una después de otra.En UML los diagramas de secuencia
Sentencias de selección
Diagramas de actividad de UML
• If

• If.. else
• Nested if

• If con un bloque
• Operador condicional ?(operador ternario)
Ejercicio

• Crear una clase Student.h


• Datos miembro
• Nombre del estudiante: name:string
• Promedio del curso: average:int
• Constructor
• Que permita inicializar name y average
• Funciones miembro
• setAverage
• getAverage
• getLetterGrade
• Incluir en setAverage
• Si la calificación del estudiante es mayor a 0, si la calificación del estudiante es menor o igual a 100, asignar a average, la calificación
del estudiante
• Incluir función miembro(método), getLetterGrade(), evaluando el promedio
• A si el promedio es mayor o igual a 90
• B entre 91 y 80
• C entre 81 y 70
• D entre 71 y 60
• F 59 o menor
Prueba Alumno

Ojo con el orden de los


encabezados
while
While

• Diagrama de actividad
Ejercicio

• Un grupo de diez estudiantes tomó una prueba. Las calificaciones (enteros en el rango 0-100) para esta prueba están
disponibles para usted. Determine el promedio del grupo en el cuestionario.
Total para sumar las
Pseudocódigo calificaciones

Counter, nos ayuda a


llevar la cuenta de los
estudiantes
Tipo de variable
unsigned, solo
valores positivos

variable local grade, solo


tiene valor dentro del ciclo
while

average es una variable de Posibles problemas,


tipo int, por lo que trunca -arithmetic overflow
el resultado (no es lo -validación de datos de
mismo que redondear) entrada
Ejemplo
Ejercicio

• Desarrolle un programa de para obtener el promedio de un grupo que procese calificaciones para un número arbitrario
de estudiantes.
Centinela

Valor centinela, variable


dummy o bandera

Como evitar una


divisón entre cero

La iteración controlada por centinela a


menudo se denomina iteración
indefinida porque no se conoce el
número de iteraciones antes de que el
ciclo comience a ejecutarse.
Pseudocódigo
Conversión explicita
Aunque average este declarada como
double, si la división es entre enteros, el
resultado será un entero, para evitar esto,
static_cast<double>(total), convierte
temporalmente a total en double

Promoción
C ++ promueve una copia temporal
del valor de gradeCounter de tipo
double para poder realizar la división

setprecision
Indica que el valor debe tener dos
decimales de precisión y utiliza
notación de punto flotante,
también puede ser notación
científica notation. Utiliza
redondeo
Ejercicio

• Una universidad ofrece un curso que prepara a los estudiantes para el examen de licencia estatal para corredores de
bienes raíces. El año pasado, diez de los estudiantes que completaron este curso tomaron el examen. La universidad
quiere saber qué tan bien lo hicieron sus estudiantes en el examen. Le han pedido que escriba un programa para
resumir los resultados. Le han dado una lista de estos 10 estudiantes. Al lado de cada nombre se escribe un 1 si el
estudiante aprobó el examen o un 2 si el estudiante falló.
• Su programa debe analizar los resultados del examen de la siguiente manera:
• Ingrese el resultado de cada prueba (es decir, un 1 o un 2). Muestre el mensaje "Introducir resultado" en la pantalla cada vez que el
programa solicite otro resultado de prueba.
• Cuente el número de resultados de prueba de cada tipo.
• Muestre un resumen de los resultados de la prueba, que indique la cantidad de estudiantes que aprobaron y el número que falló.
• Si más de ocho estudiantes aprobaron el examen, imprima "¡Bonificación para el instructor!"

Potrebbero piacerti anche