ESCUELA POLITECNICA DEL EJERCITO
CAPITULO 5
LIBRO DE PSEUDOCODIGOS DEL ING EVELIO GRANIZOELECTRONICA AUTOMATIZACION Y CONTROLPARALELO A
EJERCICIO 1
1.- Diseñar un programa que lea tres números desde teclado, que luego determine con una función la media de los tres números. Por último el programa debe imprimir los tres números ingresados y su media.
Proceso Media_de_un_numero//Declaración de variables://n1: Real;//n2: Real;//n3: Real;//m: Real;op<-"s";Repetir
Escribir "Ingrese un numero";Leer n1;Escribir "Ingrese segundo numero";Leer n2;Escribir "Ingrese tercer numero";Leer n3;m<-(n1+n2+n3)/3;Escribir "La media de ", n1, " ", n2, " ", n3, " ", " es : ", m;Escribir "Desea continuar s/n";Leer op;Repetir
Si op<>"s" & op<>"n" EntoncesEscribir "Solo ingrese los caracteres s/n";Leer op;
FinSiHasta Que op="s" o op="n"
Hasta Que op="n"FinProceso
EJERCICIO 2DIEGO PICHOASAMIN
2) Realizar un programa que lea el vector de N elementos de tipo Real y que inserte el valor X en la posición I-esima de dicho vector X e I deben ser ingresados desde el teclado
Autor: Diego PichoasamínAutomatización y control "2A
PROCESO LECTURA_DE_UN_VECTOR//REAL N//numeros :escribir "el vector es : 9(x1)+3(x2)+2(x3)";Escribir "Ingrese el valor de x";Leer x;Escribir "escoja la posicion "; escribir " presione 1 para reemplazar la x en el primer termino";escribir " presione 2 para reemplazar la x en el segundo termino";escribir " presione 3 para reemplazar la x en el tercer termino";Leer opcion;a<-9;b<-3;c<-2;repetir
Segun opcion Hacer1: r<-(a*x);escribir r,"+","3(x2) + 2(x3)";2: r<-(b*x);escribir "9(x1) +", r ,"+ 2(x3)";3: r<-(c*x);escribir "9(x1) + 3(x2) +",r;
De Otro Modo:escribir "no existe esa opcion "
FinSegunEscribir "desea reiniciar si/no";leer p;
Hasta Que p='no'Si p="no" EntoncesEscribir 'gracias por su tiempo';FinSi
FinProceso
EJERCICIO 3EDISON NIETO3) Realizar un programa que calcule los cuadrados de los N primeros números enteros y a continuación que escriba en una tabla conteniendo dichos n números con sus cuadrados. N debe ser ingresado por teclado.
//NOMBRE: EDISON NIETO R.//CURSO: 1ERO "A" EAC//FECHA: 22/10/09//PROGRAMA: Cuadro de los n primeros numeros//VARIABLES n, i enteroProceso Cuadrado_de_los _n _numeros
Escribir "ingrese la base maxima entera"
Leer n;Escribir "Numero"," ","cuadrado";Para i<-1 Hasta n Con Paso 1Hacer
r<- i*iEscribir n," ",r;
FinParaFinProceso
EJERCICIO 4ROBERTO HIDALGO//PROGRAMACION: 1"A" EAC//NOMBRE: ROBERTO HIDALGO//FECHA DE CREACION: LUNES 26 DE OCTUBRE DEL 2009//FECHA DE MODIFICACION: ---
Proceso DETERMINAR_SI_ES_POSITIVO_O_NEGATIVO
rh <- 'N';rh <- 'n' ;
Repetir//var//ENTERO a;
Escribir ' ';Escribir "INGRESE UN NUMERO";Leer a;
si a>0 Entonces
Escribir ' ';Escribir "EL NUMERO INGRESADO ES
POSITIVO";Escribir
"...............................";FinSi
si a<0 Entonces
Escribir ' ';Escribir "EL NUMERO INGRESADO ES
NEGATIVO";Escribir
"...............................";
FinSi
si a=0 Entonces
Escribir ' ';Escribir "INGRESO EL NUMERO CERO";Escribir
"...............................";
FinSi
Escribir ' ';Escribir 'DESEA CONTINUAR? (S/N)';Escribir "...............................";
escribir ' ';
Leer rh;
Hasta Que ( rh = 'N' | rh = 'n')
FinProceso
EJERCICIO 5JORGE GUILLENEscribir un programa que lea n temperaturas desde teclado, que calcule la media de las n temperaturas, y que determine entre todas ellas cuales son mayores o iguales a esa media .También debe ser ingresado desde teclado el numero de temperaturas n.Proceso temperaturas
//NOMBRE:JORGE GUILLEN//CARRERA: ELECTRONICA EAC//PARALELO:A//TEMA:PROGRAMA PARA MOSTRAR EN PANTALLA N
TEMPERATURAS//FECHA DE CREACION:24-10-2009//FECHA DE MODIFICACION:28-10-2009
Escribir "Ingrese un valor que representa el numero de temperaturas";Leer n;i<-1;i<-i+1;Para i<-1 Hasta n Con Paso 1 Hacer
a<-1;Escribir "ingrese un valor de temperatura";Leer a;
FinPara
FinProceso
EJERCICIO 6DENIS FLORES//Autor: Denis Flores Pazos//Curso: Primero "A", Electrónica en automatización y control//Escribir un programa que lea un vector de N elementos de tipo Lógico, y que luego coloque todos los valores Falso al principio del arreglo y todos los valores Verdadero al final del mismo. Por último, el programa debe imprimir el arreglo de acuerdo a la cabecera
#include<stdio.h> #include<conio.h> main()
void vectorN(void) { int x; int z; int aux;
int ARREGLO[N]; bool b; for(x = 1; x < N; x++) { aux = ARREGLO[x]; z = x - 1; flag = false; while(b == false && z >= 0) { if(aux < ARREGLO[z]) { ARREGLO[z + 1] = ARREGLO[z]; z--; } else b = true;
} ARREGLO[z + 1] = aux;
} } printf("Este es el ordenamiento de vector”./n"); }
EJERCICIO 7EJERCICIO 8WLADIMIR DIAZ
8. Realizar un programa que lea un vector de N elementos de tipo Entero y que determine los siguientes literales:
a) El elemento del valor más pequeño.b) La posición del primer elemento más pequeño.c) El número de elementos iguales al más pequeño.d) Las posiciones de todos los elementos del arreglo iguales al más pequeño.
Autor: Wladimir Díaz M. Curso: 2do “A”//Autor: Wladimir Diaz M.//Facultad:Ing.Electronica Automatizacion y Control//Curso: 2do "A"//Capitulo:N.5//Ejercicio:N.8//Fecha de Creacion:23-10-2009//Fecha de Modificaciòn:28-10-2009
Proceso VALOR_PEQUENOEscribir "INGRESE EL NUMERO DE ELEMENTOS DEL VECTOR";Leer N;Dimension ARREGLO[100];Escribir "-------------------------------------------------------";Para i<-1 Hasta N Con Paso 1 Hacer
Escribir "INGRESE EL VALOR No. ",i,": ";
Leer ARREGLO[i];FinPara
MENOR<-ARREGLO[1];ind<-1;Para i<-1 Hasta N Con Paso 1 Hacer
Si MENOR>ARREGLO[i] EntoncesMENOR<-ARREGLO[i];ind<-i;
FinSiFinPara
SUMA<-0;Para i<-1 Hasta N Con Paso 1 Hacer
Si MENOR=ARREGLO[i] EntoncesSUMA<-SUMA+1;
FinSiFinPara
Escribir "-------------------------------------------------------";Escribir "EL ELEMENTO DE VALOR MAS PEQUENO ES: ",MENOR;Escribir "LA POSICION DEL PRIMER ELEMENTO MAS PEQUENO ES: ",ind;Escribir "EL NUMERO DE ELEMENTOS IGUALES AL MAS PEQUENO ES: ",SUMA-1;
Si NO(SUMA=1) EntoncesSUMA<-0;Escribir "LAS POSICIONES DE LOS ELEMENTOS IGUALES AL MAS PEQUENO:";Para i<-ind+1 Hasta N Con Paso 1 Hacer
Si MENOR=ARREGLO[i] EntoncesEscribir i;
FinSiFinPara
FinSi
FinProceso
EJERCICIO 9EJERCICIO 10
Irvin Cedeño
Diseñar un programa que lea los elementos enteros de un vector, hasta que uno de los elementos sea negativo, e imprima este vector en la misma secuencia leída, pero también debe determinar el numero de elementos que permanecen en el arreglo.
Programa Secuencia//Const.: TF<-100//Tipo: Vector <- Arreglo[1..TF] de entero//Var: A: Vector; N, I, J, M, K: Entero; SW: Lógico
I<-1Escribir “Ingrese un elemento:”;Leer A[I];Mientras I<=TF Y A[I]>=0 Hacer
I<-I+1Escribir “Ingrese otro elemento”;Leer A[I];Si I<=TF Entonces
N<-I-1Sino
N<-TFFinsi
FinmientrasEscribir “Vector original”;Para I<-1 Hasta N Con paso 1 Hacer
Escribir A[I]; Finpara
SW<- “Falso”I<-1Mientras I<=M Y NO SW Hacer
Si A[I] = K EntoncesSW<- “Verdadero”
SinoI<- I+1
FinsiBUSQUEDA<- SW
FinmientrasEscribir “Vector obtenido”;Escribir A[I];J<-1Para I<-2 Hasta N Con paso 1 Hacer
Si NO BUSQUEDA(A;I-1,A[I]) EntoncesJ<-J+1Escribir “ ”,A[I];
FinsiFinparaEscribir “El numero de elementos es: ”,J;
FinProceso
EJERCICIO 11NORMA BENALCAZAR 11. Diseñar un programa que lea en orden alfabético los nombres de personas y los almacene en un arreglo, cada vez que se lea un nuevo nombre se lo debe insertar en el
sitio correcto del arreglo para que se mantenga ordenado; antes del proceso de inserción se debe desplazar los elementos en una posición hacia adelante, a partir de la posición que va a ocupar el elemento a insertar.Programa ARREGLO_ORDENADO; Const TF=50; Tipo VECTOR= Arreglo[1…TF] DE Hilera; Var A:VECTOR; TL:Entero;Procedimiento LEE_ORDENADO(Var A: VECTOR; Var CONTA:Entero); Var POSICION: Entero; NOMBRE:Hilera; Funcion BUSCA_POSICION(NOMBRE:Hilera):Entero; Var I: Entero;
Inicia BUSCA_POSICION l←1; Mientras (l<CONTA) Y (NOMBRE>A[L]) Hacer l←l+1; BUSCA_POSICION ←l Fin Funcion BUSCA_POSICION;
Procedimiento DESPLAZAR_ARREGLO(POSICION:Entero); Var I: Entero; Inicia DESPLAZAR_ARREGLO l←CONTA; Mientras l>POSICION hacer Proceso DESPLAZAR A[l] ←a[l-1]; l←l+1 Fin Proceso DESPLAZAR Fin Procedimiento DESPLAZAR_ARREGLO;Inicia LEE_ORDENADO CONTA←0; Repetir Escribir (‘Ingrese el nombre’,CONTA,’:’); Leerysaltar (NOMBRE);
Si NOMBRE <> ‘Fin’ entonces Proceso POSICION_DESPLAZA CONTA ←CONTA +1; POSICION←BUSCA_POSICION(NOMBRE); DESPLAZAR_ARREGLO (POSICION); A[POSICION]←NOMBRE
Fin Proceso POSICION_DESPLAZA Hasta_que (NOMBRE=’Fin’) O (CONTA>TF); Fin Procedimiento LEE_ORDENADO Procedimiento IMPRESIÓN(A:VECTOR;N:Entero); Var I:Entero; Inicia IMPRESIÓN Escribirysaltar (‘LOS NOMBRES ORDENADOS SON:’); Para l←1 a N Hacer Escribirysaltar (A[l]); Fin Procedimiento IMPRESIÓNInicia ARREGLO_ORDENADO LEE_ORDENADO(A,TL); IMPRESIÓN(A,TL);Fin Programa ARREGLO_ORDENADO
EJERCICIO 12DIEGO BARRAGAN12.- Realizar un programa que lea un vector A de N elementos de tipo entero y que tenga dos valores enteros. Utilizando este procedimiento determinar e imprimir los siguientes literales.
a) Intercambiar los elementos de vector A, el primero con el último, el segundo con el penúltimo, etc.
b) Intercambiar los elementos de las posiciones pares con sus correspondientes en las posiciones impares.
c) Intercambiar el elemento de la posición J (valor entero menor a N e ingresado desde teclado) con el elemento más grande de las posiciones J,J+1,…,N
// Nombre: Diego Barragán//Programa: Intercambio Vectores
Proceso Intercambio_vetoresEscribir “Ingrese el vector”
Leer NPara i=50 Hasta N Con paso de 1 HacerEscribir “Ingrese el elemento”
Leer A[I]FinPara
Para i=N Hasta 0 Con paso de - 1 HacerEscribir A[I]
FinPara
Para i=1 Hasta N Con paso de 2 HacerEscribir A[I]
FinPara
Para i=0 Hasta N Con paso de 2 HacerEscribir A[I]
FinPara
Fin Programa
EJERCICIO 13ARIAS GANCHALA JOSE VICENTE
Escribir un programa que lea dos vectores A y B de N elementos de tipo entero cada uno, y que realice los siguientes literales:
a) Que compare los dos arreglos A y B para verificar si son idénticos, en una función de tipo Lógico, es decir, verificar si el I-ésimo elemento de A es igual a el I-ésimo elemento de B para todo I de 1 a N. Si los arreglos son idénticos la función toma el valor Verdadero; caso contrario toma Falso.
b) Que verifique si el elemento de A ocurre una sola vez en A, en una función de tipo lógico. La función toma el valor Verdadero si esto sucede; caso contrario toma falso.
El programa también debe imprimir el resultado de los literales anteriores.
VECTORES AY B# INCLUDE<IOSTREAM.H>#INCLUDE<STDIO.H>#INCLUDE<MAT.H>VOID MAIN(){INT A[J],INT B[I];J= 0 TO 10I = 0 TO 10IF J > 0 FOR J TO Y;IF I < 10 THENJ STOP;IF J +1 = I -1 THEN COUT “ VECTOR VERDADERO “ ;ELSEIF J -1 = I +1 THEN COUT<<” VECTOR FALSO”;END END END}
EJERCICIO 14JOHANNA ALMAHI
14) Realizar un programa en pseudo-códigos que lea un número entero positivo menor o igual a 255 y que escriba su equivalente en número binario de 8 bits. Por ejemplo:
- El número 48 se deberá representar así 00110000- El número 75 se deberá representar así 01001011
Como se puede observar en los ejemplos, en los números binarios deben aparecer todos los 8 bits, aunque los más significativos sean cero.
//Autor: Johanna Almahi//Carrera: Electrónica en Automatización y Control -2do A
#include <iostream.h>void main(){int x,bin[8],cont;
do{cout<<"Ingres numero entre 1 y 255\n";cin>>x;}while(x<1 || x>255);for(int i=7;i>=0;i--){ bin[i]=x%2; cont=x/2; x=cont;}for(int j=0;j<8;j++)
cout<<bin[j];}
EJERCICIO 15JOHANNA ALMAHI
15) Escribir un programa que busque un determinado nombre ingresado desde teclado, en una lista de nombres también ingresados desde teclado y que se almacena en un arreglo de tipo Hilera. El programa deber imprimir el mensaje “Nombre encontrado” si el nombre está en la lista, o el mensaje “Nombre no encontrado” si el nombre no está en la lista.
//Autor: Johanna Almahi//Carrera: Electrónica en Automatización y Control -2do A
#include <iostream.h>#include <string.h>void main(){ char hilera1[10]; char hilera2[10]; char hilera3[10]; char hilerab[10]; cout<<"Ingrese nombre 1";
cin>>hilera1; cout<<"Ingrese nombre 2"; cin>>hilera2; cout<<"Ingrese nombre 3"; cin>>hilera3; cout<<"Ingrese nombre a buscar"; cin>>hilerab; if(!strcmp(hilera1,hilerab)) { cout<<"Nombre encontrado"; } else {
if(!strcmp(hilera2,hilerab)){ cout<<"Nombre encontrado";}else{
if(!strcmp(hilera3,hilerab)){cout<<"Nombre encontrado";}else{cout<<"Nombre no encontrado";}
} }}
EJERCICIO 16 ARIAS GANCHALA JOSE VICENTE
Escribir un programa que lea el conjunto de palabras de un párrafo de un texto, el cual contenga como máximo 500 palabras, considerando a cada palabra como un elemento de un arreglo. Luego el programa debe escribir las palabras en orden alfabético, indicando el número de veces que dicha palabra se halla en el párrafo leído.
Por ejemplo, si el párrafo leído fuera. “Brasil en veinte años se ha convertido en uno de los primeros exportadores de armas del mundo, hasta mil novecientos sesenta y cuatro, Brasil solo fabrica armas cortas”, se escribirá:
PALABRA Nº VECES------------------------------ Años 1Armas 2Brasil 2
CONTEO DE PALABRASvar k,l1,l2,cont,j:integer;n,m:integer;u:integer; {variable que se desplaza por las letras}a:array[1..100] of string;b:array[1..50] of string; {Aqui van a estar las palabras que se repiten}c:array[1..100] of integer; {Para guaradar posiciones de elementos iguales}
palabra:string;verdad:boolean; {Dice si dos palabras son iguales}
begin{Este es para adicionar palabras}k:=1;verdad:=true;
{Este ciclo termina cuando introduces un * comopalabra o el contador es mayor que 100}
while((palabra<>'*') and (k <=100)) Dobeginwriteln('Entre la palabra ',k);readln(palabra);a[k]:=palabra;k:=k+1;end;
{ cont:=0;for j:=1 to 100 DoBeginif ((a[j]<>'') and (a[j]<>'*') ) then {Condicion no terminada}cont:=cont+1;end;writeln('La cantidad de palabras contadas es ',cont);readln;{***************************************…{Este otro trozo de codigo te dice cuales son las palabrasiguales}
for n:=1 to cont dofor m:=n to cont-1 dobegin{Comparemos los caracteres dela primera palabra con todas y luego la n+1 palabra}
if(length(a[n])=length(a[m])) then{Pasemos a comparar las letras deestas para ver si son iguales todas}beginfor u:=1 to length(a[n]) doif(a[n][u]<>b[n][u]) thenverdad:=false;
{Aqui solo se comparan letras}if(verdad=true) thenbeginl1:=l1+1;{Se supone que dos palabras sean iguales}
end;
end;
end;
EJERCICIO 17Erick Enríquez
Las respuestas de un examen son de la forma "verdadero" o "falso", teniéndose como máximo 100 preguntas. Realizar un programa que calcule las calificaciones sobre 20 puntos del examen tomados a los alumnos de un curso, para lo cual se debe leer desde teclado los dos arreglos de tipo Lógico: las respuestas del alumno y las respuestas correctas. Además el programa debe imprimir los dos arreglos y las calificaciones sobre 20 puntos.//Escuela Politécnica del Ejército//Autor: Erick Enríquez//Fecha de entrega 29/10/2009//Carrera Electrónica Aut. y Control//Paralelo "A"//Capitulo 5
Proceso Problema_7Escribir "NOMBRE DEL ALUMNO: ";Leer NOMBRE;
RepetirEscribir "TOTAL DE PREGUNTAS (MAXIMO 100): ";Leer MAX;Si (MAX>100 O MAX<1) O NO(MAX=TRUNC(MAX)) Entonces
Escribir "ERROR: EL NUMERO DE PREGUNTAS ES ENTRE 1 y 100, Y NUMERO ENTERO";
FinSiHasta Que (MAX>0 Y MAX<=100) Y (MAX=TRUNC(MAX))
Dimension CORRECTAS [100];//respuestas correctasDimension ALUMNO [100];//respuestas contestadas por el alumno
//Ingreso de correctas
Para i<-1 Hasta MAX Con Paso 1 HacerRepetir
Escribir "RESPUESTA CORRECTA ",i," (V/F): ";
Leer VoF;Si NO(VoF="V" O VoF="F") Entonces
Escribir "ERROR: ESCRIBA V (VERDADERO) O F (FALSO)";
FinSiHasta Que (VoF="V") O (VoF="F")Si VoF="V" Entonces
CORRECTAS[i]<-Verdadero;Sino
CORRECTAS[i]<-Falso;FinSi
FinPara
//Ingreso de contestadas y comparacion
SUMA_CORRECTAS<-0;Para i<-1 Hasta MAX Con Paso 1 Hacer
RepetirEscribir "RESPUESTA CONTESTADA ",i," (V/F): ";Leer VoF;
Si NO(VoF="V" O VoF="F") Entonces
Escribir "ERROR: ESCRIBA V (VERDADERO) O F (FALSO)";
FinSiHasta Que (VoF="V") O (VoF="F")Si VoF="V" Entonces
ALUMNO[i]<-Verdadero;Sino
ALUMNO[i]<-Falso;FinSiSi ALUMNO[i]=CORRECTAS[i] Entonces
SUMA_CORRECTAS<-SUMA_CORRECTAS+1;FinSi
FinPara
//CALIFICACIONNOTA<-(SUMA_CORRECTAS*20)/MAX;
Para i<-1 Hasta MAX Con Paso 1 HacerEscribir "PREGUNTA ",i,": RESPUESTA CORRECTA-> ",CORRECTAS[i]," UD.
CONTESTO-> ",ALUMNO[i];FinPara
Escribir "LA CALIFICACION SOBRE 20 PUNTOS ES DE: ",NOTA;
FinProceso
EJERCICIO 18
NORMA BENALCAZAR18. Realizar un programa para ingresar un vector A de n elementos reales, y que contenga dos funciones para obtener la diferencia más grande y la más pequeña entre dos elementos consecutivos del vector A, respectivamente. (NORMA BENALCAZAR)Programa ELEMENTOS_CONSECUTIVOS; Const TF=100; Tipo VECTOR= Arreglo[1…TF] Var A:VECTOR; N:Entero;Procedimiento LECTURA(Var A: VECTOR; Var N:Entero); Var I: Entero; Inicia LECTURA Repetir Escribir(‘Ingrese el número de elementos:’); Leerysaltar (N) Hasta que (N>0) Y (N<=TF); Escribirysaltar (‘Ingreso de elementos’); Para l<-1 a N hacer Proceso INGRESO Escribir (‘Elemento’,l,’:’); Leerysaltar (A[l]) FinProceso INGRESOFinProcedimiento LECTURA Procedimiento IMPRESION( A: VECTOR; N:Entero); Var I: Entero; Inicia IMPRESION Escribir(‘elementos del vector:’); Para l<-1 a N hacer Escribir (A[l],’ ‘); EscribirysaltarFinProcedimiento IMPRESIÓN;
Funcion MAS_GRANDE(A:VECTOR; N: Entero):Real; Var GRANDE:Real; I: Entero; Inicia MAS_GRANDE GRANDE<- ABS(A[1]- A[2]) Para l<-2 a N-1 hacer Si ABS(A[L]- A[L+1])> GRANDE Entonces GRANDE<- ABS(A[L]- A[L+1]); MAS_GRANDE<- GRANDE Fiin Funcion MAS_GRANDE;
Funcion MAS_PEQUENIO(A:VECTOR; N: Entero):Real; Var PEQUENIO:Real; I: Entero; Inicia MAS_PEQUENIO PEQUENIO<- ABS(A[1]- A[2]) Para l<-2 a N-1 hacer Si ABS(A[L]- A[L+1])<PEQUENIO Entonces PEQUENIO<- ABS(A[L]- A[L+1]); MAS_PEQUENIO<- PEQUENIO Fiin Funcion MAS_PEQUENIO;
Inicia CONSECUTIVOS LECTURA(A,N) IMPRESIÓN (A,N) Escribirysaltar(‘Diferencia más grande:’, MAS_GRANDE(A,N)); Escribirysaltar(‘Diferencia más pequeña:’, MAS_PEQUENIO(A,N));Fin Programa CONSECUTIVOS
EJERCICIO 19
Irvin Cedeño
Realizar un programa que lea una serie de N números enteros y los introduzca en la primera columna de una matriz A de dimensión TFx3 (TF>=N). Luego el programa debe llenar la matriz A, la cual está formada de la siguiente manera:
El elemento A[I,1] es el elemento I de la serie. El elemento A[I,2] es el índice del elemento de la serie
inmediatamente inferior al elemento de índice I, si éste existe, en caso contrario será 0.
El elemento A[I,3] es el índice del elemento de la serie inmediatamente superior al elemento índice I, si éste existe, en caso contrario será 0.
Programa Inmediato //Const.: TF<-500//Tipo: MATRIZ <-Arreglo[1..TF,1..3] De Entero//Var A: MATRIZ; N, M, I, J, MIN_MAX, INF_SUP, OP, POSICION: Entero// FLAG: LógicoRepetir
Escribir “Ingrese el número de elementos de la serie:”;Leer M;
Hasta que M>0 Y M<=TFPara I<-1 Hasta M Con paso 1 Hacer
Escribir “Elemento”, I, “=”;
Leer B[I,1];FinparaEscribir “Elementos de la serie:”;Para J<-1 Hasta M Con Paso 1 Hacer
Escribir B[J,1];Escribir “Matriz generada A”;Para I<-1 Hasta M Con paso 1 Hacer
Para J<-1 Hasta 3 con paso 1 HacerEscribir B[I,J];
FinparaFinpara
FinparaMIN_MAX<-A[I,1]Para I<-2 Hasta N Con paso 1 Hacer
Caso OP De2: FLAG<-A[I,1]<MIN_MAX3: FLAG<-A[I,1]>MIN_MAX
FincasoSi FLAG Entonces
MIN_MAX<-A[I,1]Finsi
FinparaPara I<-1 Hasta N Con paso 1 Hacer
POSICION<-0Caso OP De
2: FLAG<-A[J,1]< A[I,1] Y A[J,1]>=INF_SUP3: FLAG<-A[J,1]> A[I,1] Y A[J,1]<=INF_SUP
FincasoSi FLAG Entonces
INF_SUP<- A[J,1]POSICION<-J
FinsiA[I,OP]<-POSICION
FinparaFinProceso
EJERCICIO 20EJERCICIO 21WLADIMIR DIAZ
21. Dado un arreglo X de N elementos enteros, escribir un Programa para calcular la mediana del arreglo X. La mediana del arreglo X se define de la siguiente manera:
Si N es impar, la mediana es elemento de, tal que la mitad de los elementos de x es menor o igual a la mediana y la otra mitad es mayor o igual a la mediana.
Si N es par, la mediana es el promedio de los elementos P y Q, tales que la mitad de los elementos es menor o igual a P y Q, y la otra mitad es mayor o igual a P y Q.
Se debe tener en cuenta que el arreglo X puede estar desordenado, por lo que primero se debe escribir un procedimiento que ordene el arreglo X ascendente.
Autor: Wladimir Díaz M. Curso: 2do “A”//Autor: Wladimir Diaz M.//Facultad:Ing.Electronica Automatizacion y Control//Curso: 2do "A"//Capitulo:N.5//Ejercicio:N.21//Fecha de Creacion:23-10-2009//Fecha de Modificaciòn:28-10-2009Proceso MEDIANA
Escribir "INGRESE EL NUMERO DE ELEMENTOS DEL ARREGLO";Leer N;Dimension X[100];Escribir "-------------------------------------------------------";
Para i<-1 Hasta N Con Paso 1 HacerEscribir "INGRESE EL VALOR No. ",i,": ";Leer X[i];
FinPara
//ORDENAR XPara j<-1 Hasta N Con Paso 1 Hacer
Para i<-1 Hasta N-1 Con Paso 2 HacerSi X[i]>X[i+1] Entonces
TEMPORAL<-X[i];X[i]<-X[i+1];X[i+1]<-TEMPORAL;
FinSiFinParaPara i<-2 Hasta N-1 Con Paso 2 HacerSi X[i]>X[i+1] Entonces
TEMPORAL<-X[i];X[i]<-X[i+1];X[i+1]<-TEMPORAL;
FinSiFinPara
FinPara
Escribir "-------------------------------------------------------";Escribir "EL ARREGLO ORDENADO ASCENDENTEMENTE ES:";
Para i<-1 Hasta N Con Paso 1 HacerEscribir X[i];
FinPara
Escribir "-------------------------------------------------------";
//MEDIANASi N%2=0 Entonces
i<-N/2;MEDIANA<-(X[i]+X[i+1])/2
Sinoi<-trunc((N+1)/2);MEDIANA<-X[i];
FinSi
Escribir "LA MEDIANA ES: ",MEDIANA;
FinProceso
EJERCICIO 22Erick Enríquez
22. Realizar un programa que lea los nombres de un grupo de estudiantes y sus calificaciones respectivas en una materia, que luego calcule e imprima la media de dichas calificaciones, así como el nombre de cada estudiante con su calificación y la diferencia con la media calculada.
//Escuela Politécnica del Ejército//Autor: Erick Enríquez//Fecha de entrega 29/10/2009//Carrera Electrónica Aut. y Control//Paralelo "A"//Capitulo 5Proceso Problema_22
Escribir "INGRESE EL NUMERO ESTUDIANTES A REGISTAR";Leer N;Dimension NOMBRES[100];Dimension NOTAS[100];
SUMA<-0;Para i<-1 Hasta N Con Paso 1 Hacer
Escribir "INGRESE NOMBRE DEL ESTUDIANTE ",i,": ";Leer NOMBRES[i];Escribir "INGRESE LA NOTA DEL ESTUDIANTE ",i,": ";Leer NOTAS[i];SUMA<-SUMA+NOTAS[i];
FinPara
//CALCULO DE LA MEDIAMEDIA<-SUMA/N;Escribir "LA MEDIA ES: ",MEDIA;Escribir "NOMBRE NOTA DIFERENICIA (NOTA-MEDIA)";Para i<-1 Hasta N Con Paso 1 Hacer
Escribir NOMBRES[i]," ",NOTAS[i]," ",NOTAS[i]-MEDIA;FinParaFinProceso
EJERCICIO 23DENIS FLORES
Proceso Capitulo5_Ejercicio23//Autor: Denis Flores Pazos//Curso: Primero "A", Electrónica en automatización y control//Los Alumnos de una materia tienen notas correspondientes a 6 aportaciones diferentes, con un determinado coeficiente ingresado desde teclado para cada aportación, pudiendo un alumno no tener nota en alguna aportación. Realizar un programa que permita calcular la media de las notas de todas las aportaciones de cada alumno, la media general de la clase, la media de la clase en cada aportación y el porcentaje de alumnos sin aportaciones.
Repetir//el número de alumnos en el curso será de 4 por tanto habrán 24
aportaciones en total//los aportes están calificados sobre 20 puntosv<-"S";Escribir "Para el Alumno 1";Escribir "Ingrese el 1er aporte"; Leer a1;Escribir "Ingrese el 2do aporte"; Leer a2;Escribir "Ingrese el 3er aporte"; Leer a3;Escribir "Ingrese el 4to aporte"; Leer a4;Escribir "Ingrese el 5to aporte"; Leer a5;Escribir "Ingrese el 6to aporte"; Leer a6;Escribir " ";Escribir "Para el Alumno 2"Escribir "Ingrese el 1er aporte"; Leer b1;Escribir "Ingrese el 2do aporte"; Leer b2;Escribir "Ingrese el 3er aporte"; Leer b3;Escribir "Ingrese el 4to aporte"; Leer b4;Escribir "Ingrese el 5to aporte"; Leer b5;Escribir "Ingrese el 6to aporte"; Leer b6;Escribir " ";Escribir "Para el Alumno 3"Escribir "Ingrese el 1er aporte"; Leer c1;Escribir "Ingrese el 2do aporte"; Leer c2;Escribir "Ingrese el 3er aporte"; Leer c3;Escribir "Ingrese el 4to aporte"; Leer c4;Escribir "Ingrese el 5to aporte"; Leer c5;Escribir "Ingrese el 6to aporte"; Leer c6;Escribir " ";Escribir "Para el Alumno 4"Escribir "Ingrese el 1er aporte"; Leer d1;Escribir "Ingrese el 2do aporte"; Leer d2;Escribir "Ingrese el 3er aporte"; Leer d3;Escribir "Ingrese el 4to aporte"; Leer d4;Escribir "Ingrese el 5to aporte"; Leer d5;
Escribir "Ingrese el 6to aporte"; Leer d6;Si a1>20|a2>20|a3>20|a4>20|a5>20|a6>20|b1>20|b2>20|b3>20|b4>20|
b5>20|b6>20|c1>20|c2>20|c3>20|c4>20|c5>20|c6>20|d1>20|d2>20|d3>20|d4>20|d5>20|d6>20 Entonces
Escribir "Cada aporte no puede exceder de 20 o ser negativo";Sino
media_todas_notas_al1<-((a1+a2+a3+a4+a5+a6)/6)media_todas_notas_al2<-((b1+b2+b3+b4+b5+b6)/6)media_todas_notas_al3<-((c1+c2+c3+c4+c5+c6)/6)media_todas_notas_al4<-((d1+d2+d3+d4+d5+d6)/6)Escribir " ";Escribir "La media de todos los aportes del Alumno 1 es ",media_todas_notas_al1;Escribir "La media de todos los aportes del Alumno 2 es ",media_todas_notas_al2;Escribir "La media de todos los aportes del Alumno 3 es ",media_todas_notas_al3;Escribir "La media de todos los aportes del Alumno 4 es ",media_todas_notas_al4;med_general_clase<-(((a1+a2+a3+a4+a5+a6)/6)+
((b1+b2+b3+b4+b5+b6)/6)+((c1+c2+c3+c4+c5+c6)/6)+((d1+d2+d3+d4+d5+d6)/6))/4Escribir " ";Escribir "La media general de la clase es ",med_general_clase;med_clase_una_apor<-(a1+b1+c1+d1)/4med_clase_dos_apor<-(a2+b2+c2+d2)/4med_clase_tres_apor<-(a3+b3+c3+d3)/4med_clase_cuatro_apor<-(a4+b4+c4+d4)/4med_clase_cinco_apor<-(a5+b5+c5+d5)/4med_clase_seis_apor<-(a6+b6+c6+d6)/4Escribir " ";Escribir "La media de la clase en la primera aportacion es ",med_clase_una_apor;Escribir "La media de la clase en la segunda aportacion es ",med_clase_dos_apor;Escribir "La media de la clase en la tercera aportacion es ",med_clase_tres_apor;Escribir "La media de la clase en la cuarta aportacion es ",med_clase_cuatro_apor;Escribir "La media de la clase en la quinta aportacion es ",med_clase_cinco_apor;Escribir "La media de la clase en la sexta aportacion es ",med_clase_una_apor;Si a1=0|a2=0|a3=0|a4=0|a5=0|a6=0|b1=0|b2=0|b3=0|b4=0|b5=0|
b6=0|c1=0|c2=0|c3=0|c4=0|c5=0|c6=0|d1=0|d2=0|d3=0|d4=0|d5=0|d6=0 EntoncesEscribir " ";Escribir "Existen alumnos sin aportaciones (0)"
SinoEscribir " ";Escribir "No hay Alumnos sin aportaciones";
FinSiFinSiEscribir "Desa volver a ingresar datos S/N?";
leer fv<-f
Hasta Que V="N"FinProceso
EJERCICIO 24
Hacer un programa con el siguiente menú:
0 Salir1 Sumar la serie armónica2 Sumar los dígitos de un número
Este menú debe parecer en pantalla cada vez que se desea elegir una de las opciones descritas a continuación:
Con 0 termina la ejecución del programa.Con 1 se llama a un procedimiento que ingresa un número entero positivo N que es límite de la serie armónica, luego suma los términos de la serie, como se muestra a continuación:1+1/2+1/3+…+1/NCon 2 se llama a un procedimiento que ingresa un número entero positivo y luego suma sus dígitos.
Proceso Menu//Declaración de variables://a: Entero;//n: Entero;//f: Real;//g: Real;Repetir
RepetirEscribir "0 SALIR";Escribir "1 SUMAR LA SERIE ARMONICA";Escribir "2 SUMAR LOS DIGITOS DE UN NUMERO";Leer a;
Hasta Que a=0 o a=1 o a=2Segun a Hacer1:
RepetirEscribir "Ingrese un numero entero positivo";Leer ns<-1Para b<-2 hasta n con paso 1 Hacer
s<-s+(1/b);FinParaEscribir "La serie armónica es ", s;Escribir "Desea continuar s/n";Leer op;Repetir
Si op<>"s" & op<>"n" EntoncesEscribir "Solo ingrese los caracteres s/n";Leer op;
FinSiHasta Que op="s" o op="n"
Hasta Que op="n"2:
RepetirEscribir "Ingrese el primer digito"Leer f;Escribir "Ingrese el segundo digito"Leer g;Escribir "La suma de los dos digitos es ",f+g;Escribir "Desea continuar s/n";Leer op;Repetir
Si op<>"s" & op<>"n" EntoncesEscribir "Solo ingrese los caracteres s/n";Leer op;
FinSiHasta Que op="s" o op="n"
Hasta Que op="n"FinSegun
Hasta Que a=0FinProceso
EJERCICIO 25ROBERTO HIDALGO25.- Programa que calcule la "media ponderada" de una lista de n numeros, utilizando la formula: Xmedia=f1x1+f2x2+..+fnxn donde fi son el peso de cada cantidad y deben ser fraccionarios que cumplen las condiciones:0<=fi<1 f1+f2+...+fn=1Nota: Validar el ingreso de los fi para que cumplan las dos condicionesanteriores.
/*PROGRAMACION: 1“A” EAC *//*NOMBRE: ROBERTO HIDALGO*//*FECHA DE CREACION: MARTES 27 DE OCTUBRE DEL 2009*//*FECHA DE MODIFICACION: ---*/
#include <stdio.h>#include <conio.h>
#define MAXI 100
void ponderada();
void main()
{ int n,op; ponderada(); do
{ printf("\n Desea continuar si=1 y no=0"); scanf("%d",&op); if (op!=1 && op!=0)
printf("\n\a El numero ingresado es incorrecto debe ser si=1 y no=0\n "); } while (op!=1 && op!=0);
}
void ponderada()
{ int lista,cont=1,n=0; float x,media,suma=0;
clrscr(); while(1) { printf("Ingrese el numero de terminos"); scanf("%d",&lista); if ((lista>=1)&&(lista<=MAXI)) break; else continue; } for( ;cont<=lista;cont++) { printf("Ingrese el numero?"); scanf("%f",&x); if (x<0) continue; suma+=x*1/lista;
} media=suma/lista; printf("La media ponderas es: %10.2f",media); getch();}
EJERCICIO 26EDISON NIETO
26) escribir un programa que lea los elementos de una matriz de dimisión Nxm, que sume y obtenga el numero de elementos positivos, y obtenga el numero de
elementos negativos de dicha matriz y que imprima la matriz y los datos calculados.
//NOMBRE: EDISON NIETO R.//CURSO: 1ERO "A" EAC//FECHA: 22/10/09//ALGORITMO: ANALISIS DE UNA MATRIZ
1. Ingreso el numero de filas de la matriz2. Ingreso el numero de columnas de la matriz3. Ingreso los números de la matriz fila por fila
4. Analizo los elementos en cada una de las filas.
5. Si el valor de un elemento es mayor igual a cero sumo en un acumulador para la
suma, cada ves que se repita este laso sumo uno al contador de números positivos.6. Resto el contador de números positivos de i*j para obtener el numero de elementos
negativos, y guardo su valor en la variable contador negativo7. Imprimo la matriz, la sumatoria de elementos positivos el contador de números
positivos y el contador de números negativos.8. Finalizo
EJERCICIO 27DIEGO PICHOASAMIN
27) Realizar una matriz de orden N ingresando desde teclado ,que calcule la suma de los elementos de la diagonal principal ,y que luego imprima la matriz ingresada y el valor calculado
Autor: Diego PichoasamínAutomatización y control "2A
proceso suma_diagonal//Diego Pichoasamin//ejercicio:calculo de la abscisa y la altura//F.creacion:14-09-09//F.modificacion:14-09-09//Automatizacion y control "2A"ESCRIBIR "";//enteros k,t,i,j,hh<-0para k=1 hasta t-1 Hacer
i<--kj<--1SUM<--1MIENTRAS i>=1 & j<=t Hacer
SUM<--SUM+A(i,j)i<--i-1j<--j+1
FinMientrash<--h-1B(h)<--SUM
finparapara k=1 hasta t hacer
j<--ki<--tSUM<--1Mientras i>=1 & j<=t Hacer
SUM<--SUM*A(i,j)i<--i-1j<--j+1FinMientrash<--h+1B(h)<--SUM
finparaFinProceso
EJERCICIO 28EJERCICIO 29EJERCICIO 30GEOVANNA SANTOS 30) REALIZAR UN PROGRAMA QUE SUME DOS MATRICES DE DIMENSIONES N*M INGRESADAS DESDE TECLADO. LA SUMA DE DOS MATRICES A Y B DE DIMENSIONES N* M SE DEFINE COMO LA MATRIZ C DE DIMENSION N * M, DONDE CADA ELEMENTO SERA LA SUMA DE LOS ELEMENTOR CORRESPONDIENTES A LAS MATRICES A Y B , ES DECIR C [ I,J] = A[I,J] + B[ I,J]EL PROGRAMA DEBE INGRESAR LAS MATRICES A Y B E IMPRIMIR DICHAS MATRICES Y SU SUMA {PROGRAMA PARA SUMAR Y MULTIPLICAR MATRICES}
INICIO IMPRIME encabezado. LEE las dimensiones de las matrices A y B. SI las matrices no son compatibles para la suma, ENTONCES IMPRIME mensaje_1. SI las matrices no son compatibles para la mult., ENTONCES IMPRIME mensaje_2. SI son compatibles para la suma o para la mult. , ENTONCES INICIO LEE las matrices A y B. IMPRIME las matrices A y B. SI son compatibles para la suma, ENTONCES INICIO
SUMA las matrices A y B. IMPRIME la matriz resultado C. FIN FINFIN.
EJERCICIO 31DIEGO SORIA31) las nota de los alumnos de un curso se almacenan en una matriz de dimensión 5x6, donde 50 es el número máximo de alumnos y 6 el numero de materias cada alumno sigue minimo 2 materias. Registrar un programa que lea los nombres de los alumnos y los almacene en un arreglo nombres, que lea para cada alumno sus notas correspondientes, y luego liste alfabéticamente los nombres de los alumnos con sus notas y su media deacuerdo a
NOMBRE MAT1 MAT2 MAT3 MAT4 MAT5 MEDIA
Proceso PROGRA_31Repetir
Escribir 'INGRESE EL NUMERO DE ESTUDIANTES:';Leer N;
Hasta Que N>0 & N<=50Escribir '';Para CT<-1 Hasta N Con Paso 1 Hacer
Escribir 'INGRESE EL NOMBRE DEL ESTUDIANTE ',CT,':';Leer NC;Repetir
Escribir 'INGRESE NOTA 1:'Leer A;
Hasta Que A>=0 & A<=20 Repetir
Escribir 'INGRESE NOTA 2:'Leer S;
Hasta Que S>=0 & S<=20 Repetir
Escribir 'INGRESE NOTA 3:'Leer D;
Hasta Que D>=0 & D<=20 Repetir
Escribir 'INGRESE NOTA 4:'Leer G;
Hasta Que G>=0 & G<=20 Repetir
Escribir 'INGRESE NOTA 5:'Leer H;
Hasta Que H>=0 & H<=20 FinPara
Escribir '';Escribir 'LISTA DE LOS ESTUDIANTES';Escribir 'Nº NOMBRE MAT1 MAT2 MAT3 MAT4 MAT5 MEDIA';Escribir
'________________________________________________________________________ ';
Para CT<-1 Hasta N Con Paso 1 Hacer
Escribir CT,' ',NC,' ',A,' ',S,' ',D,' ',G,' ',H,' ',(A+S+D+G+H)/5;
FinParaFinProceso
EJERCICIO 32
CARLOS VACA
32) Escribir un programa en pseudos-códigos que lea un vector de N elementos y que con ellos forme una matriz, debe almacenar el vector el la primera fila de la matriz la segunda fila debe ser la primera desplazada 2 sitios a la izquierda teniendo en cuenta que el penultimo numero de la fila es el primero de la fila anterior y el ultimo es el segundoEjemplo[15 1 27 9 8 14]Debe generar15 1 27 9 8 1427 9 8 14 15 18 14 15 1 27 915 1 27 9 8 14
Proceso sin_titulo//"ESCUELA POLITECNICA DEL EJERCITO";//"CREADO POR: CARLOS_VACA";//capitulo 5 Ejercicio 32";tf<-500;([1],...,[tf]);([1],...,[3]);Repetir
Escribir 'ingrese el numero de elementos de la serie';Leer m;
Hasta Que m>0 & m<=tfPara i<-1 Hasta m Con Paso 1 Hacer
Escribir 'elemento',i,'=';Leer b[i,1];
FinParaEscribir 'elementos de la serie:';Para j<-1 Hasta m Con Paso 1 Hacer
Escribir (b[j,1]),'';FinPara
Escribir 'matriz generada';Para i<-1 Hasta m Con Paso 1 Hacer
Para j<-1 Hasta m Con Paso 3 HacerEscribir (b(i,1),'');
FinParaFinPara
mx<-a[1,1];Para i<-2 Hasta n Con Paso 1 Hacer
Segun Opcion Hacer2:
fg<-a[1,1]<mx;3:
fg<-a[1,1]>mx;De Otro Modo:Si fg Entonces
mx<-a[1,1];Sino
Escribir 'mal';FinSiFinSegun
FinParaPara i<-1 Hasta n Con Paso 1 Hacer
inf<-mx;po<-0;
FinParaPara j<-1 Hasta n Con Paso 1 Hacer
Segun Opcion Hacer2:
fg<-a[j,1]<a[i,1] & a[j,1]>=inf;3:
fg<-a[j,1]>a[i,1] & a[j,1]<=inf;De Otro Modo:
Escribir 'Mal';FinSegunSi fg Entonces
inf<-a[j,1];po<-j
SinoEscribir 'mal';
FinSiFinParaa[i,op]<-po;
FinProceso
EJERCICIO 33
PATRICIO VASCONEZEscribir un programa en pseudocódigos que ordene ascendentemente un vector por el método llamado “par-impar” que consiste en lo siguiente: se comienza comparando cada elemento de los índices impares con el que se encuentra a su derecha , si no están ordenados ascendentemente se realiza el intercambio; luego se compara cada elemento de los índices pares con el que se encuentra a su derecha , no están ordenados ascendentemente se realiza el intercambio ordenado.
//AUTOR: Patricio Vásconez//EJERCICIO: REDONDEAR DECIMALES//FECHA DE EJECUCION: 23_OCT_09//FECHA DE MODIFICACION:29_OCT_09//CARRERA:ELECTRONICA//PARALALO: AProceso ORDENAR_ASCENDENTE
Escribir "INGRESE EL NUMERO DE ELEMENTOS DEL ARREGLO";Leer N;Dimension ARREGLO[100];Escribir "-------------------------------------------------------";Para i<-1 Hasta N Con Paso 1 Hacer
Escribir "INGRESE EL VALOR No. ",i,": ";
Leer ARREGLO[i];FinPara
//ORDENAR ARREGLOPara j<-1 Hasta N Con Paso 1 Hacer
//ORDENAMIENTO PARA INDICES IMPARESPara i<-1 Hasta N-1 Con Paso 2 HacerSi ARREGLO[i]>ARREGLO[i+1] Entonces
TEMPORAL<-ARREGLO[i];ARREGLO[i]<-ARREGLO[i+1];ARREGLO[i+1]<-TEMPORAL;
FinSiFinPara//ORDENAMIENTO PARA INDICES PARESPara i<-2 Hasta N-1 Con Paso 2 HacerSi ARREGLO[i]>ARREGLO[i+1] Entonces
TEMPORAL<-ARREGLO[i];ARREGLO[i]<-ARREGLO[i+1];ARREGLO[i+1]<-TEMPORAL;
FinSiFinPara
FinParaEscribir "-------------------------------------------------------";Escribir "EL ARREGLO ORDENADO ASCENDENTEMENTE ES:";
Para i<-1 Hasta N Con Paso 1 HacerEscribir ARREGLO[i];
FinParaFinProceso
EJERCICIO 34Daniel Zurita
Dada una matriz A de dimension NxM escribir un programa que con procedimientos para obtener e imprimir las matrices descritas en los liteales a y b del siguiente ejemplo:
Sea matriz A de dimension 4x3
1 2 34 5 67 8 910 11 12 Se desea obtener a) 3 2 16 5 49 8 712 11 10b)10 11 12
7 8 94 5 61 2 3
//capitulo 5 ejercicio 34//Autor: Daniel Zurita
Proceso matrizescribir "matriz de dimension 4 x 3";dimension mat[12]a<-0b<-0Mientras a<4 Hacer
a<-a+1Para c<-1 Hasta 3 Con Paso 1 Hacer
b<-b+1escribir "en la posicion ",a," ",cleer mat[b]si mat[b]="" Entonces
mat[b]<-0FinSi
FinPara
FinMientras
escribir "escriba a para hacer la primera operacion o b para la segunda";leer op;si (op<>"a" |op<>"b") Entonces
escribir "no selecciono ninguna opcion";Sino
si op="a" entonces Para b<-3 Hasta 12 Con Paso 3 Hacer
escribir mat[b]," ",mat[b-1]," ",mat[b-2];FinPara
FinSisi op="b" Entonces
Para b<-10 Hasta 1 Con Paso -3 Hacerescribir mat[b]," ",mat[b+1]," ",mat[b+2];
FinParaFinSi
FinSi
FinProceso
EJERCICIO 35EJERCICIO 36EJERCICIO 37
KATHERINE GARCÉSLa matriz Z representa una tabla de anotaciones de los “saltos de altura” de un grupo de atletas, donde las filas representan a los atletas y las columnas las diferentes alturas saltadas por el atleta. Los símbolos almacenados en la tabla son: x salto válido y 0 salto nulo o no intentado, como se muestra a continuación:
MATRIZ Z 2.00 2.10 2.20 2.30 2.35 2.40
Romero x 0 x x x xAcosta 0 0 x 0 x 0Mejía 0 x x x 0 0Albán x x 0 0 x x
Realizar un programa que lea la matriz Z y el vector NOMBRE de tipo Hilera con los nombres de los atletas, que imprima la matriz Z con los nombres de los atletas, y luego que determine el orden de los atletas de acuerdo al mejor salto realizado, pero si existen varios atletas con un mismo mejor salto, tendrá una mejor posición aquel que tenga mayor número de saltos válidos, y si también esto tienen igual, considerar entre ellos los mejores saltos como criterio de selección.
Proceso salto_alto
Escribir "Ingrese el nombre del primer atleta";leer n1;Repetir
Escribir "Ingrese salto valido o nulo para 2.00 metros de altura de"," ",n1,":";
leer s1Si s1<>"x" | s1<>"0" EntoncesFinSi
Hasta Que s1 = "x" | s1 = "0"
Si s1= "x" EntoncesEscribir 'salto valido';a1<-1;
FinSi
si s1= "0" EntoncesEscribir 'salto no valido';a1<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.10 metros de altura
de"," ",n1,":";leer s2
Si s2<>"x" | s2<>"0" EntoncesFinSi
Hasta Que s2 = "x" | s2 = "0"
Si s2="x" EntoncesEscribir 'salto valido';b1<-1;
FinSi
si s2= "0" EntoncesEscribir 'salto no valido';b1<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.20 metros de altura
de"," ",n1,":";leer s3Si s3<>"x" | s3<>"0" EntoncesFinSi
Hasta Que s3 = "x" | s3 = "0"
Si s3="x" EntoncesEscribir 'salto valido';c1<-1;
FinSi
si s3= "0" EntoncesEscribir 'salto no valido';c1<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.30 metros de altura
de"," ",n1,":";leer s4Si s4<>"x" | s4<>"0" EntoncesFinSi
Hasta Que s4 = "x" | s4 = "0"
Si s4="x" EntoncesEscribir 'salto valido';d1<-1;
FinSi
si s4= "0" EntoncesEscribir 'salto no valido';d1<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.35 metros de altura
de"," ",n1,":";leer s5Si s5<>"x" | s5<>"0" EntoncesFinSi
Hasta Que s5 = "x" | s5 = "0"
Si s5="x" EntoncesEscribir 'salto valido';e1<-1;
FinSi
si s5= "0" EntoncesEscribir 'salto no valido';e1<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.40 metros de altura
de"," ",n1,":";leer s6Si s6<>"x" | s6<>"0" Entonces
FinSiHasta Que s6 = "x" | s6 = "0"
Si s6="x" EntoncesEscribir 'salto valido';f1<-1;
FinSi
si s6= "0" EntoncesEscribir 'salto no valido';f1<-0;
FinSi
Escribir "Ingrese el nombre del segundo atleta";leer n2;Repetir
Escribir "Ingrese salto valido o nulo para 2.00 metros de altura de"," ",n2,":";
leer s1Si s1<>"x" | s1<>"0" EntoncesFinSi
Hasta Que s1 = "x" | s1 = "0"
Si s1= "x" EntoncesEscribir 'salto valido';a2<-1;
FinSi
si s1= "0" EntoncesEscribir 'salto no valido';a2<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.10 metros de altura
de"," ",n2,":";leer s2Si s2<>"x" | s2<>"0" EntoncesFinSi
Hasta Que s2 = "x" | s2 = "0"
Si s2="x" Entonces
Escribir 'salto valido';b2<-1;
FinSi
si s2= "0" EntoncesEscribir 'salto no valido';b2<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.20 metros de altura
de"," ",n2,":";leer s3Si s3<>"x" | s3<>"0" EntoncesFinSi
Hasta Que s3 = "x" | s3 = "0"
Si s3="x" EntoncesEscribir 'salto valido';c2<-1;
FinSi
si s3= "0" EntoncesEscribir 'salto no valido';c2<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.30 metros de altura
de"," ",n2,":";leer s4Si s4<>"x" | s4<>"0" EntoncesFinSi
Hasta Que s4 = "x" | s4 = "0"
Si s4="x" EntoncesEscribir 'salto valido';d2<-1;
FinSi
si s4= "0" EntoncesEscribir 'salto no valido';
d2<-0;FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.35 metros de altura
de"," ",n2,":";leer s5Si s5<>"x" | s5<>"0" EntoncesFinSi
Hasta Que s5 = "x" | s5 = "0"
Si s5="x" EntoncesEscribir 'salto valido';e2<-1;
FinSi
si s5= "0" EntoncesEscribir 'salto no valido';e2<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.40 metros de altura
de"," ",n2,":";leer s6Si s6<>"x" | s6<>"0" EntoncesFinSi
Hasta Que s6 = "x" | s6 = "0"
Si s6="x" EntoncesEscribir 'salto valido';f2<-1;
FinSi
si s6= "0" EntoncesEscribir 'salto no valido';f2<-0;FinSi
Escribir "Ingrese el nombre del tercer atleta";leer n3;Repetir
Escribir "Ingrese salto valido o nulo para 2.00 metros de altura de"," ",n3,":";
leer s1Si s1<>"x" | s1<>"0" EntoncesFinSi
Hasta Que s1 = "x" | s1 = "0"
Si s1= "x" EntoncesEscribir 'salto valido';a3<-1;
FinSi
si s1= "0" EntoncesEscribir 'salto no valido';a3<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.10 metros de altura
de"," ",n3,":";leer s2Si s2<>"x" | s2<>"0" EntoncesFinSi
Hasta Que s2 = "x" | s2 = "0"
Si s2="x" EntoncesEscribir 'salto valido';b3<-1;
FinSi
si s2= "0" EntoncesEscribir 'salto no valido';b3<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.20 metros de altura
de"," ",n3,":";leer s3Si s3<>"x" | s3<>"0" Entonces
FinSiHasta Que s3 = "x" | s3 = "0"
Si s3="x" EntoncesEscribir 'salto valido';c3<-1;
FinSi
si s3= "0" EntoncesEscribir 'salto no valido';c3<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.30 metros de altura
de"," ",n3,":";leer s4Si s4<>"x" | s4<>"0" EntoncesFinSi
Hasta Que s4 = "x" | s4 = "0"
Si s4="x" EntoncesEscribir 'salto valido';d3<-1;
FinSi
si s4= "0" EntoncesEscribir 'salto no valido';d3<-0;FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.35 metros de altura
de"," ",n3,":";leer s5Si s5<>"x" | s5<>"0" EntoncesFinSi
Hasta Que s5 = "x" | s5 = "0"
Si s5="x" EntoncesEscribir 'salto valido';e3<-1;
FinSi
si s5= "0" EntoncesEscribir 'salto no valido';e3<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.40 metros de altura
de"," ",n3,":";leer s6Si s6<>"x" | s6<>"0" EntoncesFinSi
Hasta Que s6 = "x" | s6 = "0"
Si s6="x" EntoncesEscribir 'salto valido';f3<-1;
FinSi
si s6= "0" EntoncesEscribir 'salto no valido';f3<-0;
FinSi
Escribir "Ingrese el nombre del cuarto atleta";leer n4;Repetir
Escribir "Ingrese salto valido o nulo para 2.00 metros de altura de"," ",n4,":";
leer s1Si s1<>"x" | s1<>"0" EntoncesFinSi
Hasta Que s1 = "x" | s1 = "0"
Si s1= "x" EntoncesEscribir 'salto valido';a4<-1;
FinSi
si s1= "0" EntoncesEscribir 'salto no valido';
a4<-0;FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.10 metros de altura
de"," ",n4,":";leer s2Si s2<>"x" | s2<>"0" EntoncesFinSi
Hasta Que s2 = "x" | s2 = "0"
Si s2="x" EntoncesEscribir 'salto valido';b4<-1;
FinSi
si s2= "0" EntoncesEscribir 'salto no valido';b4<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.20 metros de altura
de"," ",n4,":";leer s3Si s3<>"x" | s3<>"0" EntoncesFinSi
Hasta Que s3 = "x" | s3 = "0"
Si s3="x" EntoncesEscribir 'salto valido';c4<-1;
FinSi
si s3= "0" EntoncesEscribir 'salto no valido';c4<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.30 metros de altura
de"," ",n4,":";leer s4Si s4<>"x" | s4<>"0" EntoncesFinSi
Hasta Que s4 = "x" | s4 = "0"
Si s4="x" EntoncesEscribir 'salto valido';d4<-1;
FinSi
si s4= "0" EntoncesEscribir 'salto no valido';d4<-0;
FinSi
RepetirEscribir "Ingrese salto valido o nulo para 2.35 metros de altura
de"," ",n4,":";leer s5Si s5<>"x" | s5<>"0" EntoncesFinSi
Hasta Que s5 = "x" | s5 = "0"
Si s5="x" EntoncesEscribir 'salto valido';e4<-1;
FinSi
si s5= "0" EntoncesEscribir 'salto no valido';e4<-0;
FinSi
Repetir
Escribir "Ingrese salto valido o nulo para 2.40 metros de altura de"," ",n4,":";
leer s6Si s6<>"x" | s6<>"0" EntoncesFinSi
Hasta Que s6 = "x" | s6 = "0"
Si s6="x" EntoncesEscribir 'salto valido';f4<-1;
FinSi
si s6= "0" EntoncesEscribir 'salto no valido';f4<-0;
FinSi
t1<- a1+b1+c1+d1+e1+f1t2<- a2+b2+c2+d2+e2+f2t3<- a3+b3+c3+d3+e3+f3t4<- a4+b4+c4+d4+e4+f4
Si t1>t2 Entoncesm1<-t1;m2<-t2;Sinom1<-t2;m2<-t1;
FinSi
Si t2>t3 Entoncesm1<-t2;m2<-t3;
Sinom1<-t3;m2<-t2;
FinSi
Si t3>t4 Entoncesm1<-t3;m2<-t4;Sinom1<-t4;
m2<-t3;FinSi
Escribir "El numero de saltos validos de"," ",n1," ","son:"," ", t1;Escribir "El numero de saltos validos de"," ",n2," ","son:"," ", t2;Escribir "El numero de saltos validos de"," ",n3," ","son:"," ", t3;Escribir "El numero de saltos validos de"," ",n4," ","son:"," ", t4;Escribir "El mayor numero de saltos validos es de: ",m2;
FinProceso
EJRECICIO 38EJERCICIO 39EJERCICIO 40ARIAS GANCHALA JOSE VICENTE
Realizar un programa que lea el peso actual, las calorías quemadas por día, las calorías ingeridas por día y el peso deseado por una persona.
Luego el programa debe calcular e imprimir el número de días que tardara la persona en alcanzar el peso deseado mediante la relación 3000 calorías es igual a 1 libra.
//variablesa=pesob=peso deseadoc= calorías ganadas d= calorías perdidase=díasf=totalx=1
{cout <<”libras actual”;cin>>a;cout <<”peso deseado”;cin>>b;cout<<”igrese calorias ingeridas”;cin>>c;cout<<”ingrese calorias quemadas”;cin>>d;e=c-d;cout<<”total calorias”<<e;if e= 3000 thena= a-1;if e <>3000 thena=a+1;end if; ned;if e = b thencout <<”su peso actual es “<<”b”;
End if;x=x+1For x to nif e-b thenx=x stopcout<<”los dias transcurridos son”<<”x”;end;}