Informe Técnico Con Código Fuente. GA2-220501096-AA3-EV01

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

Informe: Informe técnico con código fuente

GA2-220501096-AA3-EV01

Jose Alirio Barragan Sanchez

Aprendiz SENA

Procesamiento de pruebas de Software

Ficha: 2547488

Instructor: ALEXANDER MONTEALEGRE RAMIREZ


Competencia: Diseñar el algoritmo que permita la solución del problema planteado

Julio 18 de 2022

Servicio Nacional de Aprendizaje – SENA

TECNOLOGÍAS DE LA INFORMACIÓN, DISEÑO Y DESARROLLO DE SOFTWARE

Medellín, Colombia
INTRODUCCIÓN
El objetivo de este documento es realizar la definición de la solución a diez (10) problemas
presentados a continuación resueltos en codificación del algoritmo usando lenguaje de
JavaScript.
El proceso de Análisis del problema, definición de variables y diseño de algoritmos en
Diagramas de Flujo, Diagramas NS y Pseudocodigo con las pruebas iniciales de
ejecución y funcionamiento ya se entregó en la Actividad: Informe técnico del proceso
GA2-220501096-AA2-EV01 anterior.
En este documento se entregara por cada problema su codificación y prueba de
funcionamiento usando el lenguaje JavaScript en el entorno de edición de Visual Studio
Code.

Ejercicios a desarrollar

1. Diseñe un algoritmo en pseudocódigo y diagrama de flujo que


lea tres números y, si el primero es positivo calcule el
producto de los otros dos, y en otro caso, calcule la suma y
muestre el resultado en pantalla.

Programa codificado en JavaScript


// Programa que permite el ingreso de tres numeros enteros y devuelve el producto
o la suma
// siempre y cuando el primer numero sea positivo o sea negativo: si es positivo
devuelve el
// producto de los otros dos numeros y si es negativo devuelve la suma del
segundo y tercer numero.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del algoritmo
// Declaracion de variables
var n1, n2, n3, resultado;
// Se solicitan los tres numeros enteros secuencialmente
var preguntas = ['Ingrese el primer numero: ','Ingrese el segundo numero:
','Ingrese el tercer numero: ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas
// Se solicitan los tres numeros enteros secuencialmente
function pregunta(i)
{ // Funcion para despliegue de las preguntas de solicitud de cada numero
process.stdout.write(preguntas[i]);
}
process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de los tres numeros desde el teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
ususrio a la solicitud de cadanumero y elimina el ENTER final con trim()

if(respuestas.length < preguntas.length)


{ // Verifica si ya se desplegaron todas las tres solicitudes de los tres
numeros
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
procima pregunta de la lista
}
else
{
n1 = parseInt(respuestas[0]); // Se saca del vector de respuestas el
valor del primer numero convirtiendo a entero
n2 = parseInt(respuestas[1]); // Se saca del vector de respuestas el
valor del segundo numero convirtiendo a entero
n3 = parseInt(respuestas[2]); // Se saca del vector de respuestas el
valor del Tercer numero convirtiendo a entero
// Se verifica si el primer numero es positivo
if (n1>0)
{
// Se calcula el producto del segundo numero por el tercer numero
resultado = n2 * n3;
// Si el segundo numero no es positivo es entonce negativo
}
else
{
// Se calcula la suma del segundo numero con el tercer numero
resultado = n2 + n3;
// Finaliza el condicional
}
// se muestra el resultado obtenido
console.log("El resultado de las operaciones realizadas del numero ",n2,"
con el numero ",n3," es: ",resultado);
process.exit();
// Finaliza el proceso
} // Finaliza el condicional
});
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Pruebas realizadas al programa codificado en JavaScript


El primer número es -4, el segundo número es 16 y el tercero es 5, como el primero es
negativo hace la suma de los otros dos y el resultado es 21.

El primer número es 8, el segundo número es 18 y el tercero es 20, como el primero es


positivo hace el producto de los otros dos y el resultado es 360.

2. Diseñe un algoritmo en pseudocódigo y diagrama de flujo que


lea tres números enteros y decida si uno de ellos coincide con la
suma de los otros dos.

Programa codificado en JavaScript


