You are on page 1of 40

EscueladeCienciasdelaComputacinUTPL

FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

FUNDAMENTOS DE LA PROGRAMACIN
SOLUCIONARIO

Captulo 1

1. Determine si las siguientes afirmaciones son verdaderas o falsas.


Responda con V (Verdadero) o F (Falso).
a. V
b. F
c. F
d. F
e. F
f. F
g. F
h. F
2. Escriba las acciones que permitan hacer las siguientes tareas: declare
tres variables, una tipo texto con identificador nombre, una tipo entero
con identificador ao, y la ltima de tipo real con identificador longitud.
Luego agregue las acciones que permitan solicitar y leer valores del
usuario. Finalmente que se impriman como salida las variables.
Variables
nombre : Texto
ao : Entero
longitud : Real
Solicitar Nombre, Ao, Distancia
Leer nombre, ao, longitud
Imprimir nombre, ao, longitud
3. Dado que y = ax3 + 7 cul de las siguientes expresiones es la correcta?
(Suponga que no conoce otras operaciones aritmticas a ms de las
bsicas)
Respuesta correcta e.

4. Convierta las siguientes expresiones aritmticas a sus equivalentes en


pseudocdigo
a. A = ((B*D) + (2*F))/(E + (2*B))
b. Z = 2 * ((A + B) (2 * C))

Captulo 2
1. Responda con verdadero (V) o falso (F) a las siguientes

preguntas:
a.
b.
c.
d.

(
(
(
(

V)
V)
F)
V)

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

e. ( F )
f. ( V )
2. Elaborar un algoritmo que permita calcular la solucin de una ecuacin
cuadrtica general ax2 + bx + c = 0. Se debe ingresar a, b, c. Y Se debe
presentar el resultado de las soluciones x1, x2. La
Algoritmo FORMULA GENERAL ECUACION CUADRTICA
Clase Secuenciacin4.
1. Mtodo Principal
a. Declaraciones
i. a, b, c, x1,x2: Real;
b. Imprimir encabezados
c. Solicitar el valor de a,b,c
d. Leer el valor de a,b,c
e. IF (b^2-4*a*c)<0 THEN
1. Imprimir La raiz es imaginaria
f. ELSE
1. Presentar el valor de la raiz X1, X2
g. ENDIF
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

3. Ingrese una cadena e insertar un texto desde una posicin dada.


Algoritmo INSERTAR TEXTO
Clase Secuenciacin5.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

1. Mtodo Principal
a. Declaraciones
1. cadena1, cadena2 : Cadena
2. posInsertar: Entero
b. Solicitar cadena1
c. Leer cadena1
d. Solicitar cadena2
e. Leer cadena2
f. Solicitar la posicin a insertar
g. Leer posInsertar
h. Asignar cadena1= cadena1.subcadena(0,posInsertar) + cadena2+
cadena1.subcadena(posInsertar,longitud(cadena1) )
i. Imprimir la cadena1 modificada
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

4. Calcular la posicin del baricentro. Ingresando la posicin en el plano


cartesiano (x,y) de los puntos A, B y C.

Algoritmo CALCULAR BARICENTRO


Clase Secuenciacin6.
1. Mtodo Principal
a. Declaraciones
1. ax, ay, bx, by, cx, cy: Enteros
2. gx, gy: reales
b. Solicitar el valor de A(x,y)
c. Leer ax, ay
d. Solicitar el valor de B(x,y)
e. Leer bx, by
f. Solicitar el valor de C(x,y)
g. Leer cx, cy
h. Calcular gx=(ax+bx+cx)/3
i. Calcular gy=(ay+by+cy)/3
j. Imprimir El valor de G(x,y)
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

3. Construya un algoritmo que al ingresar un numero entero imprima el da


