Seudo Codigo en c++

20
#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", &notas[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');

Transcript of Seudo Codigo en c++

Page 1: 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", &notas[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>

Page 2: Seudo Codigo en c++

#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",&nota);  10.         if(nota<0)  11.             break;  12.         if(nota < baja)  13.             baja = nota;  14.         if(nota > alta)  15.             alta = nota;  16.         sum = sum + nota;  

Page 3: Seudo Codigo en c++

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

Page 4: Seudo Codigo en c++

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

Page 5: Seudo Codigo en c++

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

Page 6: Seudo Codigo en c++

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.

Page 7: Seudo Codigo en c++

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

Page 8: Seudo Codigo en c++

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

Page 9: Seudo Codigo en c++

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

Page 10: Seudo Codigo en c++

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

Page 11: Seudo Codigo en c++

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

Page 12: Seudo Codigo en c++

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

Page 13: Seudo Codigo en c++

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

Page 14: Seudo Codigo en c++

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]

Page 15: Seudo Codigo en c++

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

Page 16: Seudo Codigo en c++

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))

Page 17: Seudo Codigo en c++

Binario = x pro=pro/10 fin-mientras binario=xpro Div 10 imprimir binario fin