Capítulo 1 Capítulo 2 - Inicio

Anuncio
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca FUNDAMENTOS DE LA PROGRAMACIÓN
SOLUCIONARIO
Capítulo 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 año, 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
año : Entero
longitud : Real
Solicitar Nombre, Año, Distancia
Leer nombre, año, longitud
Imprimir nombre, año, longitud
3. Dado que y = ax3 + 7 ¿cuál de las siguientes expresiones es la correcta?
(Suponga que no conoce otras operaciones aritméticas a más de las
básicas)
Respuesta correcta e.
4. Convierta las siguientes expresiones aritméticas a sus equivalentes en
pseudocódigo
a. A = ((B*D) + (2*F))/(E + (2*B))
b. Z = 2 * ((A + B) – (2 * C))
Capítulo 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca e. ( F )
f. ( V )
2. Elaborar un algoritmo que permita calcular la solución de una ecuación
cuadrática 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 CUADRÁTICA
Clase Secuenciación4.
1. Método 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 método principal
Fin de la clase
Código Java:
3. Ingrese una cadena e insertar un texto desde una posición dada.
Algoritmo INSERTAR TEXTO
Clase Secuenciación5.
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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 1. Método 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 posición 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 4. Calcular la posición del baricentro. Ingresando la posición en el plano
cartesiano (x,y) de los puntos A, B y C.
Algoritmo CALCULAR BARICENTRO
Clase Secuenciación6.
1. Método 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 3. Construya un algoritmo que al ingresar un numero entero imprima el día
de la semana que le corresponde. Por ejemplo ingrese 1 debe imprimir
Lunes.
Algoritmo IMPRIMIR DIA DE LA SEMANA
Clase Secuenciación7.
1. Método Principal
a. Declaraciones
dia : Entero
nomDia: Cadena
b. Solicitar el día
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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 5. Construir un algoritmo para ordenar tres números en forma descendente.
Algoritmo ORDENAR TRES NUMEROS
Clase Secuenciación8.
1. Método 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Capítulo 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 Repetición3.
1. Método Principal
a. Declaraciones
entrada : cadena
contador, posición: entero
b.
c.
d.
e.
f.
Solicitar la cadena de texto
Leer entrada
contador=0
posición=0
WHILE posición<Entrada.Longitud
1. SWITCH (Entrada.Caracteren(posición)
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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 3. Construya un algoritmo que ingresada cualquier un día, mes y año
devuelva el día (Lunes, martes, Miércoles, etc.) que corresponde la fecha.
Algoritmo FORMATEAR HORA EN SEGUNDO
Clase Repetición4.
a. Método Principal
a. Declaraciones
1. Dia, mes, año :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 , año
3. Validar que las fechas sean correctas incluyendo años, meses, días
e. WHILE(día>31 ó mes>12 ó año>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 día es lunes dia, mes, anio
1: Imprimir El día es martes ,dia, mes, anio
2: Imprimir El día es miércoles dia, mes, anio
3: Imprimir El día es jueves dia, mes, anio
4: Imprimir El día es viernes dia, mes, anio
5: Imprimir El día es sabado dia, mes, anio
6: Imprimir El día 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca b. Fin del método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 4. Construya un algoritmo que permita encontrar los n primeros números
primos
Algoritmo ENCONTRAR N PRIMOS
Clase Repetición5.
1. Método Principal
a. Declaraciones
n, primo, contador, i, j : Entero
b. Solicitar la cantidad de números 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 5. Ingresar una palabra y determinar si esta es un palíndromo. (ejemplos
Ana, arenera, arepera, reconocer, salas, somos, sometemos, entre otras.);
Algoritmo DETECTAR PALÍNDROMO
Clase Repetición6
1. Método 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 palíndromo
h. ELSE
1. Imprimir la palabra no es palíndromo
i. ENDIF
2. Fin del método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Código 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 Repetición7.
1. Método Principal
a. Declaraciones
cantTerms, valorSuma, serie, i :Entero
b. Solicitar cantidad de Términos
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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 7. Realizar un algoritmo que permita ingresar una frase y la descomponga
esta en sus palabras imprimiéndolas al revés. Ejem. CIUDAD GUAYAQUIL Î
DADUIC LIUQAYAUG
Algoritmo PALABRA AL REVES
Clase Repetición8.
1. Método 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Capítulo 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. Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 3. Escriba una aplicación en Java que lea una frase y muestre los
contadores del número de vocales dentro de la frase.
Algoritmo CONTAR VOCALES
Clase Arreglos6.
1. Método Principal
a. Declaraciones
vocales : carácter
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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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
votación. El reporte de votos de las zonas se recibe en orden:
primero la zona 1, la 2, etc. Elabore una aplicación 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. Método 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 método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 5. Elabore una aplicación que llene una matriz cuadrada, la magnitud y
los datos los ingresa el usuario, luego averigüe si es simétrica, es decir,
si todos los pares de elementos equidistantes perpendicularmente de la
diagonal principal son iguales.
Algoritmo MATRIZ SIMETRICA
Clase Arreglos8 .
1. Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca i. ENDFOR
j. IF simetrica==verdadero THEN
1. Imprimir la matriz es simétrica
k. ELSE
1. Imprimir la matriz no es simétrica
l. ENDIF
m. Presentar matriz[][]
2. Fin del método principal
Fin de la clase
Código 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Capítulo 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 método que reciba un arreglo de enteros y un valor entero x.
Este debe regresa el número de veces que se repite el valor de x en el
arreglo.
Algoritmo ENCONTRAR X EN UN MATRIZ
Clase Métodos3.
1. Método 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 método principal
2. Método 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 Método
3. Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca e. return cont
Fin de Método
Fin de la clase
3. Elaborar un algoritmo que permita leer una frase u oración e imprima
cuantas veces se utilizó cada letra del alfabeto. Utilizar un método que
reciba como parámetro la frase y la posición en la que se debe obtener el
carácter, y que obtenga un carácter en cada llamada.
Algoritmo CONTADOR DE LETRAS
Clase Métodos.
1. Método Principal
a. Declaraciones
frase : cadena
alfabeto : arreglo[] Carácter
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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca posición , 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 minúscula
e. posición=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 Método principal
2. Método devolverCaracter (frase: Cadena, posición: Entero): Caracter
a. Declaraciones
caracter : Carácter
b. carácter=frase.subCadena(posicion);
c. return carácter
Fin Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 4. Elaborar un algoritmo que permita leer una frase u oración y que imprima
la palabra mas larga, y la más corta y la posición donde inicia cada una de
ellas. Utilizar un método que obtenga cada palabra.
Algoritmo PALABRA MÁS LARGA
Clase Métodos.
1. Método Principal
a. Declaraciones
frase, temp : cadena
palabras : arreglo[] Cadena
numletras: arreglo[27] Entero
posPalabras,numPalabras,posición,numLetras ,contador
i, j : Entero
b. numLetras=0,posición=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 método principal
2. Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Fin de Método
3. Método 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 Método
4. Método identificarPosicion(frase: Cadenam numPalabras: Entero):
arreglo[] Entero
a. Declaraciones
contador, i: Entero
posición: 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 Método
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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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 Métodos6.
1. Método Principal
a. Declaraciones
cantidad: Entero
cadena: Cadena
b. Solicitar el número a formatear
c. Leer cantidad
d. Cadena=insertarComas(cantidad);
e. Presentar “La cantidad formateada con comas es :”
cadena
Fin del método principal
2. Método insertarComas (cantidad: Entero): Cadena
a. Declaraciones
contador, i: Entero
cadena, tresCifras,cadenaComas: Cadena
posición: arreglo[numPalabras] Entero
b. cadena=Cambiar a cadena cantidad
c. posición= 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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 Método
Fin de la clase
6. Elaborar un método que devuelve el rango (diferencia entre el valor
máximo y el mínimo) de los elementos de Arreglo.
Algoritmo RANGO MAX-MIN
Clase Métodos7.
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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 1. Método 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 método principal
2. Método 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 Método ingresarVector
3. Método 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 Método encontrarMayor
4. Método 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 Método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca Capítulo 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, dirección, teléfono, etc.
Además agregue métodos 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 3. Realice un programa que permita la impresión de tiempo en
horas:minutos:segundo utilizando objetos utilizando objetos.
Debe crear una clase hora, que tenga u atributo segundos y
un método 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 4. Construya una clase matriz, cuyos atributos sean la matriz y
cuyos métodos 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 5. Construya un a clase cadena, con atributos como Numero
de palabras, numero de letras, numero de vocales. Además
los métodos 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Escuela de Ciencias de la Computación – UTPL Fundamentos de la Programación Autores: Ing. Jorge López, Ing. Greyson Alberca 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/).
Descargar