de la semana que le corresponde. Por ejemplo ingrese 1 debe imprimir
Lunes.
Algoritmo IMPRIMIR DIA DE LA SEMANA
Clase Secuenciacin7.
1. Mtodo Principal
a. Declaraciones
dia : Entero
nomDia: Cadena
b. Solicitar el da
c. Leer dia
d. SWITCH (letra) es:
1: Asignar nomDia="Lunes"
2: Asignar nomDia ="Martes"
3: Asignar nomDia ="Miercoles"
4: Asignar nomDia ="Jueves"
5: Asignar nomDia ="Viernes"
6: Asignar nomDia ="Sabado"
7: Asignar nomDia ="Domingo"
e. ENDSWITCH
f. Imprimir El nombre del dia, NomDia
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

5. Construir un algoritmo para ordenar tres nmeros en forma descendente.


Algoritmo ORDENAR TRES NUMEROS
Clase Secuenciacin8.
1. Mtodo Principal
a. Declaraciones
a, b, c: Entero
b. Solicitar a,b,c
c. Leer a,b,c
d. IF a>b THEN
1. IF a>c THEN:
a. IF b>c THEN
1. Imprimir El orden es : a,b,c
b. ELSE
1. Imprimir El orden es : a,c,b
c. ENDIF
2. ELSE:
a. Imprimir El orden es : c,a,b
3. ENDIF
e. ELSE
1. IF b>c THEN:
a. IF a>c THEN:
1. Imprimir El orden es : b,a,c
b. ELSE
1. Imprimir El orden es : b,c,a
c. ENDIF
2. ELSE
a. Imprimir El orden es : c,b,a
3. ENDIF
f. ENDIF
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Captulo 3
1.

Responda a las siguientes preguntas con V


(verdadero) o con F (falso).
( V )
( V )
( F )
( F )
( F )
( V )

a.
b.
c.
d.
e.
f.

2. Realizar un programa que cuente las


cadena de textos.

vocales cuando se ingresa una

Algoritmo CUENTA VOCALES


Clase Repeticin3.
1. Mtodo Principal
a. Declaraciones
entrada : cadena
contador, posicin: entero
b.
c.
d.
e.
f.

Solicitar la cadena de texto


Leer entrada
contador=0
posicin=0
WHILE posicin<Entrada.Longitud
1. SWITCH (Entrada.Caracteren(posicin)
a. a,e,i,o,u: Asignar contador=contador+1;
2. ENDSWITCH
3. Imprimir la cadena ingresada tiene vocales igual , contador
g. ENDWHILE
2. Fin del mtodo principal
Fin de la clase

Cdigo Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

3. Construya un algoritmo que ingresada cualquier un da, mes y ao


devuelva el da (Lunes, martes, Mircoles, etc.) que corresponde la fecha.
Algoritmo FORMATEAR HORA EN SEGUNDO
Clase Repeticin4.
a. Mtodo Principal
a. Declaraciones
1. Dia, mes, ao :entero
2. Avdia: entero
b. Inicializar dia=0, mes=0,anio=0, avdia=0
c. Inicializar diax=0; bs=s
d. DO
1. Solicitar fecha
2. Leer dia, mes , ao
3. Validar que las fechas sean correctas incluyendo aos, meses, das
e. WHILE(da>31 mes>12 ao>0)
f. IF (fecha) THEN
1. IF ano>2001 THEN
a. IF anio>2002 THEN
1. FOR j=2002;j<anio;j++
i. FOR i=1;i<=12;i++
1. IF (i=1) (i=3) (i=5) (i=7) (i=8)(i=10)
(i=12) THEN
a. diax=diax+31
2. ELSE
a. IF (i=4) (i=6) (i=9) (i=11) THEN
1. diax+=30
b. ENDIF
c. IF ((j%4=0) y (i=2)) THEN
1. Asignar diax+=29
d. ELSE
1. diax+=28
e. ENDIF
3. ENDIF
ii. ENDFOR
2. ENDFOR
b. ENDIF
c. FOR i=1;i<mes;i++
1. IF ((i=1) (i=3) (i=5) (i=7) (i=8) (i=10) (i=12)) THEN
a. Asignar diax+=31
2. ELSE
a. IF (i=4) (i=6) (i=9) (i=11) THEN
1. Asignar diax+=30
b.ENDIF
c. IF anio%4=0)&&(i=2) THEN
1. Asignar diax+=29
d. ELSE
1. diax+=28
e. ENDIF
3. ENDIF
d. ENDFO
e. diax+=28+dia
f. avdia=diax%7
g. SWITCH(avdia)
0: Imprimir El da es lunes dia, mes, anio
1: Imprimir El da es martes ,dia, mes, anio
2: Imprimir El da es mircoles dia, mes, anio
3: Imprimir El da es jueves dia, mes, anio
4: Imprimir El da es viernes dia, mes, anio
5: Imprimir El da es sabado dia, mes, anio
6: Imprimir El da es domingo dia, mes, anio

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