// Programa que permite el ingreso de tres numeros enteros y devuelve un mensaje
el verificar
// si uno de ellos es la suma de los otros dos.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del algoritmo

// Declaracion de variables
var a, b, c, resultado;
// Se solicitan los tres numeros enteros secuencialmente
var preguntas = ['Ingrese el primer numero: ','Ingrese el segundo numero:
','Ingrese el tercer numero: ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas

function pregunta(i)
{ // Funcion para despliegue de las preguntas de solicitud de cada numero
process.stdout.write(preguntas[i]);
}

process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de los tres numeros desde el teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
ususrio a la solicitud de cadanumero y elimina el ENTER final con trim()
if(respuestas.length < preguntas.length)
{ // Verifica si ya se desplegaron todas las tres solicitudes de los tres
numeros
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
procima pregunta de la lista
}
else
{
a = parseInt(respuestas[0]); // Se saca del vector de respuestas el valor
del primer numero convirtiendo a entero
b = parseInt(respuestas[1]); // Se saca del vector de respuestas el valor
del segundo numero convirtiendo a entero
c = parseInt(respuestas[2]); // Se saca del vector de respuestas el valor
del Tercer numero convirtiendo a entero
if (c == a+b)
{ // Se verifica si el tercer numero es igual a la suma del primer y
segundo numero
// Se calcula la suma del primer y segundo numero
resultado = a+b;
// Se notifica que el tercer numero es la suma del primero y segundo
console.log("El tercer numero es la suma del primer y segundo numero
");
// Se nuestra el primer numero
console.log("El primer numero es: ",a,);
// Se muestra el segundo numero
console.log("El segundo numero es: ",b);
// Se muestra el resultado de sumar primer y segundo numero
console.log("El resultado de ",a," + ",b," es ",resultado);
// Si No
}
else
{
if (b == a+c)
{ // Se verifica si el segundo numero es igual a la suma del primer y
tercer numero
// Se calcula la suma del primero y tercer numero
resultado = a+c;
// Se notifica que el segundo numero es la suma del primero y
tercero
console.log("El segundo numero es la suma del primer y tercer
numero ");
// Se nuestra el primer numero
console.log("El primer numero es: ",a);
// Se muestra el tercer numero
console.log("El tercer numero es: ",c);
// Se muestra el resultado de sumar primer y tercer numero
console.log("El resultado de ",a," + ",c," es ",resultado);
// Si No
}
else
{
// Se verifica si el primer numero es igual a la suma del segundo
y tercer numero
if (a == b+c)
{
// Se calcula la suma del segundo y tercer numero
resultado = b+c;
// Se notifica que el primer numero es la suma del segundo y
tercero
console.log("El primer numero es la suma del segundo y tercer
numero ");
// Se nuestra el segundo numero
console.log("El segundo numero es: ",b);
// Se muestra el tercer numero
console.log("El tercer numero es: ",c);
// Se muestra el resultado de sumar segundo y tercer numero
console.log("El resultado de ",b," + ",c," es ",resultado);
// Si no, en caso tal se procede a mostrar un mensaje donde no
coincide ninguna suma
}
else
{
// mensaje respectivo
console.log("Ninguno de los tres numeros ",a,", ",b," y ",c,"
coincide con que uno sea la suma de los otros dos");
}
}
}
process.exit();
// Finaliza el proceso
}
}); // Fianliza funcion del algoritmo
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Pruebas realizadas al programa codificado en JavaScript

En este caso se ingresaron los números 15, 12 y 3 y el programa arrojo como resultado que el
primer número es la suma del segundo y tercer número 12 + 3 = 15.

Para este caso se ingresaron los números 7, 21 y 28 y el programa arrojo como resultado que
el tercer número es la suma del primer y segundo número 7 + 21 = 28.
En esta situación se ingresaron los números 17, -9 y -26 y el programa arrojo como resultado
que el segundo número es la suma del primer y tercer número 17 + (-26) = -9.

Para este caso se ingresaron los números 5, -10 y 30 y el programa arrojo como resultado que
ninguno de los tres números es la suma de los otros dos.

3. Diseñe un algoritmo que imprima y sume la serie de números


múltiplos de 3 hasta 100, es decir, 3, 6, 9, 12, ... 99 (usar
ciclos). Realizar la traza para las primeras cinco iteraciones.

Programa codificado en JavaScript

// Programa que permite generar numeros de 3 hasta 100, muestra los numeros de 3
a 100 y la suma de dichos numeros.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
// Declaracion de variables
var contador, sumanum;
// Se inicializa el acumulador que guardara la suma de los numeros generados
sumanum = 0;
// Se anuncia la impresion del listado de numeros
console.log("Los numeros generados desde 3 hasta 100 son: ");
// Se inicia el ciclo que permitira generar los numeros
for (contador = 3;contador <= 100;contador+=3)
{ // Se muestra el numero generado de tres en tres, empezando desde 3 hasta 99
console.log(contador);
// se generan los numeros de tres en tres y se van sumando
sumanum = sumanum + contador;
// Fin del ciclo repetitivo
}
// Se muestra el total de la suma calculada
console.log("La suma de los numeros generados desde 3 hasta 100 es: ",sumanum,);
// Se finaliza el proceso

Pruebas realizadas al programa codificado en JavaScript

Si se hace para las primeras 5 iteraciones, se generan los números 3, 6, 9, 12 y 15, en


este caso la suma es 45.

Si se hace para todas las iteraciones, se generan los números 3, 6, 9, 12, 15, 18, … 99
en este caso la suma es 1683.
4. Diseñe un algoritmo que presenta en pantalla todas las
potencias enteras de 2 que sean menores o iguales que 100
(usar ciclos).

Programa codificado en JavaScript

// Programa que permite generar potencias de 2 menores o iguales a 100.


// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
function potencias_dos_menoresigual_a_cien()
{
// Declaracion de variables
var x, sumap;
// Se inicializa el contador para las potencias de 2
x = 0;
// Se indica que se va a mostrar las potencias generadas
console.log("las potencias de 2 menores a 100 generadas son: ");
// Se inicia el ciclo que permitira generar los numeros de las potencias de 2
con la variable x
while (Math.pow(2,x) < 100)
{
// Se muestra el valor de la potencia de 2 de acuerdo al numero x
generado
console.log(Math.pow(2,x),);
// se incrementa el valor del contador
x = x+1;
// Fin del ciclo repetitivo
}
// Se finaliza el proceso
}
potencias_dos_menoresigual_a_cien() // Llama a ejecucion a la funcion principal

Pruebas realizadas al programa codificado en JavaScript

El programa muestra todas las potencias de 2 desde 2 ^0 = 1 hasta 2 ^6 = 64


menores a 100.
5. Diseñe un algoritmo que sume los números pares comprendidos entre 50 y
200, inclusive.

Programa codificado en JavaScript


// Programa que permite generar los numeros pares entre 50 y 200 inclusive,
muestra los numeros generados y la suma de estos.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
function pares_de_50_a_200_suma()
{
// Declaracion de variables
var contador, sumap;
// Se inicializa el contador para los numeros pares
contador = 50;
// se inicializa el acumulador para la suma
sumap = 0;
// Se indica que se va a mostrar los numeros pares generadas de 50 a 200
console.log("Los numeros pares desde 50 a 200 generadas son: ");
// Se inicia el ciclo que permitira generar los numeros pares de 50 a 200
do {
// Se muestra el valor del numero par generado
console.log(contador);
// Se suman los numeros pares generados
sumap = sumap + contador;
// se incrementa el valor del contador
contador = contador + 2;
// Fin del ciclo repetitivo
} while (contador <= 200);
// Se muestra el resultado de la suma
console.log("La suma de los numeros pares desde 50 hasta 200 es: ",sumap);
// Se finaliza el proceso
}
pares_de_50_a_200_suma(); // Se llama a ejecucion a la funcion princiapal

Prueba realizada al programa codificado en JavaScript


Como puede verse el programa genero los números pares desde 52 hasta 200, reportando un
valor de suma de 9500.

6. Una temperatura Celsius (centígrados) puede ser convertida a una


temperatura equivalente Fahrenheit, de acuerdo con la siguiente fórmula:
9
𝐹 = ( ) 𝐶 + 32
5
Diseñe un algoritmo que lea la temperatura en grados Celsius y la escriba en
Fahrenheit.

Programa codificado en JavaScript

// Programa que permite convertir un valor de temperatura en grados centigrados o


celcius (C) a grados Fahrenheit (F).
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
// Declaracion de variables
var c, f;
var preguntas = ['Ingrese el valor de la temperatua en Grados centigrados o
Celcius (C): ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas
function pregunta(i) // Funcion para la aplicacin del mensaje de solicitud
{ // Funcion para despliegue de las preguntas de solicitud de la medida de
temperatura en grados centigrados
process.stdout.write(preguntas[i]); // Se solicita al usuario el valor de los
grados en Centigrados
} // Fin de la funcion

process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de la temperatura en grados centigrados
desde el teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
usuario a la solicitud de temperatura y elimina el ENTER final con trim()

if(respuestas.length < preguntas.length)


{ // Verifica si ya se desplego la solicitud de temperatura
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
proxima pregunta de la lista
}
else
{
c = parseFloat(respuestas[0]); // Se saca del vector de respuestas el
valor de la temperatura en grados centigrados convirtiendo a numerico Float
// Se calcula el equivalente en grados Fahrenheit (F)
f = (9 / 5) * c + 32;
// Se muestra la cantidad de grados centigrados o celcius (C) que ingreso
el usuario
console.log("La cantidad de grados centigrados o celcius (C) es: ",c);
// Se muestra el equivalente en grados Fahrenheit
console.log("El equivalente en grados Fahrenheit (F) es: ",f);
process.exit();
// Finaliza el proceso
} // Finaliza el condicional
});// Se finaliza la funcion de proceso
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Prueba realizada al programa codificado en JavaScript


Como puede observarse para una temperatura de -2.8 (°C) su
equivalencia es 26.96 (°F).

7.Diseñe un algoritmo que lea la hora de un día de notación


de 24 horas y la respuesta en notación de 12 horas, por
ejemplo, si la entrada es 13, la salida será 1 p.m.
Programa codificado en JavaScript
// Programa que que lee la hora de un dia de notacion de 24 horas y la respuesta
en notacion de 12 horas, por ejemplo, si la entrada es 13, la salida seria 1 p.m.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
// Declaracion de variables
var hm , hnm ;
var preguntas = ['Ingrese el valor de la hora militar (Ejemplo: si es las 3:00 de
la tarde se ingresa 15:00): ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas
function pregunta(i) // Funcion para la aplicacin del mensaje de solicitud
{ // Funcion para despliegue de las preguntas de solicitud de la hora en formato
militar
process.stdout.write(preguntas[i]); // Se solicita al usuario el valor de la
hora en formato militar
} // Fin de la funcion

process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de la hora militar desde el teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
usuario a la solicitud de hora militar y elimina el ENTER final con trim()

if(respuestas.length < preguntas.length)


{ // Verifica si ya se desplego la solicitud de hora militar
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
proxima pregunta de la lista
}
else
{
hm = parseInt(respuestas[0]); // Se saca del vector de respuestas el
valor de la hora militar convirtiendola a entero
if (hm > 12)
{
// Se convierte la hora militar a hora no militar indicando que es
hora PM
hnm = hm-12;
// Se muestra la hora no militar
console.log("Su equivalente en Hora no Militar es: ",hnm," PM");
// En caso contrario
}
else
{
// Se asigna a la hora no militar la hora militar ingresada
hnm = hm;
// Se muestra la hora no militar indicando que es AM
console.log("Su equivalente en Hora no Militar es: ",hnm," AM",);
// Fin de la condicion
}
process.exit();
// Finaliza el proceso
} // Finaliza el condicional
});// Se finaliza la funcion de proceso
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Pruebas realizadas al programa codificado en JavaScript

