4/13/2019
Programación de Computadoras I
Prof. Elizabeth Murakami
E.A.P Matemática
Verificación y depuración de un
programa
• Proceso de ejecución de un programa con un
amplio ingreso de datos al mismo para observar
si se producen errores (bugs)
• Estos datos se denominan datos de test o prueba
1
4/13/2019
Tipos de errores de un programa
• Errores de compilación: cuando hay mal uso de las
reglas del lenguaje de programación (errores de
sintaxis)
• Errores de ejecución: cuando la computadora
comprende instrucciones pero no puede ejecutarlas,
(errores div entre 0, raíces cuadradas de números
negativos), hay detención del programa y mensaje
de error.
• Errores lógicos: por lógica en el programa, errores
en el algoritmo, mas difíciles de detectar, no hay
errores de ejecución ni compilación pero los datos
de resultado son erroneos.
PROGRAMACIÓN ESTRUCTURADA
• Cada sentencia o instrucción del programa
señala al compilador que tarea debe realizarse.
• Cuando un programa se hace mas grande, las
instrucciones aumentan y por ello no se pueden
controlar con eficiencia por ello los mismos se
descomponen en funciones (procedimientos,
subprogramas o subrutinas.
2
4/13/2019
Operadores DIV y MOD
• DIV / es usada para realizar una división entera
• MOD representa el resto de una división entera
15 6
3 2 cociente
resto
15 div 6 =2 15 mod 6 = 3
Operadores de incremento y
decremento
• ++i incrementa i en 1 y luego utiliza el valor de i
• i++ usa valor de i en la expresion donde se usa y
luego lo aumenta en 1
• --i decrementa i en 1 y luego usa el nuevo valor
de i en la expresión deseada
• i-i– usa el valos de i en la expresión donde se usa
y luego lo incrementa en 1.
3
4/13/2019
Ejemplo
N=5
Escribir N 5
Escribir N++ 5
Escribir N 6
N=5
Escribir N 5
Escribir ++N 6
Escribir N 6
Reglas de prioridad
• Operaciones que están entre paréntesis se
evalúan primero, de haber varias se realizan
desde las mas internas, hacia afuera.
• El orden que se sigue es:
▫ Operador ()
▫ Operadores ++, -- + y – unitarios
▫ Operadores *, /, % (producto, división y módulo.
▫ Operadores +,- (suma y resta)
4
4/13/2019
• 8+7*3+4*6 =53
• 3 + 6 * 14= 87
• -4*7+2^3/4-5= -31
• 12+3*7+5*4= 53
Convertir en expresiones aritméticas algoritmicas
• 5.(x+y)
• a2+b2
• a_
• asa
Expresiones booleanas
• < menor que
• >mayor que
• = , == igual que
• <= menor o igual que
• >= mayor o igual que
• <>, != distinto que
Ejemplo: siendo a=4 y b= 3
a>b es verdadero
(a-2) < (b-4) es falso
5<>5 es falso
5
4/13/2019
Funciones internas
• raiz2(25) =5
• cuadrado(5,2)= 25
Revisando operaciones de asignaciones.
• ¿Cuales son los valores de A, B y C des pues de la
ejecución de las siguientes operaciones?
A<- 3
B<-4
C<- A+2*B
C<- C+B
B<- C-A
A<- B*C
6
4/13/2019
Revisando operaciones de asignaciones.
• ¿Cuál es el valor de x despues de las siguientes
operaciones?
X<- 2
X<-cuadrado (x+x)
X<- raiz2(x+raiz2(x)+5)
Comentarios
// este es un ejemplo
//de como se ponen los comentarios
// en C++ y Java
/* También podemos colocar un texto encerrado
en estos caracteres para poder poner como
comentario mas de línea de texto y documentar
nuestro código, en C++ o Java*/
7
4/13/2019
Transformar a expresiones algorítmicas
Calcular el valor de las siguientes
expresiones
• 8+7*3+4*6
• -2^3
• (33+3*4)/5
• 2^2*3
• 3+2*(18-4^2)
• 16*6-3*2
8
4/13/2019
Se tienen 3 variables A, B y C, escriba
las isntrucciones para que
• B tome el valor de A
• C tome el valor de B
• A tome el valor de C
Usar solo una variable auxiliar
Evaluar las instrucciones y sus
resultados
• A<- 4 • A<- 3
B<-A B<-20
B<- A+3 C<- A+B
• A<- 5 B<- A+B
B<-A+6 A<- B-C
A<- A+1 • A<- 10
B<-A-5 B<-5
A<- B
B<-A
9
4/13/2019
PROBLEMAS A RESOLVER
1) La fuerza de atracción entre dos masas, m1 y m2 separadas por una
distancia d, está dada por la fórmula :
G * m1 * m2
F
d2
Donde G es la constante de gravitación universal, G=6.673x10-8 cm3/g.seg2.
Elaborar un programa que lea la masa de dos cuerpos y la distancia entre
ellos y, a continuación, obtenga la fuerza gravitacional entre ella. La salida
debe ser en dinas; una dina es igual a [Link]/seg2.
2) La famosa ecuación de Einstein para conversión de una masa m en
energía viene dada por la fórmula: E=mc2, donde c es la velocidad de la
luz y su valor es: c=2.99792458x1010 cm/sg. Elaborar un programa que lea
una masa en gramos y obtenga la cantidad de energía producida cuando la
masa se convierte en energía. Nota: Si la masa se da en gramos, la fórmula
produce la energía en ergios.
PROBLEMAS A RESOLVER
3) Elaborar un programa para convertir una medida
dada en pies a sus equivalentes en: a) yardas; b)
pulgadas; c) centímetros, y d) metros; donde (1 pie =
12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2,54 cm, 1m
= 100 cm). Leer el número de pies y mostrar por
pantalla el número de yardas, pies, pulgadas,
centímetros y metros.
4) Elabore un algoritmo que calcule e imprima el
costo de producción de un artículo, teniendo como
datos la descripción y el número de unidades
producidas. El costo se calcula multiplicando el
número de unidades producidas por un factor de
costo de materiales de 3.5 y sumándole al producto un
costo fijo de 10000.
10
4/13/2019
PROBLEMAS A RESOLVER
5) Elaborar un algoritmo que calcule e imprima el
costo de un terreno cuadrado o rectangular,
teniendo como datos la anchura y la longitud en
metros, y el costo del metro cuadrado.
6) Elaborar un algoritmo para calcular el
promedio de calificaciones de un estudiante. Los
datos disponibles son el nombre y las cuatro
calificaciones de los exámenes. La información
requerida es el Nombre y las calificaciones. La
calificación final es obtenida al multiplicar las
calificaciones 1, 2, 3 y 4 por los porcentajes 30%,
20%, 10% y 40%, respectivamente, y sumando los
productos
7) Una temperatura en grados Centígrados (C) se puede
convertir a su equivalente Fahrenheit (F) con la formula:
F = (9/5) C + 32 de Fahrenheit a Centígrados con la
formula: C = (F – 32)(5/9)
Elaborar un algoritmo que lea una temperatura en grados
centígrados y obtenga e imprima la temperatura
Fahrenheit equivalente.
8) Elaborar un algoritmo que permita leer valores para X,
Y, Z, W; e imprima el valor de F.
F
4 x 2
y 2 2 zw
2
1
4x 2
3
b4
11
4/13/2019
9) Elaborar un algoritmo que lea el radio (r) de
una esfera, calcule e imprima el volumen y el área
VOLUMEN = 4r3 AREA = 4r2
3
10) Elaborar un algoritmo que lea el valor de w e
imprima el valor de Z.
w2
1
z e 2
2
11) Elaborar un algoritmo que permita leer valores
para A y B; e imprima Y, Z y W.
12