b. Fin del mtodo principal


Fin de la clase

Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

4. Construya un algoritmo que permita encontrar los n primeros nmeros


primos
Algoritmo ENCONTRAR N PRIMOS
Clase Repeticin5.
1. Mtodo Principal
a. Declaraciones
n, primo, contador, i, j : Entero
b. Solicitar la cantidad de nmeros primos
c. Leer n
d. Asignar primo=1
e. Inicializar i=1
f. WHILE( primo<=n)
1. Asignar contador=0;
2. FOR j=1;j<=i;j++
1. IF i%j==0 THEN
a. contador++
2. ENDIF
3. ENDFOR
4. IF (contador=2) THEN
1. Imprimir el primo i
2. Primo++
5. ENDIF
6. i++
g. ENDWHILE
2. Fin del mtodo principal
Fin de la clase

Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

5. Ingresar una palabra y determinar si esta es un palndromo. (ejemplos


Ana, arenera, arepera, reconocer, salas, somos, sometemos, entre otras.);
Algoritmo DETECTAR PALNDROMO
Clase Repeticin6
1. Mtodo Principal
a. Declaraciones
palabra : cadena
i : entero
estado : booleano
b. Solicitar la palabra
c. Leer palabra
d. estado = verdadero
e. FOR i=0; i<palabra.longitud; i++
1.
IF
palabra.subCaracter(i)!=palabra.subCaracter(longitud(pa
labra)-i-1)) THEN
a.estado=false;
2. ENDIF
f. ENDFOR
g. if (estado ==verdadero) THEN
1.Imprimir la palabra es un palndromo
h. ELSE
1. Imprimir la palabra no es palndromo
i. ENDIF
2. Fin del mtodo principal
Fin de la clase

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Cdigo en java:

6. Construya un algoritmo que reciba como entrada un cierto valor n


y genere como salida el valor de la serie: 2, 5, 7, 10, 12, 15, 17, . . .
. ., 1800.
Algoritmo SERIE NUMERICA
Clase Repeticin7.
1. Mtodo Principal
a. Declaraciones
cantTerms, valorSuma, serie, i :Entero
b. Solicitar cantidad de Trminos
c. Leer cantTerms
d. serie=0
e. FOR i=0; i<cantTerms; i++
1. IF i%2==0 THEN
a. valorSuma=2
2. ELSE
a. Asignar valoSuma=3
3. ENDIF
4. Calcular serie=serie+valorSuma
f. ENDFOR
g. Presenta la serie
2. Fin del mtodo principal
Fin de la clase

Cdigo en java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

7. Realizar un algoritmo que permita ingresar una frase y la descomponga


esta en sus palabras imprimindolas al revs. Ejem. CIUDAD GUAYAQUIL
DADUIC LIUQAYAUG

Algoritmo PALABRA AL REVES


