48676034 c Fundamentos de Programacion

download 48676034 c Fundamentos de Programacion

of 193

Transcript of 48676034 c Fundamentos de Programacion

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    1

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    2

    El lenguaje C#

    1.1.1. Introduccin

    Los primeros rumores de que Microsoft estaba desarrollando un nuevo lenguaje de programacin surgieron en 1998 , haciendo referencia a un lenguaje que entonces llamaban COOL y que decan era muy similar a Java. En junio de 2000, Microsoft despej todas las dudas liberando la especificacin de un nuevo lenguaje llamado C#. A esto le sigui rpidamente la primera versin de prueba del entorno de desarrollo estndar (SDK) .Net, que inclua un compilador de C#. El nuevo lenguaje estaba diseado por Anders Hejlsberg ( creador de Turbo Pascal y arquitecto de Delphi ), Scott Wiltamuth y Peter Golde. Entonces describieron el lenguaje como "...simple, moderno, orientado a objetos, de tipado seguro y con una fuerte herencia de C/C++".

    Porqu C#?

    La plataforma .NET acepta varios lenguajes. Por ahora, C#, Visual Basic, C++ gestionado, Nemerle, FORTRAN, Java, Python, etc. , y con capacidad para aceptar prcticamente cualquier lenguaje. Entonces la pregunta es, porqu se eligi C# en lugar de cualquier otro lenguaje?. La razn fundamental es que C# se dise para la plataforma .NET y es capaz de utilizar todo su potencial. Tambin es cierto que es un lenguaje "limpio" en el sentido de que al no tener que proporcionar compatibilidad hacia detrs se ha tenido ms libertad en el diseo y se ha puesto especial incapi en la simplicidad. Por ejemplo, en C# hay un tipo de clase y siempre se le aplica el recolector de basura mientras que en C++ gestionado hay dos tipos de clases, una a las que se le aplica el recolector y otra a la que no.

    Tipos Importancia de los tipos de datos Los tipos son la base de cualquier programa. Un tipo no es ms que un espacio en el que se almacena una informacin, ya sean nmeros, palabras o tu fecha de nacimiento. Los tipos de datos son especialmente importantes en C# porque es un lenguaje con informacin de tipos. Esto significa que, en todas las operaciones, el compilador comprueba los tipos para ver su compatibilidad. Las operaciones no vlidas no se compilan. De esta forma se evitan muchos errores y se consigue una mayor fiabilidad Tipos en C# En C# los tipos bsicos no son ms que alias para tipos predefinidos en la librera base de la plataforma Mono/.NET . As, el tipo entero int, no es ms que una forma rpida de escribir System.Int32 . Los tipos del lenguaje C# son divididos en dos grandes categoras: tipos por valor y tipos por referencia. Existe una tercera categora de tipos, disponible solo cuando se usa cdigo no seguro: los punteros, que

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    3

    se discutirn ms adelante.Los tipos por valor difieren de los tipos por referencia en que las variables de los tipos por valor contienen directamente su valor, mientras que las variables de los tipos por referencia almacenan referencias a objetos. Con los tipos por referencia, es posible que dos variables se refieran al mismo objeto, y por tanto es posible que las operaciones sobre una variable afecten al objeto al que hace referencia otra variable. Con los tipos por valor, cada variable tienen su propia copia de los datos, y las operaciones sobre una no afectar a la otra.

    Enteros

    Los tipos que sirven para almacenar nmeros enteros son: byte, sbyte. short, ushort, int, uint, long y ulong. Como se aprecia en la tabla, C# define versiones con y sin signo para tipos con los mismo bytes utilizados. La diferencia entre enteros con signo y sin signo radica en el modo de interpretar el bit de nivel superior del entero. Si se especifica un entero con signo, el compilador entender que el primer bit indica el signo: 0 si es positivo, 1 si es negativo. Sin embargo, los enteros sin signo, ese bit se puede utilizar para almacen el nmero y as se consigue que los enteros sin signo puedan almacenar nmeros el doble de grandes que los enteros con signo. Probablemente el tipo ms utilizado es el int, pus se utiliza para controlar matrices, inidizar arreglos adems de las operaciones normales con enteros. Adems, se trata de un entero de tamao medio: ms pequeo que long y ulong, pero ms grande que byte, sbyte, short y ushort.

    El siguiente ejemplo muestra la declaracin y uso de algunos tipos enteros calculando el nmero de segundos en una hora, dia y en un ao. using System; class Enteros{

    public static void Main() {

    int Minuto = 60; //segundos por minuto int Hora = Minuto*60; int Dia = Hora*24;

    long Anio = Dia*365;

    Console.WriteLine("Segundos en un dia: {0}", Dia); Console.WriteLine("Segundos en un ao: {0}", Anio);

    } } De nuevo hemos usado el mtodo Console.WriteLine para imprimir los resultados por la consola. El identificador {0} dentro de la cadena de texto indica que se sustituye {0} por el primer argumento. si hubiera ms de un argumento, se seguira con {1}, y as sucesivamente. Por ejemplo, las dos lneas que utilizan Console.WriteLine se pueden simplificar as:

    Console.WriteLine("En un dia: {0}; en un ao: {1}", Dia, Anio );

    La clase Console, se describe ms en detalle.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    4

    2.2.3. Tipos de coma flotante

    Los tipos de coma flotante sirven para representar a nmeros con parte fraccionaria. La representacin por supuesto puede no ser exacta, bien por errores de la mquina, bien porque el nmero de decimales que se puede alojar es finito.

    Existen dos clases de tipos de punto flotante, float y double. De los dos, el ms usado es double, pus es el valor que devuelven la mayora de las funciones matemticas de la librera base.

    El siguiente ejemplo calcula la raz cuadrada y el logaritmo de dos:

    using System;

    class Flotante{ public static void Main() {

    int a = 2; double log2 = Math.Log(2); double raiz2 = Math.Sqrt(2);

    Console.WriteLine("El logaritmo de dos es {0}", log2 ); Console.WriteLine("La raiz de dos es {0}", raiz2 );

    } }

    y la salida ser la siguiente:

    El logaritmo de dos es 0.693147180559945 La raiz de dos es 1.4142135623731 si intentamos cambiar el tipo de log2 a otro de menos precisin, como float o int, el compilador protestar. Esto se debe, como hemos dicho a que el valor devuelto por Math.Log() es de tipo double y si se quiere convertir a float, pus se perdern datos. Lo mismo ocurre con la mayora de los miembros de la clase Math, como Math.Sin(), Math.Tan(), etc.

    2.2.4. El tipo decimal

    El tipo decimal es un tipo "nuevo" en el sentido de que no tiene equivalente en C/C++. Es muy parecido a los tipo de coma flotante float y double. En la aritmtica de los tipos de coma flotante ordinarios, se pueden producir leves errores de redondeo. El tipo decimal elimina estos errores y puede representar correctamente hasta 28 lugares decimales. Esta capacidad para representar valores decimales sin errores de redondeo lo hace especialmente eficaz para clculos monetarios. El tipo bool

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    5

    El tipo bool sirve para expresar los valores verdadero/falso, que en C# se muestran con las palabras reservadas true y false. En C#, por ejemplo, una instruccin if solo puede estar gobernada por un valor bool, no como en C/C++, que lo puede estar tambin por un entero. De esta forma se ayuda a eliminar el error tan frecuente en programadores de C/C++ cuando usa "=" en lugar de "==". En definitiva, la inclusin del tipo bool en el lenguaje ayuda a la claridad del cdigo y evita algunos errores muy comunes

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    6

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    7

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    8

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    9

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    10

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    11

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    12

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    13

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    14

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    15

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    16

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    17

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    18

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    19

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    20

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    21

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    22

  • Lengu

    2.1

    Una eotra sentra

    En la

    uaje de Prog

    Es

    Concept

    estructura sesiguiendo un

    ada y una sal

    Figura se m

    gramacin

    Estru

    to

    ecuencial es na secuenciaida.

    muestra el p

    Pseu

    Inic

    Ac

    Ac

    Ac

    Ac

    Fin

    uctu

    aquella en la nica, sin

    pseudocdigo

    docdigo

    cio

    ccin 1

    ccin 2

    ccin 3

    .

    .

    .

    ccion n

    23

    ura Se

    a que las inscambios de

    o y el diagram

    Carlos Rodr

    Secue

    strucciones ee ruta. La es

    ma de flujo d

    rguez Torvis

    encia

    estn una a cstructura sec

    de una estru

    sco Algortm

    al

    continuacincuencial tien

    uctura secue

    mica

    n de la e una

    ncial.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    24

    PROBLEMAS RESUELTOS

    1.Ecribir un algoritmo que determine la suma de dos nmeros enteros.

    Datos Resultado Numero 1 Numero 2 Suma

    5 8 13 9 5 14

    1.1.Algoritmo

    Inicio {calcular la suma de dos nmeros}

    {Ingresamos los nmeros} Leer a Leer b {Calculamos la suma en una variable suma} Suma=a+b {Mostramos el resultado} Escribir suma Fin 1.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables int numero1,numero2, suma; //introducimos el primer nmero Console.Write("ingrese el primer nmero : "); //leemos nuestro nmero numero1 = int.Parse(Console.ReadLine()); //introducimos el segundo nmero Console.Write("ingrese el segundo nmero : "); //leemos nuestro segundo nmero numero2 = int.Parse(Console.ReadLine()); //sumamos los datos que tenemos suma = numero1 + numero2; //mostramos los resultados Console.Write("la suma es : {0}", suma); Console.ReadLine();//pausa la pantalla } 2.escribir un algoritmo y su codificacion para calcular el area de trinagulo.

    Datos Resultado base altura Area

    4 5 10 9 5 22,5

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    25

    2.1.Algoritmo

    Inicio {calcular el area de un triangulo}

    {Ingresamos base y altura} Leer bas Leer altura {Calculamos el area de un triangulo} Area = (bas * altura) / 2 {Mostramos el resultado} Escribir Area Fin 2.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables int bas, altura; double area; //ingresamos los datos Console.Write("Ingresa base : "); bas = int.Parse(Console.ReadLine()); Console.Write("Ingresa altura : "); altura = int.Parse(Console.ReadLine()); //hacemos la operacion area = (bas * altura) / 2; //mostramos los resultados por pantalla Console.Write("el area del triangulo es : {0}", area); Console.ReadLine(); } 3.escribir un algoritmo y su codificacion que convierta una distancia medida en metros a pies.

    Datos Resultado Distancia en metros

    4 5 9

    20

    Distancia en pies 13.09

    16.362 29.45 65.45

    3.1.Algoritmo

    Inicio {convertir una distancia medida en metros a pies}

    {Ingresamos distancia en metros} Leer metros {Convertir distancia a pies} pies = metros / (12 / 39.27) {Mostramos el resultado} Escribir pies Fin

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    26

    3.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables float metros, pies; //ingresamos los datos para almacenar en nuestras variables "metros" Console.Write("Ingresa Metros : "); metros = float.Parse(Console.ReadLine()); //hacemos la operacion pies = metros / (12 / 39.27f); //1 pie = 0.3048 metros //1 pulgada = 25.4 mm //mostramos los resultados por pantalla Console.Write("el equivalente en pies es : {0}", pies); Console.ReadLine(); } 4. escribir un algoritmo y su codificacion para calcular el total a pagar de un consumo ingresado por el usuario , finalmente mostrar el IGV y el total a pagar por pantalla (incluye IGV=0.19).

    Datos Resultado consumo IGV TOTAL A PAGAR

    524.25 99,61 623.86 45.00 8.55 53.55

    4.1.Algoritmo

    Inicio {calcular el igv y el monto total a pagar de un consumo ingresado por el usuario}

    {Ingresamos consumo} Leer consumo {Calculamos el igv} igv=consumo*0.19 {calculamos el totap a pagar} tap=consumo+igv {Mostramos el resultado} Escribir igv Escribir tap Fin 4.2.Codificacion(C#) static void Main(string[] args) { //definiciones de variables float consumo, igv, tap; //ingresando consumo Console.Write("Ingrese el monto de su consumo: "); consumo = float.Parse(Console.ReadLine()); //calculamos el igv

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    27

    igv = consumo * 0.19f; //calculamos el total a pagar tap = consumo + igv; Console.WriteLine("El IGV es : {0}",igv); Console.Write("Total a pagar:{0}",tap); Console.Read(); } 5. escribir un algoritmo y su codificacion para calcular la edad de una persona

    Datos Resultado Fecha de nacimiento Fecha actual Edad

    1991 2008 17 1985 2008 23

    5.1.Algoritmo

    Inicio {calcular la edad de una persona}

    {Ingresamos fecha de nacimiento} Leer fnac {Ingresamos fecha actual} Leer fac {calculamos la edad} Edad=facfnac {Mostramos el resultado} Escribir Edad Fin 5.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables int edad, fnac, fac; Console.Write("ingrese el ao que nacio :"); fnac = int.Parse(Console.ReadLine()); Console.Write("ingrese el ao actual :"); fac = int.Parse(Console.ReadLine()); //calculamos la edad edad = fac - fnac; //mostramos la edad de la persona Console.Write("su edad es : {0}", edad); Console.Read(); } 6. escribir un algoritmo y su codificacion para que un ingeniero de sistemas que desea invertir su capital en un banco y desea saber cunto dinero ganar despues en un mes si el banco paga a razn de 2% mensual.

    Datos Resultado Capital

    800 400 500

    1050

    Ganancia 16 8

    10 21

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    28

    6.1.Algoritmo

    Inicio {calcular la ganancia de un mes de un ingeniero}

    {Ingresamos capital} Leer capital {Calculamos el capital} ganancia = capital * 0.02 {Mostramos el resultado} Escribir ganancia Fin 6.2.Codificacion(C#) static void Main(string[] args) { double cap, gan; Console.Write("ingrese su capital : "); cap = double.Parse(Console.ReadLine()); gan = cap * 0.02; Console.Write("su ganacia es :{0} ", gan); Console.Read(); } 7. escribir un algoritmo y su codificacion para que un profesor determine el porcentaje de hombres y el porcentaje de mujeres hay en un grupo de estudiantes.

    Datos Resultado Numero de hombres Numero de mujeres Porcentaje de

    hombres Porcentaje de

    mujeres 20 20 50% 50% 15 29 34% 66%

    7.1.Algoritmo

    Inicio {calcular el porcentaje de varones y el porcentaje de mujeres de un grupo de Estudiantes}

    {Ingresamos nmero de hombres} Leer nh

    {Ingresamos nmero de mujeres} Leer nm {Calculamos el total de estudiantes} ta=nh+nm {calculamos el porcentaje de hombres} ph=nh*100 div ta {calculamos el porcentaje de mujeres} pm=nm*100 div ta {Mostramos el resultado} Escribir ph Escribir pm Fin

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    29

    7.2.Codificacion(C#) static void Main(string[] args) { int nh, nm; int ph, ta, pm; //ingresamos el numero de hombres Console.Write("ingrese numero de hombres : "); nh = int.Parse(Console.ReadLine()); //ingresamos el numero de mujeres Console.Write("ingrese numero de mujeres : "); nm = int.Parse(Console.ReadLine()); //calculamos el total de alumnos ta = nh + nm; //calculamos el porcentaje de hombres ph = nh *100 / ta; //calculamos el porcentaje de mujeres pm = nm * 100/ta; Console.WriteLine("el porcentaje de hombres es :{0}%",ph); Console.WriteLine("el porcentaje de mujeres es :{0}%",pm); Console.Read(); }

    8. Construya un programa tal, que dado el costo de un articulo vendido y la cantidad de dinero entregado por el cliente, calcule e imprima el cambio que debe entregrsele al mismo.

    Datos Resultado (cambio a entregar) Precio del Producto Pago que Realiza el Cliente

    50 70 20 20 25 5

    8.1.Algoritmo

    Inicio {Cambio}

    {Ingresamos Precio del Producto} Leer prepro

    {Ingresamos Pago que Realiza el Cliente} Leer pago {Calculamos la Devolucion o el Vuelto} Devo=pago prepro; Escribir Devo Fin

    8.2.Codificacion(C#) static void Main(string[] args) { float prepro, pago, devo = 0; //Ingresamos Precio del Producto Console.Write("Ingrese el Precio del Producto : ");

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    30

    prepro = float.Parse(Console.ReadLine()); //Ingresamos Pago que Realiza el cliente Console.Write("Ingrese el Pago que Realiza el Cliente: "); pago = float.Parse(Console.ReadLine()); //Calculamos el Vuelto o Devolucion devo = pago - prepro; //Mostramos el Cambio Console.WriteLine("El cambio a entregar es :s/.{0}", devo); Console.ReadLine(); }

    9 Hacer un programa que al dar la hora hh, mm minuto , ss segundo, escriba la hora correspondiente al segundo anterior.

    Datos Resultado(segundo anterior) Hora Minuto segundo Hora Minuto Segundo

    3 20 25 3 20 24 5 2 0 5 1 59

    9.1.Algoritmo

    Inicio {la hora al segundo anterior} Leer hh,mm,ss TotalSegundos=(hh*3600+mm*60+ss)1 hh = (TotalSegundos div 3600) mod 24; mm = (TotalSegundos mod 3600) div 60; ss = (TotalSegundos % 3600) div 60; {Mostramos la Hora Correspondiente al Segundo Anterior} Escribir hh,mm,ss Fin 9.2.Codificacion(C#)

    static void Main(string[] args) { int hh, mm, ss; Console.Write("Ingresa Hora:"); hh = int.Parse(Console.ReadLine()); Console.Write("Ingresa Minuto:"); mm = int.Parse(Console.ReadLine()); Console.Write("Ingresa Segundo:"); ss = int.Parse(Console.ReadLine()); int TotalSegundos = (hh * 3600 + mm * 60 + ss) -1; hh = (TotalSegundos / 3600) % 24; mm = (TotalSegundos % 3600) / 60; ss = (TotalSegundos % 3600) % 60; //mostramos la hora al segundo anterior Console.WriteLine("{0}:{1}:{2}", hh, mm, ss); Console.Read(); }

    10. Hacer un programa que al dar la hora hh, mm minuto , ss segundo, escriba la hora correspondiente despues de 2 segundos

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    31

    Datos Resultado(despus de 2 segundos) Hora Minuto segundo Hora Minuto Segundo

    3 20 25 3 20 27 5 2 59 5 3 1

    10.1.Algoritmo

    Inicio {la hora despus de 2 segundos } Leer hh,mm,ss TotalSegundos=(hh*3600+mm*60+ss)+2 hh = (TotalSegundos div 3600) mod 24; mm = (TotalSegundos mod 3600) div 60; ss = (TotalSegundos % 3600) div 60; {Mostramos la Hora Correspondiente despues de 2 segundos} Escribir hh,mm,ss Fin 10.2.Codificacion(C#)

    static void Main(string[] args) { int hh, mm, ss; Console.Write("Ingresa Hora:"); hh = int.Parse(Console.ReadLine()); Console.Write("Ingresa Minuto:"); mm = int.Parse(Console.ReadLine()); Console.Write("Ingresa Segundo:"); ss = int.Parse(Console.ReadLine()); int TotalSegundos = (hh * 3600 + mm * 60 + ss) + 2; hh = (TotalSegundos / 3600) % 24; mm = (TotalSegundos % 3600) / 60; ss = (TotalSegundos % 3600) % 60; //mostramos la hora despues de 2 segundos Console.WriteLine("{0}:{1}:{2}", hh, mm, ss); Console.Read(); }

    11 Disear un algoritmo que me permita ingresar un valor inicial y luego un valor final, para luego Calcular el valor central de los nmeros.

    Datos Resultado Valor Inicial Valor Final Valor Central

    2 4 3 10 20 15

    11.1.Algoritmo

    Inicio {Calcular el Valor Medio} Leer ValorInicial,ValorFinal {Calculo del Valor Central}

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    32

    ValorCentral=( ValorInicial+ValorFinal)/ 2 Escribir ValorCentral Fin 11.2.Codificacion(C#) static void Main(string[] args) { int A1, A2; int C; Console.Write("Ingresa Valor Inicial:"); A1 = int.Parse(Console.ReadLine()); Console.Write("Ingresa Valor Final:"); A2 = int.Parse(Console.ReadLine()); C = (A1 + A2) / 2; Console.WriteLine("Valor Central: " + C); Console.ReadLine(); }

    12.Escriba un programa tal, que dados el nombre de un dinosaurio, su peso y su longitud, expresados estos dos ltimos en toneladas y pies, respectivamente, escriba el nombre del dinosaurio, su peso expresado en kilogramos y su longitud expresada en metros.

    Datos Resultado Nombre Peso(Tonelada

    s) Longitud(Pies

    ) Nombre Peso(Kilos

    ) Longitud(Metro

    s) Rinoceronte 1 25 Rinoceronte 1000 7,6175 Choclosauri

    o 2 59 Choclosauri

    o 2000 17,97

    1 Tonelada= 1000 kilos

    12.1.Algoritmo

    Inicio {Conversion}

    {Ingresamos El Nombre del Dinosaurio} Leer Nomb

    {Ingresamos El Peso en Toneladas} Leer pes

    {Ingresamos La Longitud en Pies} Leer lon peskil = peso * 1000; lonmet = lon * 0.3047f; Escribir Nomb, peskil, lonmet Fin 12.2.Codificacion(C#) static void Main(string[] args) { float peso, lon, peskil = 0, lonmet = 0;

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    33

    string Nomb; Console.Write("Ingrese el Nombre del Dinosaurio:"); Nomb = Console.ReadLine(); Console.Write("Ingrese el Peso en Toneladas : "); peso = float.Parse(Console.ReadLine()); Console.Write("Ingrese la Longitud en Pies : "); lon = float.Parse(Console.ReadLine()); peskil = peso * 1000; lonmet = lon * 0.3047f; Console.WriteLine("Nombre del Dinosaurio: " + Nomb); Console.WriteLine("El Peso en Kilos es: " + peskil); Console.WriteLine("La Longitud en Metros es: " + lonmet); Console.ReadLine(); }

    13.Una persona compr una estancia en Abancay. La extensin de la estancia esta especificada en acres. Construya un programa, tal que dado como dato la extensin del campo en "acres", calcule e imprima la extensin del mismo en hectreas

    Datos Resultado Extencion en Acres

    200 100 500 450

    Extencion en Hectareas 80,94 40,47

    202,35 182,115

    13.1.Algoritmo

    Inicio {calcular hectareas}

    {Ingresamos extencion en Acres} Leer exten Escribir extcam * 4047 / 10000 Fin 13.2.Codificacion(C#) static void Main(string[] args) { float extcam, extha; Console.Write("Ingresar la Extensin del Campo en Acres: "); extcam = float.Parse(Console.ReadLine()); extha = extcam * 4047 / 10000; Console.WriteLine("La Extensin del Campo en Hectreas es: " + extha); Console.ReadLine(); }

    14.Construya un programa que calcule e imprima el nmero de segundos que hay en un determinado nmero de das.

    Datos Resultado Cantidad de Dias

    1 30 24

    Total de Segundos 86400

    2592000 2073600

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    34

    15 1296000

    14.1.Algoritmo

    Inicio {calcular total de segundos}

    {Ingresamos el numero de dias} Leer dias Escribir dias*24*60*60 Fin 14.2.Codificacion(C#) static void Main(string[] args) { int seg, dias; Console.Write("Ingresar el Nmero de Das: "); dias = int.Parse(Console.ReadLine()); seg = dias * 24 * 60 * 60; Console.WriteLine(" ****En {0} Das hay {1} Segundos****", dias, seg); Console.ReadLine(); }

    15.Contruya un programa que resuelva el problema que tienen en una gasolineria. Los surtidores de la misma registran lo que "surten" en galones, pero el precio de la gasolina esta fijado en litros. El Programa debe calcular e imprimir lo que hay que cobrarle al cliente.

    Datos Resultado Numero de Galones

    4 3 2

    15

    Total a Pagar 15,5182

    11,63 7,75

    58,19

    15.1.Algoritmo

    Inicio {calcular el total a pagar}

    {Ingresamos el numero de galones} Leer cons Escribir cons * 3.785f * 1.025; Fin 15.2.Codificacion(C#) static void Main(string[] args) { float cons, total = 0; Console.Write("Ingrese el Nmero de Galones Surtidos: "); cons = float.Parse(Console.ReadLine()); total = cons * 3.785f * 1.025f; Console.WriteLine("El Total es:" + total);

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    35

    Console.ReadLine(); }

    16.En las olimpiadas de invierno, el tiempo que realizan los participantes en la competencia de velocidad en pista, se mide en minutos, segundos y centsimas. La distancia que recorren, por otra parte, se expresa en metros. Construya un programa que calcule la velocidad de los participantes en kilmetros por hora de las diferentes competencias.

    DAT0S RESULTADO

    Minutos Segundos Centsimas de Segundo

    Distancia en Metros

    Distancia Recorrida

    Velocidad(KM/H)

    59 60 0 1000 1000 1 45 12 25 5000 5000 6,63

    16.1.Algoritmo

    Inicio {calcular velocidad}

    {Ingresamos el tiempo} Leer min,seg,cen,dis tiemseg = min * 60 + seg + (cen / 100) veloms = dis / tiemseg velokh = (veloms * 3600) / 1000 Escribir dis,velokh Fin 16.2.Codificacion(C#) static void Main(string[] args) { int min, seg, cen; float veloms, velokh, tiemseg = 0, dis; Console.WriteLine("Ingresar el Tiempo Empleado en la Competencia"); Console.Write("Minutos : "); min = int.Parse(Console.ReadLine()); Console.Write("Segundos : "); seg = int.Parse(Console.ReadLine()); Console.Write("Centsimas de Segundo : "); cen = int.Parse(Console.ReadLine()); Console.Write("Ingresar la Distancia Recorrida en Metros: "); dis = float.Parse(Console.ReadLine()); tiemseg = min * 60 + seg + (cen / 100); veloms = dis / tiemseg; velokh = (veloms * 3600) / 1000; Console.WriteLine("La Distancia Recorrida es: {0} metros", dis); Console.WriteLine("La Velocidad es de: {0} (Km/h)", velokh); Console.ReadLine(); }

    17 escribir un algoritmo y su codificacion para invertir un numero de tres digitos.

    Datos Resultado Numero Numero Invertido

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    36

    154 541 987 325

    451 145 789 523

    17.1.Algoritmo

    Inicio {invertir un nmero de tres dgitos}

    {Ingresamos nmero de tres dgitos} Leer nmero {Sepranos el nmero en unidad, decena y centena} Unidad=numero mod 10 Centena=numero div 100 Decena= (numero mod 100) div 10 {Invertir nmero} numero_invertido=Unidad*100+Decena*10+Centena {Mostramos el resultado} Escribir numero_invertido Fin 17.2.Codificacion(C#) static void Main(string[] args) { int numero, numero_invertido, Decenas, Unidades, Centenas; //leer numero de tres digitos Console.Write("ingres numero de tres cifras : "); numero = int.Parse(Console.ReadLine()); //separar el numero en undades , decenas y centenas Unidades = numero % 10; Decenas = (numero % 100) / 10; Centenas = numero / 100; //invertir numero numero_invertido = Unidades * 100 + Decenas * 10 + Centenas; //Escribir numero invertido Console.WriteLine("numero original : {0}", numero); Console.WriteLine("Numero invertido : {0}", numero_invertido); Console.ReadLine(); }

    18. escribir un algoritmo y su codificacion para sumar los digitos de un numero de 2 cifras.

    Datos Resultado Numero

    15 41 97 32

    Suma de cifras 6 5

    16 5

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    37

    18.1.Algoritmo

    Inicio {sumar los dgitos de un nmero de 2 cifras}

    {Ingresamos nmero de dos dgitos} Leer nmero {Sepranos el nmero en unidad y decena} Unidad=numero mod 10 Decena= numero div 10 {Calculamos la suma de los dgitos} suma = Unidad*100+Decena*10+Centena {Mostramos el resultado} Escribir suma Fin 18.2.Codificacion(C#) static void Main(string[] args) { int numero, suma, Decenas, Unidades; //ingresar numero de dos digitos Console.Write("ingres numero de dos cifras : "); numero = int.Parse(Console.ReadLine()); //separar el numero en undades , decenas Unidades = numero % 10; Decenas = numero / 10; //sumar digitos suma = Unidades+Decenas; //Escribir suma Console.WriteLine("La Suma de sus Digitos es:{0}", suma); Console.ReadLine(); } 19. escribir un algoritmo y su codificacion para calcular el ultimo digito de un numero entero.

    Datos Resultado Numero

    154 541 987 325

    Ultima Cifra 4 1 7 5

    19.1.Algoritmo

    Inicio {calcular el ltimo digito de un nmero cualquiera}

    {Ingresamos un nmero} Leer nmero {Calculamos la ltima cifra} Ultima_cifra=numero mod 10 Escribir Ultima_cifra {Mostramos el resultado}

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    38

    Fin 19.2.Codificacion(C#) static void Main(string[] args) { int numero,Ultima_cifra; //ingresar un numero Console.Write("ingres numero de dos cifras : "); numero = int.Parse(Console.ReadLine()); //calculamos el ultimo digito de un numero cualquiera Ultima_cifra = numero % 10; //mostramos el ultimo digito Console.WriteLine("El Ultimo digito es :{0}",Ultima_cifra); Console.ReadLine(); } 20. escribir un algoritmo y su codificacion para calcular el promedio de tres notas ingresadas por teclado.

    Datos Resultado Nota 1 Nota 2 Nota 3 Promedio

    20 20 20 20 15 12 18 15

    20.1.Algoritmo Inicio {calcular el promedio de tres notas dadas}

    {Ingresamos la primera nota} Leer nota1

    {Ingresamos la segunda nota} Leer nota2

    {Ingresamos la tercera nota} Leer nota3 {Calculamos el promedio} promedio=(nota1+nota2+nota3)/3 {Mostramos el resultado} Escribir promedio Fin 20.2.Codificacion(C#) static void Main(string[] args) {//declaramos nuestras variables int nota1, nota2, nota3, promedio; //ingresamos las notas Console.Write("Ingrese Nota 1:"); nota1 = int.Parse(Console.ReadLine()); Console.Write("Ingrese Nota 2:"); nota2 = int.Parse(Console.ReadLine()); Console.Write("Ingrese Nota 3:"); nota3 = int.Parse(Console.ReadLine()); //calculamos el promedio

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    39

    promedio = (nota1 + nota2 + nota3) / 3; //mostramos el resultado Console.Write("El Promedio es :{0}",promedio); Console.Read(); } 21. escribir un algoritmo y su codificacion para un vendedor que recibe un sueldo base ms un 10% extra por comisin de sus ventas,el vendedor desea saber cuanto dinero obtendr por conceptos de comisiones por las tres ventas que realiza en el mes y el total que recibir en el mes tomando en cuenta su sueldo base y comisiones.

    Datos

    Resultado

    Sueldo base Venta 1 Venta 2 Venta 3 Comisin Total a pagar 450 500 645 800 194.5 644.5 800 1005 2000 1540 454.5 1254.5

    21.1.Algoritmo

    Inicio {calcular la comisin y el total a pagar de un vendedor}

    {Ingresamos el sueldo base} Leer sb

    {Ingresamos la primera venta} Leer v1

    {Ingresamos la segunda venta} Leer v2

    {Ingresamos la tercera venta} Leer v3 {Calculamos el total de venta} total_venta=v1+v2+v3 {Calculamos la comisin} Comisin=total_venta*0.10 {Calculamos el total a pagar} tpag=sb+comision {Mostramos el resultado} Escribir comisin Escribir tpag Fin 21.2.Codificacion(C#) static void Main(string[] args) { double sb, v1, v2, v3, comision, tpag, total_venta; //ingresamos el sueldo base Console.Write("ingrese su sueldo base : "); sb = double.Parse(Console.ReadLine()); //ingresamos las tres ventas Console.Write("ingrese venta 1 : "); v1 = double.Parse(Console.ReadLine()); Console.Write("ingrese venta 2 : ");

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    40

    v2 = double.Parse(Console.ReadLine()); Console.Write("ingrese venta 3 : "); v3 = double.Parse(Console.ReadLine()); //calculamos el total de venta total_venta = v1 + v2 + v3; //calculamos la comision comision = total_venta * 0.10; //calculamos el total a pagar tpag = sb + comision; //mostramos los resultados Console.WriteLine("su total a pagar es : {0} ", tpag); Console.WriteLine("su comision es : {0} ", comision); Console.ReadLine(); } 22. escribir un algoritmo y su codificacion para una tienda que ofrece un descuento de 15% sobre el total de la compra y un cliente desea saber cuanto deber pagar finalmente por su compra.

    Datos Resultado Total de compra

    154 541 987 325

    Total a pagar 130.9

    459.85 838.95 276.25

    22.1.Algoritmo

    Inicio {calcular el total a pagar}

    {Ingresamos el total de compra} Leer tc {Calculamos el descuento} d=tc*0.15 {Calculamos el total a pagar} tp=tcd {Mostramos el resultado} Escribir tp Fin 22.2.Codificacion(C#) static void Main(string[] args) { float tc,d,tp; //ingresamos el total de compra Console.Write("ingrese total de la compra : "); tc = float.Parse(Console.ReadLine()); //calculamos el descuento d = tc * 0.15f; //calculamos el total a pgar tp = tc - d; //mostramos el total a pgar Console.Write("el total a pagar es : {0}", tp);

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    41

    Console.ReadLine(); }

    23. escribir un algoritmo y su codificacion para un alumno que desea saber cual ser su calificacion final en la materia de lenguaje de programacion.Dicha calificacion se compone de los siguientes porcentajes:

    55% del promedio de sus tres calificaciones parciales 30% de la calificacion del examen final 15% de la calificacion de un trabajo final

    Datos

    Resultado

    Calificacin 1

    Calificacin 2

    Calificacin 3

    Examen final Trabajo final Calificacin final

    15 12 11 15 17 14.02 11 12 14 10 08 10.98

    23.1.Algoritmo

    Inicio {calcular la calificacin final}

    {Ingresamos las tres calificaciones} Leer c1, c2, c3 {Ingresamos el examen final y el trabajo final} Leer ef, tf {Calculamos el promedio de las tres calificaciones} prom= (c1, c2,c3)/3 ppar=prom*0.55 ef=ef*0.30 tf=tf*0.15 {Mostramos la calificacin final} Escribir cf Fin 23.2.Codificacion(C#) static void Main(string[] args) { float c1, c2, c3, ef, tf, prom, ppar, pef, ptf, cf; //ingresamos las tres primeras calificaciones Console.Write("ingrese su primera calificacion : "); c1 = float.Parse(Console.ReadLine()); Console.Write("ingrese su segunda calificacion : "); c2 = float.Parse(Console.ReadLine()); Console.Write("ingrese su tercera calificacion : "); c3 = float.Parse(Console.ReadLine()); //ingresamos la nota del examen final Console.Write("ingrese la nota de su examen final : "); ef = float.Parse(Console.ReadLine()); //ingresamos la calificacion de su trabajo final Console.Write("ingrese la calificacion de su trabajo final : ");

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    42

    tf = float.Parse(Console.ReadLine()); //calculamos el promedio de las tres calificaciones prom = (c1 + c2 + c3) / 3; //calculamos el 55% de las tres calificaciones ppar = prom * 0.55f; //calculamos el 30% de examen final pef = ef * 0.30f; //calculamos el 15% del trabajo final ptf = tf * 0.15f; //calcuamos la calificacion final del alumno cf = ppar + pef + ptf; Console.Write("su calificacion final es : {0}", cf); Console.Read(); } 24. escribir un algoritmo y su codificacion para sacar la raiz cuadrada de un numero cualquiera.

    Datos Resultado

    numero 4

    25 81 49

    Raz cuadrada 2 5 9 7

    24.1.Algoritmo

    Inicio {calcular la raz cuadrada}

    {Ingresamos un nmero cualquiera} Leer a {Calculamos la raz cuadra de un nmero}

    b= {Mostramos la raz cuadrada} Escribir b Fin 24.2.Codificacion(C#) static void Main(string[] args) { double a, b; Console.WriteLine("Ingresa un numero para sacarle su raiz cuadrada:"); a = int.Parse(Console.ReadLine()); b = Math.Sqrt(a); Console.WriteLine("La Raiz cuadrada es de :{0}", b); Console.Read(); } 25 escribir un algoritmo y su codificacion para dada una medida de tiempo expresada en horas,minutos y segundos ingresados por teclado, entonces transformar dicha medida en una expresin correcta y mostrarla por pantalla.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    43

    Datos Resultado Hora Minuto segundo Hora

    Correcta Minuto

    Correcto Segundo Correcto

    3 118 195 5 1 15 5 98 154 6 40 34

    25.1.Algoritmo

    Inicio {calcular la hora correcta}

    {Ingresamos horas, minutos, segundos} Leer hora, minuto, segundo {Convertimos a segundos} totalsegundos=hora*3600+minuto*60+segundo {Distribuimos el totalsegundos en hora, minuto, segundos correctamente} hora=totalsegundos div 3600 hora=hora mod 24 minuto = (totalsegundos mod 3600) div 60 segudo = (totalsegundos mod 3600) mod 60 {Mostramos la hora correctamente} Escribir hora, minuto, segundo Fin 25.2.Codificacion(C#) static void Main(string[] args) { int hora, minuto, segudo, totalsegundos; //ingresamos hora,minuto,segundos Console.Write("Ingresa Hora:"); hora = int.Parse(Console.ReadLine()); Console.Write("Ingresa Minuto:"); minuto = int.Parse(Console.ReadLine()); Console.Write("Ingresa Segundo:"); segudo= int.Parse(Console.ReadLine()); //convertimos todo a segundo totalsegundos = hora * 3600 + minuto * 60 + segudo; //distribuimos el totalsegundos en horas,segundos,minutos correctamente hora = totalsegundos / 3600; hora = hora % 24; minuto = (totalsegundos % 3600) / 60; segudo = (totalsegundos % 3600) % 60; //mostramos la hora correctamente Console.Write("{0}:{1}:{2}",hora,minuto,segudo); Console.Read(); } 26. escribir un algoritmo y su codificacion que calcule el nmero mnimo de billetes de 200,100,50,20,10 y 5 nuevos soles y monedas de 1 Nuevo Sol:50,10 y 1 centimo que son necesarias para cambiar un cheque bancario.(Nota:El cheque bancario contiene cntimos).

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    44

    Supongamos que el Monto Ingresado sea 4587.75

    El cambio seria lo siguiente:

    s/.200 s/.100 s/.50 s/.20 s/.10 5 soles 1 sol 0.50 0.10 0.01 22 1 1 1 1 1 2 1 2 5

    Ejemplo codificado

    26.1.Algoritmo

    Inicio {cambio de cheque bancario}

    {Ingresamos monto a cambiar} Leer monto monto =monto*100 {Calcular nmero mnimo de billetes de cada denominacin} billete200= (int) monto div (200*100) Resto= (int) monto mod (200*100) billete100 = resto div (100 * 100); resto = resto mod (100 * 100); billete50 = resto div (50 * 100); resto = resto mod (50 * 100); billete20 = resto div (20 * 100); resto = resto mod (20 * 100); billete10 = resto div (10 * 100); resto = resto mod (10 * 100); moneda5 = resto div (5 * 100); resto = resto mod (5 * 100); moneda1 = resto div (1 * 100); resto = resto mod (1 * 100); monedacincuenta = resto div 50; resto = resto mod 50; monedadiez = resto div 10; resto = resto mod 10; monedauncentimo = resto div 1; {Mostramos el cambio} Escribir billete200 Escribir billete100 Escribir billete50 Escribir billete20

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    45

    Escribir billete10 Escribir moneda5 Escribir moneda1 Escribir monedacincuenta Escribir monedadiez Escribir monedauncentimo Fin 26.2.Codificacion(C#) static void Main(string[] args) { double monto; int billete100, billete200, billete50, billete20, billete10; int moneda5, moneda1, monedacincuenta, monedadiez, monedauncentimo; int resto; Console.Write("Ingrese Monto:"); monto = double.Parse(Console.ReadLine()); monto = monto * 100; //calcular numero minimo de billetes de cada denominacion billete200 = (int)monto / (200 * 100); resto = (int)monto % (200 * 100); billete100 = resto / (100 * 100); resto = resto % (100 * 100); billete50 = resto / (50 * 100); resto = resto % (50 * 100); billete20 = resto / (20 * 100); resto = resto % (20 * 100); billete10 = resto / (10 * 100); resto = resto % (10 * 100); moneda5 = resto / (5 * 100); resto = resto % (5 * 100); moneda1 = resto / (1 * 100); resto = resto % (1 * 100); monedacincuenta = resto / 50; resto = resto % 50; monedadiez = resto / 10; resto = resto % 10; monedauncentimo = resto / 1; //mostramos el cambio respectivo Console.WriteLine("{0} Billetes de 200", billete200); Console.WriteLine("{0} Billetes de 100", billete100); Console.WriteLine("{0} Billetes de 50", billete50); Console.WriteLine("{0} Billetes de 20", billete20); Console.WriteLine("{0} Billetes de 10", billete10); Console.WriteLine("{0} Monedas de 5 Soles", moneda5); Console.WriteLine("{0} Monedas de 1 Sol", moneda1); Console.WriteLine("{0} Monedas de 0.50 Centimos", monedacincuenta); Console.WriteLine("{0} Monedas de 0.10 Centimos", monedadiez); Console.WriteLine("{0} Monedas de 0.01 Centimo", monedauncentimo); Console.Read(); } 27. Los organizadores de la competencia automovilista 3 vueltas al rio pachachaca tienen los tiempos (en HH,MM,SS) empleados por cada participante y en cada vuelta.Ellos desean determinar el tiempo promedio por vuelta empleado por cada participante.Escribir

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    46

    un algoritmo y su codificacion para determinar el tiempo promedio por vuelta de un participante.

    Datos Resultado 1 vuelta

    Hora,minuto,segundo

    2 vuelta Hora,minuto,seg

    undo

    3 vuelta Hora,minuto,seg

    undo

    Hora

    promedio

    Minuto prom.

    Segundo

    promedio 8:31:25 11:34:11 14:12:48 11 26 8

    3:3:5 5:2:56 8:43:11 5 36 24

    Ejemplo codificado

    27.1.Algoritmo

    Inicio {calcular el tiempo promedio}

    {Ingresamos horas, minutos, segundos de la primera vuelta} Leer hh, mm, ss

    {Ingresamos horas, minutos, segundos de la segunda vuelta} Leer hh2, mm2, ss2

    {Ingresamos horas, minutos, segundos de la tercera vuelta} Leer hh2, mm2, ss2 {Convertimos a segundos} Vuelta1=hh*3600+mm*60+ss Vuelta2= hh2*3600+mm2*60+ss2 Vuelta3= hh3*3600+mm3*60+ss3 {Sumamos las tres vueltas y dividimos entre 3} Totalsegundos= (Vuelta1+Vuelta2+Vuelta3)/3 {Distribuimos el totalsegundos para que nos de el tiempo promedio} Horapromedio= Totalsegundos div 3600 Horapromedio=Horapromedio mod 24 Minutopromedio= (Totalsegundos mod 3600) div 60 Segundopromedio= (Totalsegundos mod 3600) mod 3600 {Mostramos la hora correctamente} Escribir Horapromedio, Minutopromedio, Segundopromedio Fin 27.2.Codificacion(C#)

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    47

    static void Main(string[] args) { int hh, mm, ss, totalsegundos, hh2, mm2, ss2, hh3, mm3, ss3; int vuelta1, vuelta2, vuelta3; int horapromedio, minutopromedio, segundopromedio; //INGRESO LAS HORAS,MINUTOS,SEGUNDOS DEL PRIMERA VUELTA Console.ForegroundColor = ConsoleColor.Blue;//color de letra Console.Write("HH:"); hh = int.Parse(Console.ReadLine()); Console.Write("MM:"); mm = int.Parse(Console.ReadLine()); Console.Write("SS:"); ss = int.Parse(Console.ReadLine()); //INGRESO LAS HORAS,MINUTOS,SEGUNDOS DEL SEGUNDA VUELTA Console.ForegroundColor = ConsoleColor.Red;//color de letra de la segunda vuelta

    Console.WriteLine("Segunda Vuelta"); Console.Write("HH:"); hh2 = int.Parse(Console.ReadLine()); Console.Write("MM:"); mm2 = int.Parse(Console.ReadLine()); Console.Write("SS:"); ss2 = int.Parse(Console.ReadLine()); //INGRESO LAS HORAS,MINUTOS,SEGUNDOS DEL TERCERA VUELTA Console.ForegroundColor = ConsoleColor.Cyan;//color de letra de la tercera vuelta

    Console.WriteLine("Tercera Vuelta"); Console.Write("HH:"); hh3 = int.Parse(Console.ReadLine()); Console.Write("MM:"); mm3 = int.Parse(Console.ReadLine()); Console.Write("SS:"); ss3 = int.Parse(Console.ReadLine()); //CONVERTIR A SEGUNDO CADA VUELTA vuelta1 = hh * 3600 + mm * 60 + ss; vuelta2 = hh2 * 3600 + mm2 * 60 + ss2; vuelta3 = hh3 * 3600 + mm3 * 60 + ss3; //SUMAR TODAS LAS VUELTAS totalsegundos =(vuelta1+vuelta2+vuelta3)/3; //Distribuimos el totalsegundos para que nos de el tiempo promedio horapromedio = totalsegundos / 3600; horapromedio = horapromedio % 24; minutopromedio = (totalsegundos % 3600) / 60; segundopromedio = (totalsegundos % 3600) % 60; Console.Write("el promedio es :{0}:{1}:{2}", horapromedio, minutopromedio, segundopromedio);

    Console.Read(); }

    28.En el curso de lenguaje de programacin I se tomaron dos exmenes parciales y un examen prctica. El promedio final se calcula considerando que los exmenes parciales tienes peso dos y la practica peso uno. Escribir un algoritmo y su codificacin que calcule el Promedio final.

    Datos Resultado Examen parcial 1 Examen parcial 2 Examen practica Promedio final

    20 20 20 20 15 12 18 14.4

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    48

    28.1.Algoritmo

    Inicio {calcular el promedio}

    {Ingresamos los dos exmenes parciales y el examen practica} Leer examenparcial1, examenparcial2, examenpractica Promediofinal = ((examenparcial1 * 2) + (examenparcial2 * 2) + examenpractica)/5 {Mostramos el promedio} Escribir promedio Fin 28.2.Codificacion(C#) static void Main(string[] args) { float examenparcial1, examenparcial2, examenpractica, promediofinal; Console.Write("Ingresa el Primer Examen Parcial:"); examenparcial1 = float.Parse(Console.ReadLine()); Console.Write("Ingresa el Segundo Examen Parcial:"); examenparcial2 = float.Parse(Console.ReadLine()); Console.Write("Ingresa el Examen Practica:"); examenpractica = float.Parse(Console.ReadLine()); promediofinal = ((examenparcial1 * 2) + (examenparcial2 * 2) + examenpractica) / 5;

    Console.Write("El Promedio final es : {0}", promediofinal); Console.Read(); } 29.Disee un pseudocdigo y su codificacin que halle el rea y el permetro de un rectngulo. Considere que: rea=base x altura y permetro = 2 * (base + altura)

    Datos Resultado base altura rea permetro

    10 5 50 30 15 29 435 88

    29.1.Algoritmo

    Inicio {calcular el rea y el permetro de un rectngulo}

    {Ingresamos base y altura} Leer bas, altura {Calculamos el area} Area=bas*altura {Calculamos el permetro} Permetro=2*(bas+altura) {Mostramos el area y el permetro} Escribir area, perimetro Fin

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    49

    29.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables double area, bas, perimetro, altura; //ingresamos base y altura Console.Write("Ingrese Altura:"); altura = double.Parse(Console.ReadLine()); Console.Write("Ingrese Base:"); bas = double.Parse(Console.ReadLine()); //proceso de calculo area = bas * altura; perimetro=2*(bas+altura); // mostrar de resultados Console.WriteLine("El Area es :{0}",area); Console.WriteLine("El Perimetro es :{0}",perimetro); Console.Read(); } 30.Disee un pseudocdigo y su codificacin que lea la hora actual del da HH:MM:SS y determine cuantas horas, minutos y segundos restan para culminar el da.

    Datos Resultado(para que termine el da) Hora Minuto segundo Hora Minuto Segundo

    6 14 19 17 45 41 20 41 12 3 18 48

    30.1.Algoritmo

    Inicio {calcular la hora que falta para que acabe el da}

    {Ingresamos hora, segundo, minuto} Leer hor1, min1, seg1 {Calculo de la cantidad de segundos que restan para culminar el da} segres=86400(hor1*3600+min1*60+seg) {Descomposicin de sgres en horas, minutos y segundos} Hor2=segres div 3600 Resto=segres mod 3600 Min2=resto div 60 Seg2=resto mod 60 {Mostramos la hora que falta para culminar el da} Escribir hor2, min2, seg2 Fin 30.2.Codificacion(C#) static void Main(string[] args) { //declaracion de variables int hor1, min1, seg1, hor2, min2, seg2, segres, resto; //ingresar el tiempo

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    50

    Console.Write("Ingresa Hora:"); hor1 = int.Parse(Console.ReadLine()); Console.Write("Ingresa Mintuo:"); min1 = int.Parse(Console.ReadLine()); Console.Write("Ingresa Segundo:"); seg1 = int.Parse(Console.ReadLine()); //calculo de la cantidad de segundos que restan para culminar el da segres = 86400 - (hor1 * 3600 + min1 * 60 + seg1); //descomposicion de segres en horas, minutos y segundos hor2 = segres / 3600; resto = segres % 3600; min2 = resto / 60; seg2 = resto % 60; //mostrar la hora que falta para culminar el da Console.WriteLine("Falta:{0}:{1}:{2}",hor2,min2,seg2); Console.Read(); } 31.Tres Hermanos constituyen una empresa. Al Primer Hermano le corresponde el 50% de las acciones. Al segundo hermano le corresponde una cantidad equivalente a las 2/3 partes de las acciones del primer hermano. El resto de las acciones pertenece al tercer hermano. Al final de cada mes se debe repartir las utilidades generadas por la empresa en forma proporcional a las acciones de cada hermano. Escribir un algoritmo y su codificacin que determine el monto correspondiente a cada hermano.

    Datos Resultado Monto Primer

    hermano Segundo hermano

    Tercer hermano

    5648 2824 1882.7 941.3 554788 277394 184929.3 92464.67

    31.1.Algoritmo

    Inicio {calcular cuanto le corresponde a cada hermano}

    {Ingresamos monto} Leer monto {Calculo cuanto le pertenece al primer hermano} PrimerHermano=monto*0.50 {Calculo cuanto le pertenece al segundo hermano} SegundoHermano=PrimerHermano*2/3 {Calculo cuanto le pertenece al tercer hermano} TercerHermano=PrimerHermanoSegundoHermano {Mostramos cuanto le corresponde a cada hermano} Escribir PrimerHermano, SegundoHermano, TercerHermano Fin 31.2.Codificacion(C#) static void Main(string[] args) { float PrimerHermano, SegundoHermano, TercerHermano, Monto;

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    51

    //ingreso monto Console.Write("Ingrese Monto: "); Monto = int.Parse(Console.ReadLine()); //calculamos cuanto le pertence al primer hermano PrimerHermano = Monto * 0.50f; //calculamos cuanto le pertence al segundo hermano SegundoHermano = PrimerHermano * 2 / 3f; //calculamos cuanto le pertence al tercer hermano TercerHermano = PrimerHermano - SegundoHermano; //escribir cuanto le corresponde a cada hermano Console.WriteLine("Primer hermano le corresponde el : {0}", PrimerHermano); Console.WriteLine("Segundo hermano le coresponde el : {0}", SegundoHermano); Console.WriteLine("Tercer hermano le corresponde el : {0}", TercerHermano); Console.ReadLine(); } 32.Escribir un algoritmo y su codificacin para calcular el rea y el volumen de un hexaedro.

    Datos Resultado Lado rea Volumen

    5 150 125 2 24 8

    32.1.Algoritmo

    Inicio {calcular el area y el volumen de un hexaedro}

    {Ingresamos Lado} Leer lado {Calculamos el area} area =(lado*lado)*6 {Calculamos el volumen) volumen= (lado*lado*lado) {Mostramos el volumen y area} Escribir area, volumen Fin 32.2.Codificacion(C#) static void Main(string[] args) { double lado, area, volumen; //ingresamos el lado del hexaedro Console.Write("Ingrese Lado:"); lado = double.Parse(Console.ReadLine()); //calculamos el area area = (lado * lado) * 6; //calculamos el volumen volumen = Math.Pow(lado, 3); //mostramos el area y el volumen del hexaedro Console.WriteLine("El Area del Hexaedro es :{0}",area); Console.WriteLine("El Volumen del Hexaedro es :{0}",volumen); Console.Read(); }

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    52

    33.Un coche se mueve, partiendo del reposo, con una aceleracin constante de 8 m/s2. Escribir el algoritmo y su codificacin que calcule:

    a) La velocidad instantnea al cabo de 5 segundos b) la velocidad media durante los primeros 5 segundos del recorrido

    Velocidad instantnea = velocidad inicial + aceleracin * tiempo Velocidad media = (velocidad inicial + velocidad final)/2

    33.1.Algoritmo

    Inicio {calcular velocidad media y velocidad instantnea al cabo de 5 segundos}

    {Ingresamos velocidad inicial, aceleracin y tiempo} Leer velocidad0,aceleracion,tiempo {Calculo de la velocidad media y la velocidad instantnea} velocidad5=velocidad0+ (aceleracin*tiempo) velocidadmedia5= (velocidad0+velocidad5)/2 {Mostramos los resultados} Escribir velocidad5, velocidadmedia5 Fin 33.2.Codificacion(C#) static void Main(string[] args) { //declaramos nuestras variables float velocidad0, aceleracion, tiempo; float velocidad5, velocmedia5; //ingresamos la velocidad inical,aceleracion y el tiempo Console.Write("Ingresa Velocidad Inicial:"); velocidad0 = float.Parse(Console.ReadLine()); Console.Write("Ingresa Aceleracin:"); aceleracion = float.Parse(Console.ReadLine()); Console.Write("Ingresa Tiempo:"); tiempo = float.Parse(Console.ReadLine()); //velocidad instantanea=velocidad inicial+aceleracion * tiempo //velocidad media=(velocidad inicial + velocidad final)/2 velocidad5 = velocidad0 + (aceleracion * tiempo); velocmedia5 = (velocidad0 + velocidad5) / 2; //mostramos la velocidad media y la velocidad al cabo de 5 segundos Console.Write("-La velocidad al cabo de 5 segundos es de : {0}", velocidad5); Console.Write("\n-La velocidad media durante los 5 segundos es : {0}", velocmedia5); Console.Read(); }

    34Emusap puso su siguiente tarifa: por el consumo de agua potable es de S/0.30 por metro cubico de agua consumida. Adicionalmente se cobra por gastos de emisin de facturas y reparto de recibos S/.1.00 por usuario y un 19% por impuesto general a las ventas al costo del servicio. Escribir un algoritmo y su codificacin que calcule el monto que debe pagar un usuario.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    53

    Datos Resultado Consumo(m3)

    50 20 15 10

    Total a Pagar 18.85 8.14 6.36 4.57

    34.1.Algoritmo

    Inicio {calcular el monto a pagar por el consumo de agua}

    {Ingresamos consumo en metros cbicos} Leer consumo {Calculo del subtotal} Subtotal=consumo*0.30 {Calculo del igv} Igv=subtotal*0.19 {Calculo del total a pagar} Total=subtotal+igv+1.00 {Mostramos los resultados} Escribir Total Fin 34.2.Codificacion(C#) static void Main(string[] args) { //declaro mis variables float total, subtotal, igv; int consumo; //ingreso consumo Console.Write("Ingrese el consumo de agua (m3):"); consumo = int.Parse(Console.ReadLine()); //calculo el subtotal subtotal = consumo * 0.30f; //calculo el igv igv = subtotal * 0.19f; //calculo el total a pagar total = subtotal + igv + 1.00f; //muestro el total a pagar Console.Write("\nEl monto a pagar por el usuario es : {0}", total); Console.Read(); } 35.Escribir un programa para saber el tamao en bytes de :

    int short long char float double

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    54

    bool 35.1Codificacion(C#) static void Main(string[] args) { Console.Write("El Tamao de un int es :{0} bytes\n", sizeof(int)); Console.Write("El Tamao de un short es :{0} bytes\n", sizeof(short)); Console.Write("El Tamao de un long es :{0} bytes\n", sizeof(long)); Console.Write("El Tamao de un char es :{0} bytes\n", sizeof(char)); Console.Write("El Tamao de un float es :{0} bytes\n", sizeof(float)); Console.Write("El Tamao de un double es :{0} bytes\n", sizeof(double)); Console.Write("El Tamao de un bool es :{0} bytes\n", sizeof(bool)); Console.Read(); }

    PROBLEMAS PROPUESTOS 1.Escribir un algoritmo y su codificacin para que sume dos nmeros complejos 2.Escribir un algoritmo y su codificacin para que multiplique dos nmeros complejos 3.La Universidad Tecnolgica de los Andes ah recibido tres donaciones en soles, dlares y marcos. La donacin ser repartida en tres rubros: 60% para la implementacin de un centro de estudios, 40% para un comedor de estudiantes y el resto para gastos administrativos. Disee un algoritmo y su codificacin que determine el monto en euros que le corresponde a cada rubro. Considere que: 1 dlar=3.52 soles, 1 dlar=2.08 marcos, 1 dlar=1.07 euros. 4.En una competencia atltica de velocidad el tiempo se mide en minutos, segundos y centsimas de segundo y, el espacio recorrido se mide en metros. Disee un algoritmo y su codificacin para determinar la velocidad promedio de un atleta en km/hr. Considere que: 1 hora= 60 minutos, 1 minuto = 60 segundos, 1 segundo=100 centsimas de segundo, 1 kilometro=1000 metros. 5. Disee un algoritmo y su codificacin que determine la suma de las cifras de un nmero entero positivo de 4 cifras. 6.Disee un algoritmo y su codificacin para sumar dos tiempos dados en horas, minutos y segundos. 7.El sueldo neto de un vendedor se calcula como la suma de un sueldo bsico de S/250 ms el 12% del monto total vendido. Disee un algoritmo y su codificacin que determine el sueldo neto de un vendedor sabiendo que hizo tres ventas en el mes. 8.En pases de habla inglesa es comn dar la estatura de una persona como la suma de una cantidad entera de pies ms una cantidad entera de pulgadas. As, la estatura de una persona podra ser 3 2 (3 pies 2 pulgadas).Disee un algoritmo y su codificacin que determine la estatura de una persona en metros, conociendo su estatura en el formato ingles. Considere que : 1 pie=12 plg, 1 plg= 2.54 cm , 1 m = 100cm.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    55

    9.Disee un algoritmo y su codificacin que exprese la capacidad de un disco duro en megabytes, kilobytes y bytes, conociendo la capacidad del disco en gigabytes. Considere que:1 kilobyte=1024 bytes, 1 megabyte=1024 kilobyte, 1 gigabyte= 1024 megabytes. 10.Disee un algoritmo y su codificacin que intercambie las cifras de las unidades de dos nmeros naturales. 11.Disear un algoritmo y su codificacin que lea dos valores reales y nos muestre los resultados de sumar,restar,dividir y multiplicar dichos nmeros. 12.Queremos conocer los datos estadsticos de una asignatura, por lo tanto, necesitamos un algoritmo y su codificacin que lea el nmero de suspensos, aprobados,notables y sobresalientes de una asgnatura, y nos devuelva: a.El tanto por ciento de alumnos que han superado la asignatura. b. El tanto por ciento de suspensos, aprobados, notables y sobresalientes de la asignatura. 13. El siguiente es el men de un restaurante de bocadillos. Disear un algoritmo y su codificacin capaz de leer el nmero de unidades consumidas de cada alimento ordenado y calcular la cuenta total. Bocadillo de jamn (250 pts) Bocadillo de queso (200 pts) Papas Fritas (100 pts) Refresco (175 pts) Cerveza (125 pts) 14.El coste de un automvil nuevo para un comprador es la suma total del coste del vehculo, del porcentaje de la ganacia del vendedor y de los impuestos locales o estatales aplicables (sobre el precio de venta).Suponer una ganancia del vendedor del 12 % en todas lasunidades y un impuesto del 6% y disear un algoritmo y su codificacin para leer el coste total del automvil e imprimir el coste para el consumidor. 15. Queremos realizar un pequeo programa para introducirlo en el ordenador de a bordo de nuestro coche y que nos informe del consumo medio del coche. Disea un algoritmo que lea el kilometraje de la ltima vez que se repost, el kilometraje actual, los litros de gasolina que se repostaron la ltima vez y la cantidad de gasolina actual. El algoritmo devolver la cantidad de litros cada 100 kilmetros que consume nuestro coche. 16.Dada las horas trabajadas de una persona y el valor por hora. Disee un algoritmo y su codificacin para calcular su salario e imprimirlo. 17.Disee un algoritmo y su codificacin correspondiente a un programa que escribe el porcentaje descontado en una compra, introduciendo por teclado el precio de la tarifa y el precio pagado.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    56

    18.Disear un algoritmo y su codificacin correspondiente a un programa que calcule el rea y el permetro de un tringulo rectngulo dada la base y la altura. 19.Disear un algoritmo y su codificacin correspondiente a un programa que exprese en horas, minutos y segundos un tiempo expresado en segundos. 20. Disear el algoritmo y su codificacin que pida el total de kilmetros recorridos, el precio de la gasolina (por litro), el dinero de gasolina gastado en el viaje y el tiempo que se ha tardado (en horas y minutos) y que calculo:

    Consumo de gasolina (en litros y euros) por cada 100 km. Consumo de gasolina (en litros y euros) por cada km Velocidad media (en km/h y m/s)

    21.Disee un algoritmo y su codificacin que al introducir una cantidad de dinero expresado en euros nos indique cuantos billetes y monedas se puede tener como mnimo. 22.Suponiendo que una paella se puede cocinar exclusivamente con arroz y gambas, y que para cada cuatro personas se utiliza medio kilo de arroz y un cuarto de kilo de gamas, escribir un programa que pida por pantalla el nmero de comensales para paella, el precio por kilo de los ingredientes y muestre las cantidades de los ingredientes necesarios y el coste de la misma. 23.leer un numero y escribir el valor absoluto del mismo. 24.la presin, el volumen y la temperatura de una masa de aire se relacionan por la frmula Masa= (presin*volumen)/ (0.37*(temperatura+460)) 25. Calcula el numero de pulsaciones que una persona debe tener por cada 10 segundos de ejercicio, si la frmula es: Num.pulsaciones= (220 edad)/10 26.Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior. 27. Escribir un programa que calcule la velocidad de un proyectil que recorre 2 Km en 5 minutos. Expresar el resultado en metros/segundo. Velocidad=espacio/tiempo 28. Escribir un programa que calcule el rea y el volumen de un tetraedro. 29. Escribir un programa que calcule el area y el volumen de un cono. 30. Escribir un programa que lea dos nmeros enteros A y B, y obtenga los valores A div B, A mod B.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    57

    31. Escribir un programa que calcule el numero de horas, minutos y segundos que hay en 3700 segundos. 32.Escribir un programa que calcula la siguiente expresin trigonomtrica para un valor angular de 90 (sen x * cos x)/ (tan x) 33. Escribir un programa que calcule el rea de un rectngulo a partir de sus coordenadas.

    Estructuras de control Instruccin if

    Esta sentencia sirve para ejecutar unas instrucciones en caso de que se cumpla determinada condicin. La forma completa de la instruccin if es

    Pseucododigo Si(condicin ) entonces Instruccin 1 Instruccin 2 .. sino Instruccin 1 Instruccin 2 .. Finsi

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    58

    PROBLEMAS RESUELTOS

    1.Escribir un programa y su codificacin para determinar el mayor de tres nmeros.

    Datos Resultado Numero 1 Numero 2 Numero 3 Mayor

    20 210 2220 2220 48 412 818 818

    1.1.Algoritmo

    Inicio {Calcular el mayor de tres nmeros}

    {Ingresamos los tres nmeros} Leer numero1,numero2,numero3 {Empezamos a Comparar los Tres Nmeros} Si(numero1>numero2) y (numero1>numero3) entonces Mayor=numero1 Sino Si(numero2>numero1) y (numero2>numero3) entonces Mayor=numero2 Sino Mayor=numero3 {Mostramos el nmero mayor} Escribir mayor Fin 1.2Codificacion(C#) static void Main(string[] args) { int numero1, numero2, numero3,mayor; //ingresamos los tres numeros Console.Write("Ingrese Numero 1:"); numero1 = int.Parse(Console.ReadLine()); Console.Write("Ingrese Numero 2:"); numero2 = int.Parse(Console.ReadLine()); Console.Write("Ingrese Numero 3:"); numero3 = int.Parse(Console.ReadLine()); //calculamos el mayor if (numero1 > numero2&& numero1> numero3) mayor = numero1; else if (numero2 > numero1 && numero2> numero3) mayor = numero2; else mayor = numero3; //mostramos el mayor Console.WriteLine("El Mayor es :{0}",mayor); Console.Read(); } 2.Escribir un programa y su codificacin que lea 2 nmeros; si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no que los sume.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    59

    Datos Resultado Numero 1 Numero 2 Condicin Resultado

    45 45 Numero1=Numero2 45*45=2025 23 12 Numero1>Numero2 2312=11

    2.1.Algoritmo

    Inicio {Calculo de 2 nmeros: suma, resta y multiplicacin}

    {Ingresamos los dos nmeros} Leer numero1,numero2 {Empezamos a Comparar los 2 Nmeros} Si(numero1=numero2) entonces Resultado=numero1*numero2 Sino Si(numero1>numero2) entonces Resultado=numero1numero2 Sino Resultado=numero1+numero2 {Mostramos el nmero resutlado} Escribir resultado Fin 2.2.Codificacion(C#) static void Main(string[] args) { int numero1, numero2; int resultado; //ingresamos los 2 numeros Console.Write("Ingrese Numero 1:"); numero1 = int.Parse(Console.ReadLine()); Console.Write("Ingrese Numero 2:"); numero2 = int.Parse(Console.ReadLine()); //preguntamos si los nuemros son iguales if (numero1 == numero2) resultado = numero1 * numero2; else if (numero1>numero2) resultado = numero1 - numero2; else resultado = numero1 + numero2; //mostramos el resultado Console.WriteLine("El Resultado es :{0}",resultado); Console.Read(); } 3.Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 10; reprueba en caso contrario.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    60

    Datos Resultado Calificacin 1 Calificacin 2 Calificacin 3 Mensaje

    8 7 10 reprueba 14 16 10 aprueba

    3.1.Algoritmo

    Inicio {Calculo del promedio de un alumno para saber si aprueba o desaprueba}

    {Ingresamos las tres calificaciones} Leer calif1,calif2,calif3 {Calculamos el promedio de las tres calificaciones} Promedio=( calif1+calif2+calif3)/3 Si (promedio>=10) entonces Escribir Alumno Aprobado Sino Escribir Alumno Reprobado Finsi Fin 3.2.Codificacion(C#) static void Main(string[] args) { float calif1, calif2, calf3, promedio; Console.Write("ingrese su primera calificacion : "); calif1 = float.Parse(Console.ReadLine()); Console.Write("ingrese su segunda calificacion : "); calif2 = float.Parse(Console.ReadLine()); Console.Write("ingrese su tercera calificacion : "); calf3 = float.Parse(Console.ReadLine()); promedio = (calif1 + calif2 + calf3) / 3; if (promedio >= 10) { Console.WriteLine("Alumno Aprobado"); } else { Console.WriteLine("Alumno Reprobado"); } Console.Read(); } 4.En un almacn se hace un 20% de descuento a los clientes cuya compra supere los S/.1000 Disear un algoritmo y su codificacin para que Cul ser la cantidad que pagar una persona por su compra?

    Datos Resultado Compra 20000 2412

    Total a Pagar 16000 1929.6

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    61

    100 1051

    100 840.8

    4.1.Algoritmo

    Inicio {Calculo del total a Pagar}

    {Ingresamos la compra} Leer compra Si (compra>1000) entonces Descuento=compra *0.20 Sino Descuento=0 Finsi {Hacemos clculo del total a pagar} Tap=compraDescuento {Imprimimos el total a pagar} Escribir Tap Fin 4.2.Codificacion(C#) static void Main(string[] args) { float compra,descuento,tap; //ingresamos el consumo Console.Write("ingresa su consumo :"); compra = float.Parse(Console.ReadLine()); if (compra > 1000) { descuento = compra * 0.20f; } else descuento = 0; //calculamos el total a pagar tap = compra-descuento; //mostramos el total a pagar Console.Write("total a pagas es :{0}",tap); Console.Read(); } 5.Un obrero necesita calcular su salario semanal, el cual se obtiene de la siguiente manera: Si trabaja 40 horas o menos se le paga S/. 16 por hora, si trabaja ms de 40 horas se le paga S/.16 por cada una de las primeras 40 horas y S/.20 por cada hora extra.

    Datos Resultado Horas Trabajadas

    55 46 20 15

    Salario Semanal 940 760 320 240

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    62

    5.1.Algoritmo

    Inicio {Calculo del Salario Semanal}

    {Ingresamos Horas Trabajadas} Leer ht Si (ht>40) entonces {Calculamos sus horas extras} he=ht40 {Calculamos el salario semanal} ss=he*20+40*16 Sino {Calculamos el salario semanal del caso contrario} ss=ht*16 Finsi {Imprimimos el salario semanal} Escribir ss Fin 5.2.Codificacion(C#) static void Main(string[] args) { float ss; int ht, he; //ingresamos las horas trabajadas Console.Write("Ingresa Horas Trabajadas:"); ht = int.Parse(Console.ReadLine()); if (ht > 40) { //calculamos las horas extras he = ht - 40; //calculamos el salario semanal ss = he * 20 + 40 * 16; } else { //calculamos el salario semanal del caso contrario ss = ht * 16; } //mostramos el salario semanal Console.Write("El Salario Semanal es :{0}",ss); Console.ReadLine(); } 6.Disear un algoritmo y su codificacin que lea dos nmeros y los imprima en forma ascendente.

    Datos Resultado 45 12 12,45 4 4 4,4

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    63

    6.1.Algoritmo

    Inicio {Ordenar dos nmeros en forma ascendente}

    {Ingresamos los numeros} Leer numero1,numero2 Si (numero1numero3) entonces {Intercambiar numero1 y numero3} temporal=numero1 numero1=numero3 numero3=temporal Finsi Si (numero2>numero3) entonces

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    64

    {Intercambiar numero2 y numero3} temporal=numero2 numero2=numero3 numero3=temporal Finsi Si (numero1>numero2) entonces {Intercambiar numero1 y numero2} temporal=numero1 numero1=numero2 numero2=temporal Finsi {escribir nmeros en forma ascendente} Escribir numero1, numero2, numero3 Fin 7.2.Codificacion(C#) static void Main(string[] args) { int numero1, numero2,numero3,temporal; Console.Write("Ingresa Numero 1:"); numero1 = int.Parse(Console.ReadLine()); Console.Write("Ingresa Numero 2:"); numero2 = int.Parse(Console.ReadLine()); Console.Write("Ingresa Numero 3:"); numero3 = int.Parse(Console.ReadLine()); if (numero1 > numero3)//intercambiar numero1 y numero 3 { temporal = numero1; numero1 = numero3; numero3 = temporal; } if (numero2 > numero3)//intercambiar numero2 y numero 3 { temporal = numero2; numero2 = numero3; numero3 = temporal; } if (numero1 > numero2)//intercambiar numero1 y numero 2 { temporal = numero1; numero1 = numero2; numero2 = temporal; } //mostrar los datos en forma ascendente Console.Write("{0},{1},{2}",numero1,numero2,numero3); Console.Read(); } 8. El nmero de sonidos emitidos por un grillo en un minuto, es una fraccin de la temperatura. Como resultado de esto, es posible determinar el nivel de la temperatura haciendo uso de un grillo como termmetro.

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    65

    Datos(Numero de Sonidos) Resultado(Temperatura F)

    30 48

    47 F 52F

    8.1.Algoritmo

    Inicio {Calcular el total de grados que emite el sonido de un grillo}

    {Ingresamos el total de sonidos emitidos por el grillo} Leer n Si (n>=0) entonces {Calculamos el total de grados} t = n / 4 + 40; {Mostrar la Temperatura en Grados Fahrenheit} Escribir t Finsi Fin 8.1.Codificacion(C#) static void Main(string[] args) { int n; float t; //Ingresamos el Total de Sonidos Emitido por el Grillo Console.Write("Ingresar Nmero de Sonidos Emitidos por el Grillo en 1 Minuto: "); n = int.Parse(Console.ReadLine()); if (n >= 0) { t = n / 4 + 40; Console.Write(" La Temperatura en Grados Fahrenheit es :{0}", t); } Console.ReadLine(); } 9. Construya un programa tal, que dados como datos los valores enteros P y Q. determine si los mismos satisfacen la siguiente expresin: 6802PQP 223 + En caso afirmativo debe imprimir los valores P y Q.

    Datos Resultado P Q Exp Mensaje VALORES

    50 20 120400

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    66

    Leer p , Leer q {Calculamos la Expresion} Exp=(p*p*p) +(q*q)2(p*p) Si (Exp

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    67

    Leer sue Si (sue SUELDO AUMENTO 21%

    SUELDO > s/. 1500 > AUMENTO 18% Imprima el nuevo sueldo del trabajador.

    Datos Auxiliar Resultado Sueldo Condicion Descuento Sueldo Actual 1500 1000>1500

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    68

    nsue=sue*1.25 Sino Si (sue

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    69

    Sino Si (n1 mod n2 =0) entonces Escribir n2, es divisor de,n1 Sino Escribir no hay numeros divisores Finsi Finsi Fin 12.2.Codificacion(C#) static void Main(string[] args) { int n1, n2; Console.Write("Ingresa el Primer Nmero:"); n1 = int.Parse(Console.ReadLine()); Console.Write("Ingresa el Segundo Nmero:"); n2 = int.Parse(Console.ReadLine()); if ((n2 % n1) == 0) { Console.WriteLine("{0} es Divisor de {1}", n1, n2); } else if ((n1 % n2) == 0) { Console.WriteLine("{0} es Divisor de {1}", n2, n1); } else { Console.WriteLine("No hay nmeros divisores"); } Console.ReadLine(); } 13. Haga un programa para calcular el precio del billete de ida y vuelta en ferrocarril,conociendo la distancia del viaje de ida y el tiempo de estancia. Se sabe adems que si el nmero de dias de estancia es superior a 7 y la distancia total (ida y vuelta) a recorrer es superior a 800 km, el billete tiene una reduccin del 30%. El precio por km es de s/. 0.17.

    Datos Resultado Distancia(viaje de ida) Tiempo Costo del Billete

    400 4 136 500 8 119

    13.1.Algoritmo

    Inicio {Calcular el Costo de Billete de un Ferrocarril}

    {Ingresamos Distancia y tiempo } Leer dist,tiem Si (((dist * 2) > 800) y (tiem > 7)) entonces {Calculamos el costo de billete} costo = dist * 2 * 0.17 * 0.70;

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    70

    Sino costo = dist * 2 * 0.17; Finsi {Mostrar el costo del billete} Escribir costo Fin 13.2.Codificacion(C#) static void Main(string[] args) { int dist, tiem; double costo; Console.Write("Ingresar Distancia del Viaje de ida: "); dist = int.Parse(Console.ReadLine()); Console.Write("Ingresar Tiempo de Estancia: "); tiem = int.Parse(Console.ReadLine()); if (((dist * 2) > 800) && (tiem > 7)) { costo = dist * 2 * 0.17 * 0.70; //Otra Forma //costo=(dist*2*0.17)*0.30; //CostoTotal=(dist*2*0.17)-costo } else costo = dist * 2 * 0.17; Console.WriteLine("El Costo del Billete es: S/.{0}", costo); Console.ReadLine(); } 14.Construya un programa tal, que dados como datos de entrada tres nmeros enteros, determine si los mismos estn en orden creciente.

    Datos Resultado Numero 1 Numero 2 Numero 3 Mensaje

    8 7 10 No estn en orden creciente 1 2 3 Estn en orden creciente

    14.1.Algoritmo

    Inicio {Calcular si 3 numeros estn en orden creciente o no}

    {Ingresamos los tres numeros} Leer a,b,c, Si (a

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    71

    Escribir los nmeros no estn en orden creciente Finsi Fin 14.2.Codificacion(C#) static void Main(string[] args) { int a, b, c; Console.Write("Ingresar el 1 Numero: "); a = int.Parse(Console.ReadLine()); Console.Write("Ingresar el 2 Numero: "); b = int.Parse(Console.ReadLine()); Console.Write("Ingresar el 3 Numero: "); c = int.Parse(Console.ReadLine()); if (a < b) { if (b < c) { Console.Write("Los nmeros estn en orden creciente"); } else { Console.Write("Los nmeros no estn en orden creciente"); } } else { Console.Write("Los nmeros no estn en orden creciente"); } Console.ReadLine(); } 15.Construya un programa de flujo tal, que dados como datos A y N, compruebe la igualdad de la siguiente expresion:

    0)(A A1A N

    N = A=5 , N=4 54 = 0,0016 , 1/54 =1/625=0,0016 entonces 0,0016 = 0,0016 se comprueba la igualdad 15.1.Algoritmo

    Inicio {Comprobar la igualdad d de la expresin}

    {Ingresamos Base y Exponente} Leer A,N Si (A0) entonces cal1=A^N cal2=1/A^N Si (cal1=cal2) entonces Escribir se comprueba la igualdad Sino Escribir no se comprueba la igualdad

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    72

    Finsi Sino Escribir A tiene que ser Diferente de 0 Finsi Fin 15.2.Codificacion(C#) static void Main(string[] args) { int N; double A, cal1, cal2; Console.Write("Ingresar A: "); A = double.Parse(Console.ReadLine()); Console.Write("Ingresa N:"); N = int.Parse(Console.ReadLine()); if (A != 0) { cal1 = Math.Pow(A, -N); cal2 = 1 / Math.Pow(A, N); if (cal1 == cal2) { Console.WriteLine("Se comprueba la igualdad"); } else { Console.WriteLine("No se comprueba la igualdad"); } } else { Console.WriteLine("A tiene que ser diferente de cero"); } Console.ReadLine(); } 16.Construya un programa tal, que dados como datos A, B y N, compruebe la igualdad de la

    siguiente expresin: N

    NN

    BA

    BA =

    16.1.Algoritmo

    Inicio {Comprobar la igualdad d de la expresin}

    {Ingresamos los Datos Necesarios} Leer A,B,N Si (B0) entonces cal1=(A/B)^N cal2=(A^N)/(B^N) Si (cal1=cal2) entonces Escribir se comprueba la igualdad Sino Escribir no se comprueba la igualdad Finsi

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    73

    Sino Escribir B tiene que ser Diferente de 0 Finsi Fin 16.2.Codificacion(C#) static void Main(string[] args) { int N; double a, b, cal1, cal2; Console.Write("Ingresar A: "); a = double.Parse(Console.ReadLine()); Console.Write("Ingresar B: "); b = double.Parse(Console.ReadLine()); Console.Write("Ingresar N: "); N = int.Parse(Console.ReadLine()); if (b != 0) { cal1 = Math.Pow((a / b), N); cal2 = Math.Pow(a, N) / Math.Pow(b, N); if (cal1 == cal2) { Console.WriteLine("Se comprueba la igualdad"); } else { Console.WriteLine("No se comprueba la igualdad"); } } else { Console.WriteLine("B tiene que ser diferente de cero"); } Console.ReadLine(); } 17.En una tienda efectan un descuento a los clientes dependiendo del monto de la compra. El descuento se efecta con base en el siguiente criterio:

    Si el monto es menor que s/.500 > no hay descuento. Si el monto est comprendido entre s/. 500 y s/. 1000

    inclusive > 5% de descuento. Si el monto est comprendido entre s/. 1000 y s/. 7000 inclusive > 11% de descuento. Si el monto est comprendido entre s/. 7000 y s/. 15000 inclusive > 18% de descuento. Si el monto es mayor a 15000

    Inclusive > 25% Construya un programa tal, que dado el monto de la compra

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    74

    de un cliente, determine lo que el mismo debe pagar.

    Datos Auxiliar Resultado Compra Condicion Descuento Monto a Pagar

    7500 7000

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    75

    { if (compra

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    76

    19. En la Ciudad de Abancay, el impuesto que se debe pagar por los artculos se calcula mediante la siguiente regla: los primeros s/. 20 no causan impuesto, los siguientes S/. 20 tienen el 30% de impuesto, y el resto el 40% de impuesto, pero si el costo del producto es mayor a s/. 500, entonces en lugar de 40% se cobra el 50%. Disee un programa que lea el costo basico de un articulo y calcule su precio total(precio total = precio bsico + impuesto).

    Datos Resultado

    Precio Basico Monto a Pagar 25 26,5 15 15

    550 785 19.1.Algoritmo

    Inicio {Calcular el impuesto de una persona}

    {Ingresamos precio basico} Leer prebas Si (prebas > 20 y prebas 40 y prebas 500) entonces imp = 20 * 0.30 + (prebas 40) * 0.4 + (prebas 500) * 0.5; Sino imp = 0;{no se le aplica impuesto} Finsi Finsi Finsi Escribir prebas +imp Fin 19.2.Codificacion(C#) static void Main(string[] args) { double prebas, imp, pretot; Console.Write("Ingresar Precio Basico del Producto: "); prebas = double.Parse(Console.ReadLine()); if (prebas > 20 && prebas 40 && prebas 500) imp = 20 * 0.30 + (prebas - 40) * 0.4 + (prebas - 500) * 0.5;

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    77

    else imp = 0; } } pretot = prebas + imp; Console.WriteLine("Precio Basico: {0}", prebas); Console.WriteLine("Precio Total: {0}", pretot); Console.ReadLine(); } 20. Construya un programa tal, que dado como dato una temperatura en grados Fahrenheit, determine el deporte que es apropiado practicar a esa temperatura, teniendo en cuenta la siguiente tabla:

    DEPORTE TEMPERATURA

    Natacin >85

    Tenis 70

  • Lenguaje de Programacin Carlos Rodrguez Torvisco Algortmica

    78

    Sino Escribir Es Apropiado para Marcha