Sei sulla pagina 1di 9

FACULTAD DE INGENIERIA Y ARQUITECTURA

ESCUELA PROFESIONAL DE INGENIERIA CIVIL

ACTIVIDADES DE LA GUÍA 3

CURSO: TALLER DE ALGORÍTMICA Y PROGRAMACIÓN


DOCENTE: Mtra. Ing. Lizet Vargas Vera
INTEGRANTES:
- ARAINA ARAZELLY PACORI DURAND
CODIGO: 017100502K

- JOSE ANGEL POCCO CCOA


CODIGO: 018101212E

CUSCO PERU
2019
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Elaborar un algoritmo que permita invertir un número de 4 dígitos, halle la suma de sus
cifras.

1. ANÁLISIS
1.1. Entender el Problema.

A un numero de 4 cifras, la invertimos y hallamos la suma de sus cifras

Es decir, sea el numero 1234, entonces al invertirlo seria 4321

La suma de sus cifras seria 4+3+2+1= 10

1.2. Modelo

u = num % 10;

d = (num / 10) % 10;

c = (num / 100) % 10;

m = (num / 1000);

1.3. Especificación del algoritmo.


1.3.1. Diccionario de variables

VARIABLES DE ENTRADA

u{ Cantidad en unidades}: entero

d{Cantidad en decenas}: entero

c{Cantidad en centenas}: entero

m{Unidad de millar}: entero

VARIABLES DE SALIDA

U,c,d,m {cifras}: Entero

2. DISEÑO
2.1. Descripción del Algoritmo.
{Declarar e inicializar variables}
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Declarar u,d,c,m

Leer n, s

{Determinar las cifras}

u = num % 10;

d = (num / 10) % 10;

c = (num / 100) % 10;

m = (num / 1000);

{Escribir las cifras}

Escribir u

Escribir d

Escribir c

Escribir m

Învertir el numero}

n = m * 1 + c * 10 + d * 100 + u * 1000;

Hallar la suma de sus cifras


s = (u + d + c + m);

3. Codificación en lenguaje de programación C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
//Programa que invierte un numero de 4 cifras y halla su suma
int u, d, c, m, num;
float n, s;
//leer dato
Console.Write("Ingresar un numero de 4 cifras:");
num = int.Parse(Console.ReadLine());
u = num % 10;
d = (num / 10) % 10;
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

c = (num / 100) % 10;


m = (num / 1000);
//Invertir las cifras
Console.WriteLine("La Cantidad de millar es: " + m);
Console.WriteLine("La Cantidad de centena es: " + c);
Console.WriteLine("La Cantidad de decena es: " + d);
Console.WriteLine("La Cantidad de unidad es: " + u);
//Invertir el numero
n = m * 1 + c * 10 + d * 100 + u * 1000;
Console.Write ("El numero Invertido es: {0}", n);
//Hallas la Suma
s = (u + d + c + m);
Console.Write("La suma es : {0}", s);
Console.ReadKey();
}
}
}
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

En el campeonato Valle Sagrado de los Incas organizado para tres vueltas se llevan los tiempos
en HH: MM: SS empleados por cada participante y en cada vuelta. Elaborar un algoritmo que
determine el tiempo promedio por vuelta de un participante.

1. Análisis
1.1. Entender el problema

NRO HH MM SS TIEMPO
VUELTA PROMEDIO
1era 05 04 60 3H
vuelta
2da 01 02 03 20 MIN
vuelta
3ra 04 19 42 55 SEG
vuelta
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

1.2 Modelo

st1 = (h1*3600)+(m1*60)+(s1);

st2 = (h2 * 3600) + (m2 * 60) + (s2);

st3 = (h3 * 3600) + (m3 * 60) + (s3);

sp = (st1 + st2 + st3) / 3;

h4 = ((sp) / 3600)%24;

m4 = ((sp) % 3600) / 60;

s4 = ((sp) % 3600) % 60;

1.3 Especificación del algoritmo (determinación de variables)

1.3.1. Diccionario de variables

Variable de entrada
{h1, h2, h3, h4, m1, m2, m3, m4, s1, s2, s3, s4, st1, st2, st3, sp}: entero

Variable de salida

s4, st1, st2, st3, sp

1.3.3 Acción que realiza el algoritmo:

Calcular el promedio de las vueltas que realiza una persona

2. Diseño
2.1 Descripción del algoritmo en pseudocódigo

Inicio {Calcular el tiempopromedio de vuelta}

{leer datos}

Declarar h1, h2, h3, h4, m1, m2, m3, m4, s1, s2, s3, s4, st1, st2, st3, sp;
Leer

h1

h2

h3

h4
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

m1

m2

m3

m4

s1

s2

s3

{Calcular promedio}
st1 = (h1*3600)+(m1*60)+(s1);
st2 = (h2 * 3600) + (m2 * 60) + (s2);
st3 = (h3 * 3600) + (m3 * 60) + (s3);
sp = (st1 + st2 + st3) / 3;
h4 = ((sp) / 3600)%24;
m4 = ((sp) % 3600) / 60;
s4 = ((sp) % 3600) % 60;

{escribir tiempo promedio}

Escribir h4

Escribir m4

Escribir s4

3. Codificación en lenguaje C#
//calcular el tiempo promedio de tres tiempos
//declarar e inicializar variables
int h1, h2, h3, h4, m1, m2, m3, m4, s1, s2, s3, s4, st1, st2, st3,
sp;
//leer datos
Console.Write("Ingresa Hora primera vuelta: ");
h1 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Minutos primera vuelta: ");
m1 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Segundos primera vuelta: ");
s1 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Hora segunda vuelta: ");
h2 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Minutos segunda vuelta: ");
m2 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Segundos tercera vuelta: ");
s2 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Horas tercera vuelta: ");
h3 = int.Parse(Console.ReadLine());
Console.Write("Ingresa Minutos tercera vuelta: ");
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

m3 = int.Parse(Console.ReadLine());
Console.Write("Ingresa segundos tercera vuelta: ");
s3 = int.Parse(Console.ReadLine());
//calcular promedio
st1 = (h1*3600)+(m1*60)+(s1);
st2 = (h2 * 3600) + (m2 * 60) + (s2);
st3 = (h3 * 3600) + (m3 * 60) + (s3);
sp = (st1 + st2 + st3) / 3;
h4 = ((sp) / 3600)%24;
m4 = ((sp) % 3600) / 60;
s4 = ((sp) % 3600) % 60;
//escribir tiempo promedio
Console.Write("\nEl promedio de horas es: {0} Horas, {1} Minutos, {2}
segundos", h4,m4,s4);
Console.ReadKey();
}
}
}
FACULTAD DE INGENIERIA Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERIA CIVIL

Potrebbero piacerti anche