Вы находитесь на странице: 1из 12

UNIVERSIDAD MAYOR DE SAN ANDRES

FACULTAD DE INGENIERIA

MATERIA
METODOS NUMERICOS Y DISEÑO DE ALGORITMOS III
SIGLA
MEC 237
DOCENTE
ING. JULIO CESAR UBERHUAGA CONDE

TITULO DEL TEMA


ASPECTOS BASICOS EN C#
PRACTICA No.
1

DATOS PERSONALES DEL ESTUDIANTE


NOMBRE:
C.I.:
ESTUDIANTE DE INGENIERIA MECATRONICA

FECHA DE ENTREGA
INDICE DE CONTENIDO
ASPECTOS BASICOS EN C# ....................................................................................... 1

1 Objetivos ................................................................................................................... 1

1.1 Objetivo general .................................................................................................. 1

1.2 Objetivos específicos ............................................................................................ 1

2 Justificación .............................................................................................................. 1

3 Marco teórico ............................................................................................................ 2

3.1 Tipos de datos simples ........................................................................................ 2

3.2 Operadores aritméticos ........................................................................................ 5

4. Materiales y equipos ................................................................................................. 9

4.1 Hardware............................................................................................................. 9

4.2 Software .............................................................................................................. 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

1.2 Objetivos específicos


 Familiarizarse con el entorno de Microsoft Visual Studio
 Manejo de diferentes tipos de datos en el lenguaje de programación C#
 Manejo operadores aritméticos en el lenguaje de programación C#
 Manejo operadores matemáticos en el lenguaje de programación C#

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.

Tabla 1. Tipos de datos y rangos en C#

No. Tipo Rango Tamaño (bytes) Símbolo


1 byte 0-255 1 n
2 int -2.147.483.648 a 2.147.483.648 4 Z
3 double -324
5.0 × 10 a 1.7 × 10208 8 x
4 bool true o false 1 A
5 char un carácter unicode 2 c
6 string cadena de caracteres 2 por carácter s
7 dynamic - - d

Fuente: docs.microsoft.com

Para cada uno de estos tipos de datos se describen brevemente a continuación

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

Es utilizado cuando nuestro dato por ejemplo es un encendido y apagado o un dato


tipo pregunta, dos estados (verdadero o falso), útil como una variable lógica de
control

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”

Fuente: Elaboración propia

3.2 Operadores aritméticos


Los operadores +, -, *, / pueden utilizarse con tipos de datos enteros o decimales, si ambos
son enteros el resultado es un entero, pero si alguno de ellos es de punto flotante el
resultado es de punto flotante.

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.

El operador ++ incrementa en una unidad el valor de la variable sobre la cual se aplica


análogamente el operador -- decrementa en una unidad.

El grado de procedencia de los operadores se muestra en la tabla 2.

Tabla 2. Tabla de procedencia de operadores aritméticos en C#

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”

Fuente: Elaboración propia

Ejemplo 3. Realizar una codificación de operadores aritméticos mediante un programa


en Visual Studio 2015, C#, en este caso con variables con decimales

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.

Figura 3. Ejecución de programa “operadoresaritmeticos2”

Fuente: Elaboración propia

Ejemplo 3. Realizar una codificación de operadores aritméticos mediante un programa


en Visual Studio 2015, C#, en este caso usando incremento y decremento

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.

Figura 4. Ejecución de programa “operadoresaritmeticos4”

Fuente: Elaboración propia

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.

1. ¿Cuáles es el tamaño en bytes en C# de los tipos de datos long, float, decimal,


data time?
2. En el ejemplo 2, ¿Que sucede si la variable “a” es tipo byte?
3. En el ejemplo 2, ¿Es correcto el resultado de la operación a*b+c*d=127, justificar?
4. En el ejemplo 3, ¿ Es correcto el resultado de la operación x*y/x*y=16, justificar?
5. En el ejemplo 4, justificar el resultado de (x+1)*(x+1)+(y-1)/z=9.98096774193549

Página | 10