FACULTAD DE INGENIERIA
MATERIA
METODOS NUMERICOS Y DISEÑO DE ALGORITMOS III
SIGLA
MEC 237
DOCENTE
ING. JULIO CESAR UBERHUAGA CONDE
FECHA DE ENTREGA
INDICE DE CONTENIDO
ASPECTOS BASICOS EN C# ....................................................................................... 1
1 Objetivos ................................................................................................................... 1
2 Justificación .............................................................................................................. 1
4.1 Hardware............................................................................................................. 9
5 Desarrollo de la práctica............................................................................................ 9
6 Cuestionario .............................................................................................................10
PRACTICA No. 1
ASPECTOS BASICOS EN C#
1 Objetivos
1.1 Objetivo general
Introducir al estudiante a la programación orientada a objetos mediante el lenguaje de
programación C# partiendo de los aspectos básicos particulares de este lenguaje
2 Justificación
Cuando se ejecuta un programa cualquiera este procesa y manipula datos que se
almacenan en una memoria, con los datos es que se alimenta a un programa para obtener
resultados, son entidades concretas y mensurables en términos del espacio que ocupan y
del valor que representan, como por ejemplo números, letras o cadenas de caracteres.
Todos los datos se ajustan a un “molde” que define la “forma” del dato, es decir su tamaño
o como se organizan los bits y los bytes para su representación, así mismo nos referimos
a este molde como el tipo de dato, una vez almacenados estos datos serán manejados por
el programa mediante operadores de acuerdo a los requerimientos del programador, estas
operaciones varían en los lenguajes de programación pero en esencia son comunes para
cualquier persona
Página | 1
3 Marco teórico
3.1 Tipos de datos simples
Los tipos de datos simples son el conjunto básico de tipos provistos por cualquier lenguaje
de programación y que eventualmente, permiten construir tipos de datos más complejos,
los tipos y rangos habituales, el tamaño que ocupan en memoria en C# y la simbología
que se usara se muestran en la tabla 1.
Fuente: docs.microsoft.com
byte
Es utilizado cuando nuestro dato por ejemplo es la edad de una persona (n = 25),
o para conteos solo hasta el número 255, no para valores signados
int
Es utilizado cuando nuestro dato por ejemplo es la cantidad de repuestos que faltan
en un almacén, me faltan siete motores (Z = -7), su rango es elevado también útiles
para conteos e iteraciones arriba de 255, se usa para valores signados
double
Página | 2
Es utilizado cuando nuestro dato por ejemplo es una cantidad con decimales por
ejemplo el valor de pi o la temperatura ambiente (x = 3.14), su rango es elevado
debido a los decimales y es conocido también como variables de tipo flotante, no
para valores signados
bool
char
Es utilizado cuando nuestro un carácter podría ser una letra o símbolo clave (k)
en un programa, solo admite un carácter a la vez
string
Es utilizado como solución a palabras, símbolos clave que son tipo cadena (key) u
oraciones completas
dynamic
Este tipo de datos es un “intérprete” que analiza que tipo de dato se declara de
modo que asegure tener un correcto espacio de memoria, sirve cunado se introducen
tipos de datos numéricos con cadenas de caracteres
Estos tipos de datos son suficientes para introducirnos en este lenguaje de programación,
pero también existen:
long
float
decimal
data time
Página | 3
Ejemplo 1. Realizar una codificación de los datos mostrados en la tabla 1 mediante un
programa en Visual Studio 2015, C#
Solución:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tiposdedatos
{
class Program
{
static void Main(string[] args)
{
//se declaran las variables y luego se las imprime
//byte de 0 a 255 ej 101
byte n = 101;
//int valores enterros signados ej. Z=-40
int Z = -40;
// double numeros con decimales signados ej. pi
double x = -3.1415;
//bool variable booleana true o false ej. respuesta a ¿el examen es hoy?
bool A = false;
//char simbolo clave ej. y (yes)
char c = 'y';
// string cadena de carcteres ej. s=abrir3
string s = "abrir3";
//dynamic interpreta el tipo de dato
dynamic d = "tipo dynamic";
//ahora se mostraran estos valores
Console.WriteLine("El valor del byte es " + n);
Console.WriteLine("El valor del entero es " + Z);
Console.WriteLine("El valor del numero con decimales es " + x);
Console.WriteLine("¿El examen es hoy?, la respuesta es " + A);
Console.WriteLine("Desea salir del programa: " + c);
Console.WriteLine("Que puerta se abrira: " + s);
Console.WriteLine("variable dinamica: " + d);
//el siguiente comando detiene el programa cuando se presiona un tecla
Console.ReadKey();
}
}
}
Como se puede observar en el ejemplo anterior se declaran cada una de las variables en
una clase y luego se las muestra en pantalla, el resultado del programa se muestra en la
fig1.
Página | 4
Figura 1. Ejecución de programa “Tiposdedatos”
El operador aritmético % devuelve el resto de una división entera entre sus dos operandos
enteros, por ejemplo el resto de dividir 11 entre 4 es 3.
No. Operador
1 ++ , --
2 *, / , %
3 +,-
Fuente: docs.microsoft.com
Página | 5
Ejemplo 2. Realizar una codificación de operadores aritméticos mediante un programa
en Visual Studio 2015, C#
Solución:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace operadoresaritmeticos1
{
class Program
{
static void Main(string[] args)
{
int a = 10, b = 5, c = 11, d = 7;
Console.WriteLine("a=" + a);
Console.WriteLine("b=" + b);
Console.WriteLine("c=" + c);
Console.WriteLine("d=" + d);
Console.WriteLine("El resultado de la suma de a y b es: " + (a + b));
Console.WriteLine("El resultado de la resta de c y d es: " + (c - d));
Console.WriteLine("El resultado del producto de b y d es: " + (b * d));
Console.WriteLine("El resultado de la division de a y b es: " + (a / b));
Console.WriteLine("El resto de c y d es: " + (c % d));
Console.WriteLine("EL RESULTADO DE LA OPERACION a*b+c*d ES:" + (a * b + c
* d));
Console.ReadKey();
}
}
}
En este caso se declaran las variables tipo enteras para realizar las operaciones básicas y
además mostrar el orden de procedencia de los mismos.
Es decir en el ejemplo a*b+c*d primero se resuelven los productos a*b y c*d y luego se
efectua la suma esto así debido a que el operador de multiplicación tiene mayor grado de
procedencia respecto al operador suma, el resultado del programa se muestra en la fig2.
Página | 6
Figura 2. Ejecución de programa “operadoresaritmeticos1”
Solución:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace operadoresaritmeticos2
{
class Program
{
static void Main(string[] args)
{
double x = 1.56, y = 4, z = 3.3, u = 2;
Console.WriteLine("x=" + x);
Console.WriteLine("y=" + y);
Console.WriteLine("z=" + z);
Console.WriteLine("u=" + u);
Console.WriteLine("SUMA x con y+1: " + (x + y));
Console.WriteLine("RESTA x con u: " + (x - u));
Console.WriteLine("PRODUCTO y con z: " + (y * z));
Console.WriteLine("DIVISION z con u: " + (z / u));
Console.WriteLine("RESTO y con u: " + (y % u));
Console.WriteLine("x*y/x*y=" + (x * y / x * y));
Console.ReadKey();
}
}
}
Página | 7
El resultado del programa se muestra en la fig3.
Solución:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace operadoresaritmeticos3
{
class Program
{
static void Main(string[] args)
{
double x=2.1, y=3.3, z =6.2;
Console.WriteLine("x=" + x);
Console.WriteLine("y=" + y);
Console.WriteLine("z=" + z);
x++;
y--;
Console.WriteLine("x=" + x);
Console.WriteLine("y=" + y);
Console.WriteLine("(x+1)*(x+1)+(y-1)/z:" + (x*x + y/z));
Console.ReadKey();
}
}
}
Página | 8
El resultado del programa se muestra en la fig4.
4. Materiales y equipos
4.1 Hardware
PC de escritorio o portátil
4.2 Software
MICROSOFT VISUAL STUDIO, desde la versión 2015 en adelante
5 Desarrollo de la práctica
a) Realizar la codificación del ejemplo 1 a mano y luego realizar la ejecución del programa
y presentar adjunto a la codificación realizada a mano una captura de la ejecución del
programa.
b) Modificando todos los valores, realizar la codificación del ejemplo 2 a mano y luego
realizar la ejecución del programa y presentar adjunto a la codificación realizada a mano
una captura de la ejecución del programa.
c) Modificando solo los valores enteros, realizar la codificación del ejemplo 3 a mano y
luego realizar la ejecución del programa y presentar adjunto a la codificación realizada a
mano una captura de la ejecución del programa.
Página | 9
d) Realizar la codificación del ejemplo 4 a mano y luego realizar la ejecución del programa
y presentar adjunto a la codificación realizada a mano una captura de la ejecución del
programa.
6 Cuestionario
Presentar las respuestas al siguiente cuestionario para acceder al examen previo, las
respuestas deben ser claras y cortas.
Página | 10