Clase Repeticin8.
1. Mtodo Principal
a. Declaraciones
Frase : cadena
inicioPalabra i, j:Entero
b. Solicitar la frase
c. Leer la frase
d. inicioPalabra=0
e. FOR i=0; i<longitud(frase); i++
1. IF frase.Subcaracter(i)== i==longitud(frase)-1
THEN
a. FOR j=i hasta j>=inicioPalabra; j
Imprimir frase.subCaracter(i)
b.ENDFOR
c. inicioPalabra=i+1
2. ENDIF
f. ENDFOR
2. Fin del mtodo principal
Fin de la clase

Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Captulo 4
1. Trate de determinar si las siguientes expresiones son verdaderas
o falsas. Para aquellas que son verdaderas marquelas con V y
para las falsas con F.
a. ( V )
b. ( F )
c. ( F )
d. ( V )
e. ( V )
f.
( F )
2. Elaborar un algoritmo que agregue a una matriz cuadrada la
matriz unidad;
Algoritmo AGREGAR MATRIZ UNIDAD
Clase Arreglos5.
1. Mtodo Principal
a. Declaraciones
n,i,j : entero
matriz , matrizUnidad : arreglo[][] entero
b. Solicitar el orden de la matriz
c. Leer n;
d. Inicializar matriz[n][n];
e. Inicializar matrizUnidad[n][2*n]
f. Solictar valores de elementos de matriz
g. Leer matriz[][]
h. MatrizUnidad[][]=matriz[][]
i. FOR i=0; i<n; i++
1. FOR j=n; j<2*n; j++

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

a. matrizUnidad[i][j]= 1
2. ENDFOR
j. ENDFOR
k. Imprimir encabezado
l. FOR i=0; i<n; i++
1. FOR j=0; j<2*n; j++
a. Imprimir MatrizUnidad[i][j]
2. ENDFOR
m. ENDFOR
2. Fin del mtodo principal
Fin de la clase
Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

3. Escriba una aplicacin en Java que lea una frase y muestre los
contadores del nmero de vocales dentro de la frase.
Algoritmo CONTAR VOCALES
Clase Arreglos6.
1. Mtodo Principal
a. Declaraciones
vocales : carcter
numVocales: arreglo[5 ] entero
contador, i, j : entero
frase: cadena
b. Solicitar la frase
c. Leer frase
d. FOR i=0; i< 5hacer i++
1. contador=0
2. FOR j=0; j<frase.longitud(); j++
a. IF frase.subCadena(j)==vocales[i] THEN
1. contador++
b. ENDIF
3. ENDFOR
4. numVocales[i]=contador
e. ENDFOR
f. FOR i=0; i< 5; i++
1. Imprimir La vocal[i] esta en la frase numVocales[i]
g. ENDFOR
2. Fin del mtodo principal
Fin de la clase
Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

4. En las elecciones para alcalde de EL PUEBLITO se han presentado


tres candidatos (A,B,C). el pueblito est dividido en 5 zonas de
votacin. El reporte de votos de las zonas se recibe en orden:
primero la zona 1, la 2, etc. Elabore una aplicacin que:
o Forme una matriz de 5 filas y 3 columnas que contenga,
en cada fila, los votos reportados por las zonas para cada
uno de los tres candidatos.
o Encuentre el total de votos obtenidos por cada candidato
y el porcentaje que este representa.
Algoritmo ZONAS Y CANDIDATOS
Clase Arreglos7.
1. Mtodo Principal
a. Declaraciones
totales: arreglo[3 ] entero
zonas : arreglos[3][5] entero
candidatos: arreglos[3] cadena
i, j : entero
totalVotos: real
b. Inicializar totalVotos=0;
c. FOR i=0; i<3; i++
1. Solicitar Nombre del candidato
2. Leer Candidato[i]
3. FOR j=0; j<5; j++
a. Solicitar los votos reportados de la zona j
b. Leer Zona[i][j]
c. Totales[i]=totales[i]+zonas[i][j]
4. ENDFOR
5. totalVotos=totalVotos+totales[i]
d. ENDFOR
e. FOR i=0; i<3; i++
1. FOR j=0; j<5; j++
a. Imprimir Resultados de las zonas
2. ENDFOR
3. Imprimir Totales Parciales de las zonas y porcentajes
f. ENDFOR
g. Imprimir Totales Generales
2. Fin del mtodo principal
Fin de la clase
Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

5. Elabore una aplicacin que llene una matriz cuadrada, la magnitud y


