capitulo 5 eac

56
ESCUELA POLITECNICA DEL EJERCITO CAPITULO 5 LIBRO DE PSEUDOCODIGOS DEL ING EVELIO GRANIZO ELECTRONICA AUTOMATIZACION Y CONTROL PARALELO 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" Entonces Escribir "Solo ingrese los caracteres s/n"; Leer op; FinSi Hasta Que op="s" o op="n" Hasta Que op="n"

Upload: jrp15

Post on 02-Nov-2014

56 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Capitulo 5 Eac

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

Page 2: Capitulo 5 Eac

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"

Page 3: Capitulo 5 Eac

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 "...............................";

Page 4: Capitulo 5 Eac

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;

Page 5: Capitulo 5 Eac

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,": ";

Page 6: Capitulo 5 Eac

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

Page 7: Capitulo 5 Eac

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

Page 8: Capitulo 5 Eac

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

Page 9: Capitulo 5 Eac

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

Page 10: Capitulo 5 Eac

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

Page 11: Capitulo 5 Eac

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";

Page 12: Capitulo 5 Eac

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

Page 13: Capitulo 5 Eac

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;

Page 14: Capitulo 5 Eac

{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): ";

Page 15: Capitulo 5 Eac

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

Page 16: Capitulo 5 Eac

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;

Page 17: Capitulo 5 Eac

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, “=”;

Page 18: Capitulo 5 Eac

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:

Page 19: Capitulo 5 Eac

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];

Page 20: Capitulo 5 Eac

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

Page 21: Capitulo 5 Eac

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;

Page 22: Capitulo 5 Eac

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?";

Page 23: Capitulo 5 Eac

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

Page 24: Capitulo 5 Eac

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>

Page 25: Capitulo 5 Eac

#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

Page 26: Capitulo 5 Eac

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

Page 27: Capitulo 5 Eac

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

Page 28: Capitulo 5 Eac

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

Page 29: Capitulo 5 Eac

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

Page 30: Capitulo 5 Eac

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,": ";

Page 31: Capitulo 5 Eac

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

Page 32: Capitulo 5 Eac

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

Page 33: Capitulo 5 Eac

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

Page 34: Capitulo 5 Eac

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"

Page 35: Capitulo 5 Eac

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

Page 36: Capitulo 5 Eac

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

Page 37: Capitulo 5 Eac

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';

Page 38: Capitulo 5 Eac

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

Page 39: Capitulo 5 Eac

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

Page 40: Capitulo 5 Eac

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

Page 41: Capitulo 5 Eac

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';

Page 42: Capitulo 5 Eac

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

Page 43: Capitulo 5 Eac

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

Page 44: Capitulo 5 Eac

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;

Page 45: Capitulo 5 Eac

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”;

Page 46: Capitulo 5 Eac

End if;x=x+1For x to nif e-b thenx=x stopcout<<”los dias transcurridos son”<<”x”;end;}