1.Elabore un algoritmo que resuelva una ecuacin de primer grado. Precondicin: a,b E R Func ecuacin(a,b :real) dev(x:real) Pos condicin: x=(-b/a) Pseudocodigo ecuacin Inicio Real a,b,x Leer (a,b) Si a0 entonces Escribir(no es ecuacin de primer grado) Sino X=-b/a Escribir(x) Fsi fin 2.Hallar si un numero es mltiplo de 3 pero no de 7 Precondicin: NE Z Func num(N:entero) dev(N:entero) Pos condicin: ( probar si N%3=0 y N%7!=0) Pseudocodigo num Inicio Entero N Leer (N) Si( N%3=0 y N%7!=0) entonces Escribir(el numero en mltiplo de 3 pero no de 7) Sino Escribir(N no cumple cn la condicion) Fsi fin 3.Describa un algoritmo que lea 2 nmeros y determine como es uno respecto al otro Precondicin: a,b E Z Func valor(a,b :entero) dev(a,b:entero) Pos condicin: comparando a y b Pseudocodigo valor Inicio Entero a,b Leer (a,b) Si (ab)entonces Escribir(a es igual a b) Sino Si(a>b) Escribir(a es mayor que b) Sino Escribir(b es mayor que a) Fsi Fsi fin Lenguaje de programacin Ejemplos de estructuras repetitivas mientras 1.Programa que permite visualizar la tabla de multiplicar de un numero Precondicin: num >0 Func tablamult(num,cuentan:entero) dev(result:entero) Pos condicin: resul=cuentaN*num Pseudocodigo tablamult Inicio Entero num,result,cuentaN Leer num Mientras cuentaN<=12 hacer Resul=cuentaN*num Escribir(resul=cuentan*num) cuentaN=cuentaN+1 fmientras fin 2. obtenga el cociente y el residuo de una divisin calculando la cantidad de veces que un numero est contenido en otro, mediante restas sucesivas. Precondicin: a,b>0 Func divsucecivas(a,b:entero) dev(coc:entero) Pos condicin: a=a-b Pseudocodigo divsucecivas Inicio Entero a,b,coc Leer a,b Coc=0 Mientras a>b hacer a=a-b coc=coc+1 fmientras escribir(cocientecoc,residuoa) fin
Lenguaje de programacin 3.calcular los divisores comunes de 2 nmeros Precondicin: a,b>0 Func divisores(a,b:entero) dev(i:entero) Pos condicin: i=i+1 Pseudocodigo divisores Inicio Entero i,a,b Leer a,b i=1 Mientras (i<=a y i<=b) hacer Si (a%i==0 y b%i==0) Escribir(i) i=i+1 fsi fmientras fin
Ejemplos de estructuras repetitivas para 1.disear un programa que imprima la serie del 1,2,3..10 Precondicin: i>0 Func serie(i:entero) dev(i:entero) Pos condicin: i=i+1 Pseudocodigo serie Inicio para i=1 hasta i<=10 hacer i=i+1 Escribir(i) Fpara fin 2. disear un programa que lea el sueldo de 10 trabajadores y calcule el promedio de los sueldos. Precondicin: sueldo>0 Func sueldo(sueldo:real ;nombre:caracter) dev(sum,sum/10:real) Pos condicin: sum=sum+sueldo Pseudocodigo sueldos Inicio Carcter nombre Real sum,sueldo para i=1 hasta i<=10 hacer leer nombre, sueldo sum= sum+sueldo fpara Escribir(el promedio es,sum/10) Fin
Lenguaje de programacin 3.halle el numero de termino para las progresin siguiente:1,2,4,8,16,32.1000 Precondicin: i>0 Func serie(i:entero) dev(c:entero) Pos condicin: c=c+1 Pseudocodigo serie Inicio Entero i,c C=0 para i=1 hasta 1000 hacer i=i*2 c=c+1 fpara Escribir(el numero de terminos,c) Fin
Ejemplos de funciones 1. Disear un programa que pida dos nmeros enteros por teclado y muestre en la pantalla el sig menu suma ,resta, multiplicar, salir. Funcin leernum() :entero Inicio Entero N Leer N Retornar N Fin funcion Funcin menu() Inicio Entero opcion Escribir menu 1.sumar 2.restar 3.multiplicar salir Hacer Leer opcion Mientras(opc<1y op>3) Retornar opcion Fin funcin Funcin operacin(A:entero,B:entero,opcion:entero) Inicio Real R En caso de (opcion) Caso 1: R=A+B Caso 2: R=A-B Caso 3: R=A*B Fcaso Lenguaje de programacin Mostrar R; Fin funcin Funcion principal Inicio Entero A,B,op Hacer Op=menu() Si(op<>5) A=leer_numero() B=leer_numero() Operacin(A,B,op) Fin si Mientras (op<>5) Fin_procedimiento_principal
2. mediante funciones muestre los primeros n mltiplos de n Funcin tablamult() funcion principal() Inicio Entero n,m Leer n,m Tablamult(n,m) Fin Funcin tablamult(n,m) inicio Entero i Escribir (tabla de multiplicar del n* Para i=1 hasta i<=m hacer i=i+1 Fin tablamult 3. Mendiante funciones encontraremos divisores comunes de 2 nmeros Funcin comunes() funcion principal() Inicio Entero a,b Leer a,b comunes(a,b) Fin Funcin comunes(a,b) inicio Entero i=1 Mientras i<=a y i<=b Si (a%i==0 y b%i==0) entonces Escribir (i) fsi i=i+1 fmientras fin comunes