Seudo Codigo en c++
-
Upload
beatriz-machaca -
Category
Documents
-
view
27 -
download
2
Transcript of Seudo Codigo en c++
#include <stdio.h>
float promedio(int valores[], int cantidad) { int i; float suma = 0.0;
for (i = 0; i < cantidad; ++i) suma += valores[i];
return suma / (float) cantidad;}
int main() {
int notas[10]; char nombre[20]; char opcion[3]; int n, i;
do { printf("Ingrese nombre del alumno: "); scanf("%s", nombre);
printf("Cuantas notas tiene %s? ", nombre); scanf("%d", &n);
for (i = 0; i < n; ++i) { printf(" Nota %d: ", i + 1); scanf("%d", ¬as[i]); }
printf("El promedio de %s es %.1f\n", nombre, promedio(notas, n));
printf("Desea calcular mas promedios (si/no)? "); scanf("%s", opcion);
} while (opcion[0] == 's' || opcion[0] == 'S');
return 0;}
fibonaci.cpp
//Calcula la serie de fibonasi.
#include <iostream.h>
#include <iomanip.h>
#include <conio.h>
#include <ctype.h>
main()
{
int a1,a2,i,n,termino;
a1=0;
a2=1;
cout<<"Ingrese el valor de n: ";cin>>n;
cout<<""<<a1<<" , "<<a2<<" ";
i=3;
while(i<=n)
{
termino=a2+a1;
a1=a2;
a2=termino;
i=i+1;
cout<<", "<<termino<<"";
}
getch();
}
1. #include <stdio.h> 2. 3. int main () 4. { 5. int i=1, nota=1, baja=10000, alta=0, sum=0; 6. float prom=0; 7. while (1){ 8. printf("Ingrese nota %d:",i); 9. scanf("%d",¬a); 10. if(nota<0) 11. break; 12. if(nota < baja) 13. baja = nota; 14. if(nota > alta) 15. alta = nota; 16. sum = sum + nota;
17. i++; 18. } 19. prom = sum/(i-1); 20. printf("\nLa nota mas alta: %d", alta); 21. printf("\nLa nota mas baja: %d", baja); 22. printf("\nEl promedio: %g", prom); 23. 24. getch(); 25. return 0; 26. }
1. #include <stdio.h> 2. int main(){ 3. int c,nota,cont=0,ap=0,de=0; 4. double promap,promde,sumap=0,sumde=0; 5. printf("ingresa la cantidad de notas a ingresar\n"); 6. scanf("%d",&c); 7. while(cont!=c){ 8. printf("Ingresa nota\n"); 9. scanf("%d",¬a); 10. if(nota>=11){ 11. sumap=sumap+nota; 12. ap=ap+1; 13. }else{ 14. sumde=sumde+nota; 15. de=de+1; 16. } 17. cont++; 18. } 19. promap=sumap/ap; 20. promde=sumde/de; 21. printf("Promedio de Notas aprobadas :%0.2lf ",promap); 22. printf("Promedio de Notas desaprobadas: %0.2lf",promde); 23. return 0; 24. }
4¿Dada N notas calcular el promedio de las notas aprovadas y el promedio de las notas desaprovadas?25.26. variables27. N,C,S,I,nota,S¹,S²,Pa,Pd28.29. inicio30. leer N31. I_132. S¹_033. S²_034. C_035. S_036. mientras I<=N hacer37. leer nota38. si nota>=12 entonces39. S¹_ S¹+nota40. C_ C+141. sino42. S²_S²+nota
43. S_S+144. fin si45. I_I+146. fin mientras47. Pa_ suma1\C48. Pd_ suma2\S49. imprimir Pa,pd50. fin51. 7¿Dado el monto de una compra calcular el descuento considerado52. -descuento es 10% si el monto es mayor a 100 soles53. -descuento es 20% si el monto es mayor a 50 soles y menor o
igual a 100 soles54. -no hay descuento si el monto es mayor o igual a 50 soles55.56. variables57. monto, descuento58.59. inicio60. leer monto61. si monto>100 entonces62. descuento_ monto*0.163. sino 64. si monto>50 entonces65. descuento_ monto*0.2 66. sino67. descuento_068. fin si69. fin si70. imprimir descuento71. fin72. 9¿A una fiesta asistieron personas de diferentes edades y sexos.
Contruir un algoritmos dadas las edades y sexos de las personas.?73. calcular : 74. -Cuantas personas asistieron a la fiesta 75. -Cuantos hombres y cuantas mujeres76. -Promedio de edades por sexo77. -La edad de la persona más joven que asistio78. -No se permiten menores de edad a la fiesta 79. -Ingresar datos hasta que se ingrese una edad a cero80.81. variables82. sev-suma de edades de varones83. sem-suma de edades de mujeres 84. a-asistentes85. v-varones86. m-mujeres 87. e-edades88. s-sexo89.90. inicio91. sev_092. sem_093. a_094. v_095. e_196. menor_200
97. mientras e<>0 hacer98. leer e,s99. si e>=18 entonces 100. a_a+1101. si s="m" entonces102. m_m+1103. sem_sem+e104. sino 105. v_v+1106. sev_sev+e107. finsi108. si e<menor entonces109. menor_e110. finsi111. sino112. imprimir "menor de edad"113. finsi114. fin mientras115. pm_sem\m116. pv_sev\v117. imprimir pm,pv,menor,a,m,v118. fin
http://enriquebarrueto1.tripod.com/norevisados.htm
4. MOSTRAR ALUMNOS ORDENADOS POR MAYOR PUNTAJE DE PROMEDIO
InicioDimensionar alumno[100], nota[100]entero i ,j,NE,aux1,aux2leer NEsi(NE>0) entonces
para i=0 hasta i<NEleer alumno[i],nota[i]
fin_parapara i=0 hasta i<NE-1
para j=i+1 hasta j<NEsi( nota[i]<nota[j]) entonces
aux1<- alumno[j]aux2<- nota[i]alumno[i]<- alumno[j]nota[i]<- nota[j]alumno[j]<- aux1nota[j]<-aux2
fin_sifin_para
fin_parapara i=0 hasta i<NE
escribir alumno[i],nota[i]fin_para
fin_siFin3.En una empresa de 1000 trabajadores, se hará un aumento al salario de acuerdo al tiempo de servicio, para este aumento se tomará en cuenta lo siguiente:Tiempo de servicio: de 1 a 5 años Aumento: S/. 100
Tiempo de servicio: de 5 a 10 años Aumento: S/. 250Tiempo de servicio: de 10 a 20 años Aumento: S/. 400Tiempo de servicio: de 20 años a más Aumento: S/. 550Se desea obtener unalista del personal en orden creciente con respecto al sueldo modificado
InicioDimensionar Nombre[1200], Tiempo[1200], Sueldo[1200]X <- 1mientras X <= 1000 hacer
leer Nombre[X], Tiempo[X]X <- X + 1
fin_mientrasX <- 1mientras X <= 1000 hacer
si Tiempo[X] <= 5 entoncesSueldo[X] <- 1000 + 100
fin_sisi Tiempo[X] <= 10 entonces
Sueldo[X] <- 1000 + 250fin_sisi Tiempo[X] <= 20 entonces
Sueldo[X] <- 1000 + 400sino
Sueldo[X] <- 1000 + 550fin_siX <- X + 1
fin_mientrasX <- 1mientras X <= 1000 hacer
Y <- Xmientras Y <= 1000 hacer
si Sueldo[X] > Sueldo[Y] entoncesT <- Nombre[X]Nombre[X] <- Nombre[Y]Nombre[Y] <- TT <- Tiempo[X]Tiempo[X] <- Tiempo[Y]Tiempo[Y] <- TT <- Sueldo[X]Sueldo[X] <- Sueldo[Y]Sueldo[Y] <- T
fin_siY <- Y +1
fin_mientrasX <- X + 1
fin_mientrasX <- 1mientras X <= 100 hacer
mostrar Nombre[X], Tiempo[X], Sueldo[X]X <- X + 1
fin_mientrasFin
1. Diseñar un algoritmo, que permita ingresar el dividendo y el divisor y que luego me calcule el residuo y el cociente de dicha división.
Inicio D,d,c :enteror :realLeer "Dividendo",DRepetir
Leer "Divisor", dHasta (d <> 0)Hacer c « D div dHacer r « D mod dMostrar "El cociente": cMostrar "El residuo": r
Fin2. Diseñar un algoritmo que permita calcular la suma de los primeros 30 términos de la siguiente serie: 1-1/3+1/5-1/7...+1/9Siendo N un numero ingresado por el teclado.
InicioN « 0, C « 0 : enteroS « 0 : realRepetir
N « N+1Si (N mod 2 <>0) entonces
Hacer C « C + 1Si (N mod 2 = 0= ENTONCES
Hacer S « S-7/NSino
S « S + 1/NFin_Si
Fin_SiHasta (N = 30)
Fin3. Diseñar un algoritmo que permita encontrar la solución a la siguiente serie:1,1/2!,1/3!,1/4!,1/5!,...1/N! Siendo N un numero ingresado por el teclado.
InicioN, H, K, F :enteroS : realLeer NRepetir
Hacer K « K + 1Hacer H « KHacer F « 1
RepetirHacer F « F * HHacer H « H-1
Hasta (H = 0)Hacer S « 1/FMostrar 1/F
Hasta (k = N)Fin4. Realizar el diseño de un algoritmo que me permita : Ingresar el código del trabajar Ingresar numero de horas trabajadas
Ingresar el costo de la hora Calcular el sueldo bruto semanal Calcular el sueldo neto semanal Imprimir el sueldo bruto y el sueldo neto respectivo(sueldo bruto menos el descuento del seguro de pensiones 11%)
InicioCod : enteroHT, CH, SB « 0, SN, DESC : realLeer "codigo",codRepetir
Leer "costo hora",CHHasta (HT > 0 y CH > 0)
Hacer SB « HT * CHHacer Desc « SB * (11/100)Hacer SN « SB - Desc
Mostrar "Sueldo Bruto",SBMostrar "Sueldo Neto" ,SN
Fin5. Realizar un algoritmo que me permita ingresar un numero determinado de segundos y lo convierta en horas, minutos y segundos.
InicioS, H, M :enteroRepetir
Ingresar "s"Hasta (S > 0)
Si(S > = 3600) entoncesHacer H « S div 60Hacer S « S mod 60
Fin_SiMostrar "H", "M", "S"
Fin6. Realizar un algoritmo que me permita ingresar la hora, minutos y segundos y que me indique cuantos segundos son.
InicioT, H, M, S, P1, P2, P3 :enteroIngresar S, H, M
Hacer P1 « H * 3600Hacer P2 « M * 60Hacer P3 « S * 1
T = (P1 + P2 + P3)Mostrar "T"
Fin2.- se desea saber: alumnos[x], examen parcial[x], examen final[x] . cual de los alumno tiene las mejores promedios. . cuales fueron los 5 peores alumnos del examen parcial. . cuales fueron los 3 peores del examen finalNOTA : repetido EL EJERCICIO
iniciodimensionar alumnos[100], examen parcial[100], examen
final[100] n <- 10 x <- 1
mientras x<= n hacerleer alumnos[x], examen parcial[x], examen final[x]
x <- x+1 fin_mientras
C<-0 X <-1
mientras X<=N hacer p <- ( e. parcial[x] + e. final[x])/2
si p> c entonces c<- p A <- alumnos[x]fin-si x <-x+1
fin_mientrasx <-1
mientras x >=n hacery <- x
mientras y <= n hacer si examen parcial[x]> examen parcial[x] entonces
t<- examen parcial[x]examen parcial[x] <- examen parcial[y]examen parcial[y] <- t
t <- examen final[x]examen final[x] <- examen final[y] e. final[y] <- t
t <- alumnos[x]alumnos[x] <- alumnos[y]alumnos[y] <- t
fin-si y <- y+1
fin_miemtrasx <- x+1
fin_mientras
x <- 1mientras x<= 5 hacer
escribir alumnos[x], examen parcial[x], examen final[x]
x <- x+1fin-mientras
x <-1mientras x<= n hacer y <- x mientras y <=n hacer
si examen final[x] > examen final[x] entoncest <- examen final[x]examen final[x] <- examen final[y]examen final[y] <- t
t<- e. parcial[x]e. parcial[x] <- e. parcial[y]e. parcial[y] <- t
t <- alumnos[x]alumnos[x] <- alumnos[y]alumnos[y] <- t
fi-si y <- y+1
fin-mientrasx <- x+1
fin-mientras
x <- 1 mientras x <=3 hacer
escribir escribir alumnos[x], examen parcial[x], examen final[x]
x <- x+1fin-mientras
fin5.- una fiesta asisten personas de diferentes edad y sexo. construya un algoritmo y dados las edades y sexo de las personas calcule: - cuantas persona asistieron a la fiesta. - " hombre y cuantas mujeres - promedio de las edades por sexo. -la edad de las peronas más joven que asistío. . no se permite menores de edad en la fiesta . ingresar datos hasta que se ingrese su edad igual a cero.
variables: edad de varon, e. mujer, edad ,asaitieron, promedio edad
Inicio m<- 0 v<-0 ev<-0 em<-0 asit<-0 e<-1
menor<-0 mientra e<>0 hacer
leer e,ssi e<=18 entonces asist<-a+1
si m = " mujer" entoncesm <- m+1em<- em +e
si-nov <- v+1
ev <- ev+ e fin-si si e<= 14 entonces
imprimir "menor- edad"menor<-menor+1
fin-sifin-si
fin-mientras Pm <- em/ m
PV <- ev/ v
imprimir : Pm, Pv, asist, m, v, menor
fin3. Se desea calcular el salario semanal neto de los empleados de una empresa cuyo trabajo se paga por horas del siguiente modo : a) Si el número de horas trabajadas es inferior o igual a 35 se pagan, si el precio de cada hora es 5soles. El número de horas trabajadas y el nombre del empleado también se introducen por el teclado. b) Las horas que esceden de loas primeras 35, se pagaran como horas estras a un precio de una vez y media la tarifa de las horas normales. c) Los impuestos a deducir a los trabajadores varian en función del sueldo : + Los primeras 240 soles, no pagan impuestos. + Los siguientes 480 soles deben pagar el 5%. + El resto pagan el 10%.
INICIOLeer (horas,nombre) Si horas < = 48 entonces Pago <-- 5 * horas Si no Pago <-- Pago + Pago/2 Fin si
Si Pago <= 240 entonces desc. <-- 0 Si no Si pago > 240 y <= 480 entonces desc.<-- Pago * 0.5 Si no Si Pago > 480 entonces desc. <-- Pago * 0.10 Si no Fin si Fin si Fin si pago <-- pago - desc. Escribir nombre, hora, pago , desc.FIN5). Hacer un programa que permita almacenar las notas de 15 alumnos para cierto curso. Las notas deben estar entre 0 y 20. Mostrar la nota mayor.
Iniciodimensionar notas[100]X<-1mientras X<=15 hacer Repetir
leer notas[X]Hasta_que notas[X]>=0 y notas[X]<=20X<-X+1
X<-1mientras x<=15 hacerMayor<-0mientras X<=15 hacer
Si notas[X] > Mayor entonces Mayor<-notas[X]
Fin_si
X<-X+1Fin_mientras
Escribir "la nota mayor es:",MayorFin2. Dado el monto de una compra mostrar y calcular el descuento considerado: -Descuento es el 10% si el monto es mayor a $100 -Descuento es el 2% si el momto es mayor a $50 y menor o igual a $100 -No hay descuento si el monto es menor o igual $50
Variable monto,descuento
Inicioleer monto si monto>100 entonces decuento <- monto*0.1 sino si monto>50 entonces descuento <- monto*0.02 sino descuento <- 0 fin_si fin_si escribir descuento
fin3.-Realiza la suma de dos matrices de dos dimensiones S(i,j)=A(i,j)+B(i,j) Inicio Desde N=i hasta M hacer Desde J=i hasta N hacer S(i,j)<- A(i,j)+B(i,j) Fin_desde Fin_desde Fin3.-Hacer un programa que calcule al suma de los n primeros números naturales
S = 1 + 2 + 3 + 4 . . . . . .n
Inicio Leer n Suma <- 0 Desde i <- 1 hasta n hacer Suma <- suma + i Fin-desde //escribir resultado de suma Escribir (suma) Fin1. Se ingresan los 80 puntuaciones de los atletas en forma desordena da obtener la puntuación alta y mas baja Nota: Ordenar por Burbuja
INICIO
//Cargar el Array
//Proceso
I = 1Mientras < = 79 hacer
J = 1Mientras < = 79 hacer
Si P[J] > P[J+1] EntoncesT = P[J]P[J] = P[J+1]P[J+1] = T
Fin_si J = J +1
Fin_mientrasI = I +1
Fin_mientras
//Publicacion
Escribir P [1]
Escribir P [80]
FIN13. Escribir el procedimiento de búsqueda binaria de forma recursiva.
INICIO desde i =1 hasta 10 hacer leer a(i) fin_desde ordenar a escribir ( indique el número a buscar en el array ) leer (num) si posic. > 0 entonces escribir posic. si_no escribir ( no existe el número en el array ) fin_si
FINHacer un programa que registre alumno[x], nota1[x], nota2[x], nota3[x], nota4[x]donde va de 1 a 100.Se desea saber:
a)Cual alumno tiene el mejor promediob)Cuales son los 5 alumnos que tienen mejor nota2[x]c)Cuales son los 4 alumnos que tienen peor nota4[x]
INICIO
Dimensionar alumno[100], notas1[100], notas2[100], notas3[100], notas4[100]
x=1mientras x<=100 hacer
leer alumno[x], nota1[x], nota2[x], nota3[x], nota4[x]x=x+1
fin_mientras
//Solucion a la 1º Pregunta
M=0X=1A=" "
mientras x<=100 hacerP=(nota1[x], nota2[x], nota3[x], nota4[x])/4Si P>M Entonces
M=PA=Alumno[x]
Fin_si
x=x+1Fin_mientras
Escribe A,M
//Solucion a la 2º Pregunta
x=1mientras x<=100 hacer
y=xmientras y<=100 hacer
si nota2[x]<=nota2[y] entonces
T=alumno[x]alumno[x]=alumno[y]alumno[y]=T
T=nota1[x]nota1[x]=nota1[y]nota1[y]=T
T=nota2[x]nota2[x]=nota2[y]nota2[y]=T
T=nota3[x]nota3[x]=nota3[y]nota3[y]=T
T=nota4[x]nota4[x]=nota4[y]
nota4[y]=T
Fin_siy=y+1
fin_mientrasx=x+1
fin_mientras
//Publicacion
x=1mientras x<=5 hacer
Escribe alunmo[x], nota2[x]x=x+1
fin_mientras
//Solucion a la 3º Pregunta
x=1mientras x<= 100 hacer
y=xmientras y<=100 hacer
Si nota4[x]>nota4[y] entonces
T=alumno[x]alumno[X]=alumno[y]alumno[y]=alumno[x]
T=nota1[x]nota1[x]=nota1[y]nota1[y]=T
T=nota2[x]nota2[x]=nota2[y]nota2[y]=T
T=nota3[x]nota3[x]=nota3[y]nota3[y]=T
T=nota4[x]nota4[x]=nota4[y]nota4[y]=T
Fin_siY=Y+1
fin_mientrasx=x+1
fin_mientras
//Publicacion
x=1mientras x<=4 hacer
Escribir alumno[x], nota4[x]x=x+1
fin_mientras
FIN2.- Determimnar si un número es capicua
Inicio variable nun, pro, , x nun leere nun x nun= nun pro=O mientras nun<>O pro=((pro x 10) +(nun nod+o)) nun=nun/10 fin niemtras si (x nun=nun) entonces imprimir "número es capicua" sino imprimir"número no es capicua" fin-si fin1.- Determinar si un número no es perfecto
Inicio variables n,s,c,r leer n s=o C=1 mientras c<n R=N mod C si (r=o) entonces s=s+l fin-si c=c+1 fin mientras si (s=n) entonces imprimir "número perfecto" sino imprimir "número no es perfecto" fin si fin5. Convertir un número a binario inicio variables pro, num, res, x pro, binario leer Num pro =1 mientraS Num <> 0 res = Num mod 2 si (ns > =0) entonces pro= pro*10 tres fin-si Num=NUm Div 2 Fin-mientras x pro =0 mientras pro<>0 x pro=((x pro*10)+(pro mod 10))
Binario = x pro=pro/10 fin-mientras binario=xpro Div 10 imprimir binario fin