En este caso la hora militar es 13 horas su equivalente a no militar es 1:00 PM.

En este caso la hora militar es 10 horas, su equivalente a no militar es 10:00 AM.


8. Diseñe un algoritmo en pseudocódigo para crear un vector de cinco
elementos de cadenas de caracteres, inicializa el vector con datos leídos
por el teclado, copie los elementos del vector en otro vector, pero en orden
inverso y, muéstrelo por la pantalla.

Programa codificado en JavaScript

// Programa que que lee una lista de cadenas de caracteres guardandolas en eun
vectos, lugo las asinga a otro vector en forma inversa y luego muestra las
listas.
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
// Se define el contador tipo indice para recorrer los vectores
var i;
// Se dimenciona el tamaño de los vectores en este caso de 5 elementos cada uno
var vecc = ['','','','',''];
var vecci = ['','','','',''];
var preguntas = ['Ingrese el dato de la cadena 1 -> ', 'Ingrese el dato de la
cadena 2 -> ', 'Ingrese el dato de la cadena 3 -> ', 'Ingrese el dato de la
cadena 4 -> ',
'Ingrese el dato de la cadena 5 -> ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas
function pregunta(j)
{ // Funcion para despliegue de las preguntas de solicitud de cada cadena (5
cadenas)
process.stdout.write(preguntas[j]);
}
process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de cada cadena de caracteres desde el
teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
usuario a la solicitud de cadenas de caracteres y elimina el ENTER final con
trim()
if(respuestas.length < preguntas.length)
{ // Verifica si ya se desplego la solicitud de cadenas
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
proxima pregunta de la lista
}
else
{
for (i=0;i<=4;i++) // Ciclo para almacenar los valores de las cadenas
ledidas
{ // Inicio del ciclo
vecc[i] = respuestas[i]; // Se saca del vector de respuestas el valor
de cada cadena
} // Fin del ciclo
// Se coloca un separador
console.log("__________________________________________________");
// Se anuncia la impresion de la lista de cadenas ingresadas por el
usuario
console.log("La lista de cadenas tal como se igresaron son: ");
// Se coloca un separador
console.log("__________________________________________________");
// Se construye el ciclo que recorrera el vector para almacenar las
cadenas
for (i=0;i<=4;i++)
{
// Se muestra una a una la lista de cadenas ingresadas por el
usuario
console.log(vecc[i]);
// Se finaliza el ciclo
}
// Se construye el ciclo que recorrera el vector de cadenas para
transferir al vector de cadenas inversas
for (i=0;i<=4;i++)
{
// Se transfire de forma inversa las cadenas del vector original al
vector de la lista inversa
vecci[i] = vecc[4-i];
// Se finaliza el ciclo
}
// Se coloca un separador
console.log("______________________________________");
// Se anuncia que se mostrara la lista invertida
console.log("La lista de cadenas invertidas son: ");
// Se coloca un separador
console.log("______________________________________");
// Se construye el ciclo que recorrera el vector de la lista con cadenas
invertido
for (i=0;i<=4;i++)
{
// Se muestra una a una la lista de cadenas de forma invertida
console.log(vecci[i]);
// Se finaliza el ciclo
}
process.exit(); // Finaliza el proceso
} // Finaliza el condicional
});// Se finaliza la funcion de proceso
// Se solicita al usuario la lista de cadenas
console.log("Ingrese el valor de cadenas de la lista a almacenar a continuacion
elemento por elemento: ");
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Prueba realizada al programa codificado en JavaScript

Se puede apreciar como el programa muestra la lista de datos tipo cadena en el


orden que la ingreso el usuario y luego muestra la lista de cadenas almacenadas en
el otro vector, pero de forma inversa.

9. Diseñe un algoritmo que lea por el teclado las cinco notas obtenidas por
un alumno (comprendidas entre 0 y 10). A continuación, debe mostrar
todas las notas, la nota promedio, la nota más alta que ha sacado y la
menor.

Programa codificado en JavaScript


// Programa que que lee una lista de 5 notas de un estudiante, presenta las 5
notas,las promedia, muestra el promedio, la nata mayor y la nota menor
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso

// Se define el contador tipo indice para recorrer los vectores


var i;
var suma, promedio, mayor, menor;
// Declaracion del nombre del vector para las notas y se dimenciona el tamañoo
del vector de las notas para 5 elementos que corresponden a 5 notas
var vecn = [0.0, 0.0, 0.0, 0.0, 0.0];
var preguntas = ['Ingrese el valor de la Nota 1 -> ', 'Ingrese el valor de la
Nota 2 -> ', 'Ingrese el valor de la Nota 3 -> ', 'Ingrese el valor de la Nota 4
-> ',
'Ingrese el valor de la Nota 5 -> ']; // Vector con cadenas de mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las preguntas
function pregunta(j)
{ // Funcion para despliegue de las preguntas de solicitud de cada cadena (5
cadenas)
process.stdout.write(preguntas[j]);
}
process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de cada cadena de caracteres desde el
teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
usuario a la solicitud de cadenas de caracteres y elimina el ENTER final con
trim()
if(respuestas.length < preguntas.length)
{ // Verifica si ya se desplego la solicitud de cadenas
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con la
proxima pregunta de la lista
}
else
{
// Se construye el ciclo que recorrera el vector de las notas para
almacenarlas
for (i=0;i<=4;i++) // Ciclo para almacenar los valores de las notas
ledidas
{ // Inicio del ciclo
vecn[i] = parseFloat(respuestas[i]); // Se saca del vector de
respuestas el valor de cada nota o calificacion
} // Fin del ciclo for
// Se inicializa el acumulador que llevara la suma de las notas
suma = 0.0;
// Se coloca un separador
console.log("________________________________________________");
// Se anuncia la impresion de la lista de las notas ingresadas por el
usuario
console.log("La lista de notas tal como se igresaron son: ");
// Se coloca un separador
console.log("________________________________________________");
// Se inicializa la variable de la nota mayor con el valor de la primera
nota
mayor = vecn[0];
// Se inicializa la variable de la nota menor con el valor almacenado
inicialmente en la variable de la nota mayor
menor = mayor;
// Se construye el ciclo que recorrera el vector de las notas almacenadas
para mostrarlas, sumarlas y extraer la mayor y menor nota
for (i=0;i<=4;i++)
{
// Se muestra una a una la lista de notas ingresadas por el usuario
console.log(vecn[i]);
// Se van sumando una a uan las 5 notas ingresadas
suma = suma + vecn[i];
// Se veirifica si mayor tiene la nota mas alta
if (mayor<vecn[i]) {
// Se actualiza la naota mas alta
mayor = vecn[i];
// Fin condicional
}
// Se veirifica si menor tiene la nota mas baja
if (menor>vecn[i]) {
// Se actualiza la naota mas baja
menor = vecn[i];
// Fin condicional
}
// Se finaliza el ciclo for
}
// Se calcula el promedio de las 5 notas
promedio = suma/5;
// Se coloca un separador
console.log("_______________________________________________");
// Se anuncia que se mostrara los valores de promedio, nota mayor y nota
menor
console.log("Los valores calculados sobre las notas son: ");
// Se coloca un separador
console.log("_________________________________________________");
// Se muestra la nota mas alta
console.log("La nota mas alta del estudiante es: ",mayor);
// Se muestra la nota mas baja
console.log("La nota mas baja del estudiante es: ",menor);
// Se muestra el promedio de notas
console.log("El promedio de las 5 notas del estudiante es: ",promedio);
// Se finaliza el proceso
process.exit(); // Finaliza el proceso
}
}); // Se finaliza la funcion de proceso
// Se solicita al usuario la lista de las 5 notas
console.log("Ingrese el valor de cada una de las 5 notas, entre 0 la minima y 10
la maxima nota: ");
pregunta(0); // Llama a ejecucion a la funcion principal
// Se finaliza el algoritmo

Prueba realizada al programa codificado en JavaScript

Como puede observarse el programa muestra cada una de las 5 notas ingresadas, la
nota mas alta, la nota mas baja y el promedio sacado en las 5 notas del estudiante.

La 5 notas son: 6.7, 4.5, 7.3, 8.0, 10.0; la nota más baja es 4.5 y la nota más alta es 10.

La nota promedio es: 7.3


10. Diseñe el algoritmo correspondiente a un programa:
Cree una tabla bidimensional de longitud 3x4 y nómbrela “matriz”.
Cargue la tabla con valores numéricos enteros.
Sume todos los elementos de cada fila, visualizando los resultados en la pantalla.
Sume todos los elementos de cada columna y muestre los resultados en la pantalla.

Programa codificado en JavaScript


// Programa que carga una matriz de 3X4 con numeros enteros, la muestra, con
la suma de filas y suma de columnas
// Autor: Jose Alirio Barragan Sanchez
// Version: 1.0
// Inicio del proceso
// Se define el contador tipo indice para recorrer los vectores y para
recorrer la matriz por filas y columnas
var f, c, j; // Definicion de variables simples para recorridos de matriz y
vectores
// Se dimenciona el tamaño de la matriz de enteros de 3X4 y los vectores
para suma de filas y suma de columnas
var matn = [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]];
var sumafil = [0, 0, 0]; // Se inicializa en CERO (0) todas las posiciones
del vector que guarda la suma de filas
var sumacol = [0, 0, 0, 0]; // Se inicializa en CERO (0) todas las
posiciones del vector que guarda la suma de columnas
var preguntas = ['Generando Matriz de numeros enteros de 3 filas y 4
columnas. Presione ENTER para Continuar !!! ']; // Vector con cadenas de
mensajes
var respuestas = []; // Lista de caracteres para las respuestas a las
preguntas
function pregunta(j)
{ // Funcion para despliegue de las preguntas de solicitud de cada cadena (5
cadenas)
process.stdout.write(preguntas[j]);
}
process.stdin.on('data', function(data)
{ // Procedimiento para obtener los datos de cada cadena de caracteres desde
el teclado
respuestas.push(data.toString().trim()); //Captura las respuestas del
usuario a la solicitud de cadenas de caracteres y elimina el ENTER final con
trim()
if(respuestas.length < preguntas.length)
{ // Verifica si ya se desplego la solicitud de cadenas
pregunta(respuestas.length); // se ejecuta la funcion pregunta() con
la proxima pregunta de la lista
}
else
{
for (f=0;f<=2;f++) // Se construye el ciclo que recorrera la matriz
por filas
{
// Se construye el ciclo que recorrera la matriz por columnas
for (c=0;c<=3;c++)
{
// Se genera el numero entero aleatoriamente y se guarda en
la matriz
matn[f][c] = Math.floor(Math.random()*10)+1;
// Se finaliza el ciclo de columnas
}
// Se finaliza el ciclo de filas
}
// Se anuncia que se va a mostrar la matriz de enteros generada
console.log("La matriz de numeros enteros generada es: "); // Se
indica que se mostrara la matriz generada
for (f in matn)
{
// Se muestra cada uno de los numeros enteros almacenados en la
matriz sin salto de linea en pantalla
console.log(matn[f]); // Muestra cada uno de los elementos de
las filas y columnas de la matriz
}
// Se construye el ciclo que recorrera la matriz por filas para
mostrar los numeros enteros en ella
for (f=0;f<=2;f++)
{
// Se construye el ciclo que recorrera la matriz por columnas
for (c=0;c<=3;c++)
{
// Se suma cada fila y se almacena en el vector de suma de
filas
sumafil[f] = sumafil[f] + matn[f][c];
// Se suma cada columna y se almacena en el vector de suma
de columnas
sumacol[c] = sumacol[c] + matn[f][c];
// Se finaliza el ciclo de columnas
}
}
// Se coloca un separador
console.log("___________________________________");
// Se anuncia la impresion de la suma de las filas
console.log("La suma de cada fila es: ");
// Se coloca un separador
console.log("___________________________________");
// Se inicia el ciclo para mostrar la suma de cada fila
for (f=0;f<=2;f++)
{
// Se muestra la suma de cada fila
console.log(sumafil[f]);
// Se finaliza el ciclo del vector de filas
}
// Se coloca un separador
console.log("___________________________________");
// Se anuncia la impresion de la suma de las columnas
console.log("La suma de cada columna es: ");
// Se coloca un separador
console.log("___________________________________");
// Se inicia el ciclo para mostrar la suma de cada columna
for (c=0;c<=3;c++)
{
// Se muestra la suma de cada columna
console.log(sumacol[c]);
// Se finaliza el ciclo del vector de columnas
}
// Se finaliza el proceso
process.exit(); // Finaliza el proceso
}
});
pregunta(0); // Inica el programa ejecutando la funcion principal denominada
pregunta()

Prueba realizada al programa codificado en JavaScript


Se pude observar que el programa genera y muestra la matriz de números enteros de 3x4
generada aleatoriamente y luego muestra la suma de las filas y la suma de las columnas
que efectivamente dan los resultados esperados.

También podría gustarte