los datos los ingresa el usuario, luego averige si es simtrica, es decir,
si todos los pares de elementos equidistantes perpendicularmente de la
diagonal principal son iguales.
Algoritmo MATRIZ SIMETRICA
Clase Arreglos8 .
1. Mtodo Principal
a. Declaraciones
n,i,j: entero
Matriz : arreglo[] entero
Simetrica : booleano
b. Solicitar el orden de la matriz n
c. Leer n
d. Inicializar matriz[n][n]
e. Inicializar simetrica=verdadero
f. FOR i=0; i<n; i++
1. FOR j=0; j<n; j++
a. Solicitar el valor de los elementos
b. Leer matriz[i][j]
2. ENDFOR
g. ENDFOR
h. FOR i=0; i<n; i++
1. FOR j=0; j<n; j++
a. IF matriz[i][j]!=matriz[j][i] THEN
1. simetrica= false
b. Solicitar el valor de los elementos
c. Leer matriz[i][j]
2. ENDFOR

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

i. ENDFOR
j. IF simetrica==verdadero THEN
1. Imprimir la matriz es simtrica
k. ELSE
1. Imprimir la matriz no es simtrica
l. ENDIF
m. Presentar matriz[][]
2. Fin del mtodo principal
Fin de la clase

Cdigo en Java:

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Captulo 5
1. Determine si las siguientes afirmaciones son verdaderas o falsas.
Responda
a. (
b. (
c. (
d. (
e. (
f. (

con V (Verdadero) o F (Falso).


F )
F )
F )
V )
V )
F )

2. Escriba un mtodo que reciba un arreglo de enteros y un valor entero x.


Este debe regresa el nmero de veces que se repite el valor de x en el
arreglo.
Algoritmo ENCONTRAR X EN UN MATRIZ
Clase Mtodos3.
1. Mtodo Principal
a. Declaraciones
m,n, cont, x : Entero
matriz :Arreglo[][] Entero
b. Solicitar el orden de la matriz
c. Leer m, n
d. Inicializar matriz[m][n]
e. Matriz=ingresarMatriz(m,n)
f. Solicitar el valor de x
g. Leer x
h. cont=contarX(matriz,x,m,n)
i. Presentar cont
Fin del mtodo principal
2. Mtodo IngresarMatriz(m,n entero): arreglo [][] entero
a. Declaraciones
E : arreglo [m][n]
b. Solicitar el orden de la matriz
c. FOR i=0; i< m; i++
1.FOR j=0; j<n; j++
a. Solicitar el valor de los elementos
b. Leer E[i][j]
2. Fin FOR
d. Fin FOR
e. return E
Fin de Mtodo
3. Mtodo contarX(matriz: arreglo[][]; x, m, n entero): Entero
a. Declaraciones
E : arreglo [m][n]
b. Solicitar el orden de la matriz
c. FOR i=0; i< m; i++
1. FOR j=0; j<n; j++
a. IF (x==Matriz[i][j]) THEN: cont++
2. ENDFOR
d. ENDFOR

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

e. return cont
Fin de Mtodo

Fin de la clase

3. Elaborar un algoritmo que permita leer una frase u oracin e imprima


cuantas veces se utiliz cada letra del alfabeto. Utilizar un mtodo que
reciba como parmetro la frase y la posicin en la que se debe obtener el
carcter, y que obtenga un carcter en cada llamada.
Algoritmo CONTADOR DE LETRAS
Clase Mtodos.
1. Mtodo Principal
a. Declaraciones
frase : cadena
alfabeto : arreglo[] Carcter
numletras: arreglo[27] Entero

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

posicin , i, j : Entero
Inicializar
alfabeto={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p,'q','r',
's','t', 'u','v','w' ,'x', 'y','z', ' '}
b. Solictar frase
c. Leer frase;
d. Hacer frase minscula
e. posicin=0
f. WHILE posicion<alfabeto.longitud
1. num_letras[posicion]=0;
2. for i=0; i<frase.longitud(); i++
a.IF
alfabeto[posicion]==devolverCaracter(frase,i)
THEN
1. num_letras[posicion]++;
b. ENDIF
3. ENDFOR
4. posicion++;
g. ENDWHILE
h. Presentar alfabeto[][] y num_letras[][]
Fin Mtodo principal
2. Mtodo devolverCaracter (frase: Cadena, posicin: Entero): Caracter
a. Declaraciones
caracter : Carcter
b. carcter=frase.subCadena(posicion);
c. return carcter
Fin Mtodo devolverCaracter
Fin de la clase

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

4. Elaborar un algoritmo que permita leer una frase u oracin y que imprima
la palabra mas larga, y la ms corta y la posicin donde inicia cada una de
ellas. Utilizar un mtodo que obtenga cada palabra.
Algoritmo PALABRA MS LARGA
Clase Mtodos.
1. Mtodo Principal
a. Declaraciones
frase, temp : cadena
palabras : arreglo[] Cadena
numletras: arreglo[27] Entero
posPalabras,numPalabras,posicin,numLetras ,contador
i, j : Entero
b. numLetras=0,posicin=0
c. Solicitar la frase
d. Leer Frase
e. numPalabras=contarPalabras(frase)
f. Inicializar palabras[numPalabras]
g. palabras=devolverPalabras(frase,numPalabras)
h. Inicializar posPalabras[numPalabras]
i. posPalabras=identifiarPosicion(frase,numPalabras)
j. FOR i=0;i<palabras.length;i++
1. contador=0
2. temp= palabras[i]
3. FOR j=0; j<temp.length(); j++
a. contador++
4. ENDFOR
5. IF num_letras<contador THEN
a. numletras=contador
b. posicion=i
6. ENDIF
k. Fin FOR
l. Imprimir encabezado
m. FOR i=0; i<palabras.length; i++
1. Imprimir palabras[i]);
n. ENDFOR
o. Presentar palabra mas larga
palabras[posicion],pos_palabras[posicion]
Fin del mtodo principal
2. Mtodo devolverPalabras (frase: Cadena, numPalabras: Entero):
arreglo[] Cadena
a. Declaraciones
palabras : arreglo[numPalabras] Cadena
contador,pInicial,pFinal,i,j, contador: Entero
b. contador=0, pInicial=0,pFinal=0
c. FOR i=0; i<longitud(frase); i++
1. IF frase.charAt(i)==' ' THEN
1. pFinal=i;
2. palabras[contador]=frase.subCadena(pInicial,
pFinal);
3. pInicial=i+1;
4. contador++;
2. ENDIF
d. ENDFOR
e.
palabras[contador]=frase.subcadena(p_inicial,
longitud(frase));
f. return palabras;

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Fin de Mtodo
3. Mtodo contarPalabras(frase: Cadena): Entero
a. Declaraciones
c: Entero
b. FOR i=0; i< longitud(frase); i++
1. IF x==Matriz[i][j] THEN
a. cont++
2. ENDIF
c. ENDFOR
d. return cont
Fin de Mtodo
4. Mtodo identificarPosicion(frase: Cadenam numPalabras: Entero):
arreglo[] Entero
a. Declaraciones
contador, i: Entero
posicin: arreglo[numPalabras] Entero
b. FOR i=0; i< longitud(frase); i++
1. IF (frase.subCaracter(i)==' ') THEN
a. posicion[contador]=i+1;
b. contador++;
2. ENDIF
c. ENDFOR
d. return posicion
Fin de Mtodo
Fin de la clase

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

5. Elaborar un algoritmo que permita leer una cantidad de tipo Real, que le
inserte comas cada tres cifras y las imprima.
Algoritmo INSERTAR COMAS EN NUMERO
Clase Mtodos6.
1. Mtodo Principal
a. Declaraciones
cantidad: Entero
cadena: Cadena
b. Solicitar el nmero a formatear
c. Leer cantidad
d. Cadena=insertarComas(cantidad);
e. Presentar La cantidad formateada con comas es :
cadena
Fin del mtodo principal
2. Mtodo insertarComas (cantidad: Entero): Cadena
a. Declaraciones
contador, i: Entero
cadena, tresCifras,cadenaComas: Cadena
posicin: arreglo[numPalabras] Entero
b. cadena=Cambiar a cadena cantidad
c. posicin= longitud(candena)
d. numComas=longitud(cadena)/3
e. IF longitud(cadena)%3!=0 THEN

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

1. numComas=numComas+1;
ENDIF
f. FOR i=0; i<numComas; i++
1. IF (posicion>3) THEN
a. tresCifras=cadena.substring(posicion3, posicion);
b.
cadenaComas=","+tresCifras+cadenaComas;
c. posicion=posicion-3
2. ELSE
a.
tresCifras=cadena.substring(0,
posicion);
b.
cadenaComas=tresCifras+cadenaComas;
Fin IF
Fin FOR
g. Return cadenaComas;
Fin de Mtodo
Fin de la clase

6. Elaborar un mtodo que devuelve el rango (diferencia entre el valor


mximo y el mnimo) de los elementos de Arreglo.
Algoritmo RANGO MAX-MIN
Clase Mtodos7.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

1. Mtodo Principal
a. Declaraciones
n, mayor, menor, rango: Entero
vector: arreglo[] Entero
b. Solicitar numero de elementos del Vector
c. Leer n
d. Inicializar vector[n]
e. vector = ingresarVector (n)
f. mayor=encontarMayor(vector)
g. menor=encontarMenor(vector, mayor)
h. rango=mayor-menor
i. Imprimir el Rango del vector, Rango
Fin del mtodo principal
2. Mtodo ingresarVector(n entero): arreglo [] Entero
a. Declaraciones
orden: Entero
E: arreglo [n] Entero
Orden=longitud(E)
b. FOR i=0; i< orden; i++
1. Solicitar el valor de los elementos
2. Leer E[i]
ENDFOR
c. return E
Fin de Mtodo ingresarVector
3. Mtodo encontrarMayor(E :arreglo[] entero): Entero
a. Declaraciones
mayor: Entero
mayor=0
b. FOR i=0; i< longitud(E); i++
c. IFmayor<E[i] THEN
1. mayor =E[i];
ENDIF
ENDFOR
c. return mayor
Fin de Mtodo encontrarMayor
4. Mtodo encontrarMenor(E :arreglo[] entero, mayor:Entero): Entero
a. Declaraciones
menor: Entero
b. menor=mayor
c. FOR i=0; i< E.length; i++
1. IF menor>E[i] THEN
a. menor =E[i];
ENDIF
Fin FOR
d. return menor
Fin de Mtodo encontrarMenor
Fin de la Clase
Fin Algoritmo

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Captulo 6
1. Determine si las siguientes afirmaciones son verdaderas o falsas.
Responda con V (Verdadero) o F (Falso).
a. ( F )
b. ( F )
c. ( V )

d. ( V )
e. ( V )
f. ( F )
2. Construya una clase persona y agregue algunos atributos
como nombre, apellidos, edad, sexo, direccin, telfono, etc.
Adems agregue mtodos a las clase que permitan asignar y
obtener valores de cada uno de los atributos.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

3. Realice un programa que permita la impresin de tiempo en


horas:minutos:segundo utilizando objetos utilizando objetos.
Debe crear una clase hora, que tenga u atributo segundos y
un mtodo que permita trasformar los segundos a horas:
minutos: segundos

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

4. Construya una clase matriz, cuyos atributos sean la matriz y


cuyos mtodos sea las operaciones Suma, resta.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

5. Construya un a clase cadena, con atributos como Numero


de palabras, numero de letras, numero de vocales. Adems
los mtodos de esta clase deben actualizar los atributos.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

6. Construir una clase numero, que tenga como atributos su


valor decimal, valor binario, valor hexadecimal, octal. Esta
clase debe permitir convertir su valor a octal, binario,

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

EscueladeCienciasdelaComputacinUTPL
FundamentosdelaProgramacin
Autores:Ing.JorgeLpez,Ing.GreysonAlberca

hexadecimal.

Esta obra ha sido licenciada con Creative Commons Ecuador 3.0 de Reconocimiento - No comercial
Compartir igual (http://creativecommons.org/licenses/by-nc-sa/3.0/ec/).

You might also like