You are on page 1of 26

SISTEMAS INFORMÁTICOS

PROGRAMACIÓN I

DOCENTE: Lic.
Reina Bustamante
Paco
TEMA: Arreglos
Unidimensionales
ARREGLOS UNIDIMENSIONALES (VECTORES)
Un vector o arreglo unidimensional, es un conjunto finito y
ordenado de elementos de un mismo tipo de dato; es ordenado
porque el primer, segundo, tercer, ….. enésimo elementos pueden
ser identificados
Por ejm.:
Elementos
v5 3 4 2 6
0 1 2 3 4
Nombre Subíndices

Tamaño o dimensión del vector: 5


COMO REFERENCIAR A LOS ELEMENTOS DE UN VECTOR
Cada elemento se referencia mediante el nombre del vector y un
subíndice que en el caso de C# empieza en cero (0), es decir: por
ejm.: v[0] v[1] v[2] v[3] v[4]

v5 3 4 2 6
0 1 2 3 4
Creación de vectores:
En Diagrama de Flujo: DIM nombreVector[tamaño]
Ejm.: DIM v[10]
DIM notas[n]
En C#: tipoDato[] nombreVector= new tipoDato[tamaño];
Ejm.: int[] v = new int[10];
double[] notas = new double[n];
OPERACIONES BÁSICAS CON VECTORES
Asignación: consiste en asignar o almacenar elementos en una o
más posiciones del vector.

Entonces el vector quedaría:


Ejemplo 1: Dimensionar un vector de tamaño 5, asignar elementos constantes
y mostrar la suma de los mismos.
v 0 0 0 0 0 v 5 3 1 7 9
using System;
0 1 2 3 4 0 1 2 3 4
namespace Ejemplo1Vectores
inicio
{ class Program
{ static void Main(string[] args)
DIM v[5]
{ int s;
int[] v = new int[5];
v[0]=5
v[1]=3 v[0] = 5;
v[2]=1 v[1] = 3;
v[3]=7
v[4]=9 v[2] = 1;
v[3] = 7;

s= v[0]+v[1]+v[2]+v[3]+v[4] v[4] = 9;
s = v[0] + v[1] + v[2] + v[3] + v[4];

s Console.WriteLine("La suma de los elementos es:" + s);


Console.ReadKey();
fin } } }
SISTEMAS INFORMÁTICOS
PROGRAMACIÓN I

DOCENTE: Lic. Reina


Bustamante Paco
TEMA: Operaciones
Básicas con
vectores
OPERACIONES BÁSICAS CON VECTORES

Lectura : Consiste en leer o cargar elementos en cada posición del


vector, desde un dispositivo de entrada, como el teclado
Escritura: Consiste en escribir o mostrar los elementos de un
vector en un dispositivo de salida como el monitor.
Lectura Escritura

MEMORIA RAM
5 3 4 2 6
v 5 3 4 2 6
0 1 2 3 4
Procedimiento de lectura (cargar el vector)

cargar(v[], n)
static void cargar(int[] v, int n)
{

i= 0, n-1, 1 int i;
Console.WriteLine("Introduzca elementos del vector:");

V[i]
for (i = 0; i<n; i++)
{
v[i]=int.Parse(Console.ReadLine());
}
fin }
Procedimiento de escritura (mostrar el vector)

mostrar(v[], n) static void mostrar(int[] v, int n)


{
int i;
i= 0, n-1, 1
Console.WriteLine("El vector es:");
for (i = 0; i < n; i++)
V[i] {
Console.Write(v[i]+"\t");
}
}
fin
Ejemplo 2: Cargar un vector de tamaño n, mostrarlo y mediante una
función hallar la suma de sus elementos
Por ejm.: si n=5, y el vector es: 5 6 2 3 9
mostrar: La suma es: 25
inicio
sumar(v[],n)

s=0
DIM w[n]
i= 0, n-1, 1

cargar(w,n)
mostrar(w,n) s=s+v[i]
s=sumar(w,n)

s return s

fin
Función que retorna la suma de elementos de un vector:

sumar(v[],n) static int sumar(int[] v, int n)


{
s=0
int s = 0, i;
for (i = 0; i < n; i++)
i= 0, n-1, 1 {
s = s + v[i];
s=s+v[i]
}
return s;
return s
}
Programa principal:
inicio static void Main(string[] args)
{
n int n,s;
Console.Write("Introduzca tamaño del vector:");
n = int.Parse(Console.ReadLine());
DIM w[n]
int[] w = new int[n];//dimensionamos el vector w
cargar(w, n);
cargar(w,n) mostrar(w, n);
mostrar(w,n)
s = sumar(w, n);
s=sumar(w,n)
Console.WriteLine("La suma es:"+s);
Console.ReadKey();
s
}

fin
SISTEMAS INFORMÁTICOS
PROGRAMACIÓN I

DOCENTE: Lic. Reina


Bustamante Paco
TEMA: Generación
de números
aleatorios en
vectores
NÚMEROS ALEATORIOS O RANDÓMICOS
Un número aleatorio es aquel obtenido al azar, es decir del cual no podemos
saber el valor que va a tener, antes de que suceda.

¿Cómo generar números aleatorios en C#?


Random: es una clase de C# que permite generar números “pseudo-aleatorios” ya que
dependen de una “semilla” de inicialización.
1. Creamos un objeto de tipo Random
Por ejm. : Random al = new Random();
2. Obtenemos un número aleatorio con la expresión:
al.Next(valMinimo, valMaximo);

Ejm 1: int x= al.Next(0, 100); entonces x=56


Ejm 2: Si queremos asignar números aleatorios entre 1 y 10 en todas la posiciones
de un vector v, de tamaño 5, debemos escribir:
v[0]= al. Next(1, 11);
v[1]= al. Next(1, 11);
v 8 2 10 6 9
v[2]= al. Next(1, 11); v[i]= al. Next(1, 11),
v[3]= al. Next(1, 11); 0 1 2 3 4
v[4]= al. Next(1, 11);
Operación de generación de elementos aleatorios: Consiste en
asignar elementos aleatorios o randómicos en todas las posiciones
de un vector
Procedimiento que genera números aleatorios entre 1 y 20 en un
vector:
aleatorios(v[], n) static void aleatorios(int[] v, int n)
{ Random al = new Random();
i= 0, n-1, 1 int i;
for (i = 0; i < n; i++)
v[i]= random()
{
v[i] = al.Next(1, 21);
}
fin
}
Ejemplo 1: Generar números aleatorios entre 1 y 20 en un vector de tamaño
n, mostrar el vector, y mediante un procedimiento mostrar las raíces
cuadradas de cada elemento del vector.
Por ejm. Si n=5, y el vector generado es:
Mostrar: Las raíces cuadradas son:
2 3,16 3 2,83 4

inicio raicesCuadradas(v[], n)

n
i= 0, n-1, 1

DIM a[n] r= sqrt(v[i])

aleatorios(a,n) r
mostrar(a,n)
raicesCuadradas(a,n)

fin fin
Procedimiento que genera las raíces de los elementos de un
vector
static void raicesCuadradas(int[] v, int n)
raicesCuadradas(v[], n)
{
int i;
i= 0, n-1, 1
decimal r;
Console.WriteLine("\nLas raices cuadradas son:");
r= sqrt(v[i])
for (i = 0; i < n; i++)
r { r = (decimal)Math.Sqrt(v[i]);
r = Decimal.Round(r,2);
Console.Write(r+" \t");
}
fin
}

La función Round(x,d), es parte de la clase Decimal y permite redondear un


número x de tipo decimal a un número d de decimales
Programa principal:

static void Main(string[] args)


inicio
{
int n;
n
Console.Write("tamaño del vector:");
n = int.Parse(Console.ReadLine());
DIM a[n]
int[] a = new int[n];
aleatorios(a,n)
aleatorios(a,n);
mostrar(a,n) mostrar(a, n);
raicesCuadradas(a,n) raicesCuadradas(a, n);
Console.ReadKey();
fin }
SISTEMAS INFORMÁTICOS
PROGRAMACIÓN I

DOCENTE: Lic. Reina


Bustamante Paco
TEMA: Generación
de series en
vectores
Ejemplo 1:Generar la serie de múltiplos de 3 en un vector de tamaño
n, mostrar el vector generado.
Por ejm. Si n=7, mostrar:

Procedimiento que genera la serie


multiplos3(v[], n) static void multiplos3(int[] v, int n)

c=3
{
int i, c=3;
i= 0, n-1, 1
for (i = 0; i < n; i++)
v[i]= c { v[i] = c;
c=c+3 c = c + 3;
}
}
fin
Procedimiento que muestra un vector:

static void mostrar(int[] v, int n)


mostrar(v[], n)
{
int i;
i= 0, n-1, 1
Console.WriteLine("El vector es:");
for (i = 0; i < n; i++)
V[i]
{
Console.Write(v[i] + "\t");
}
}
fin
Programa principal:

static void Main(string[] args)


inicio
{
int n;
n
Console.Write("tamaño del vector:");
n = int.Parse(Console.ReadLine());
DIM v[n]
int[] v = new int[n];
multiplos3(v,n) multiplos3(v, n);
mostrar(v,n) mostrar(v, n);
Console.ReadKey();
fin }
Ejemplo 2:Generar la serie de fibonacci en un vector de tamaño n, mostrar el vector
generado.
Por ejm. Si n=8, mostrar:

Solución 1: Procedimiento que genera la serie:


fibonacci(v[], n) static void fibonacci(int[] v, int n)
a=-1
{
b=1 int i, a=-1, b=1, c;
for (i = 0; i < n; i++)
i= 0, n-1, 1
{ c = a + b;
c=a+b
v[i] = c;
v[i]= c a = b;
a=b
b=c b = c;
}
}
fin
Solución 2:

Procedimiento que genera la serie:

fibonacci(v[], n) static void fibonacci(int[] v, int n)


{
v[0]=0
V[1]=1 int i;
v[0] = 0; v[1]=1 ;
i= 2, n-1, 1 for (i = 2; i < n; i++)
{
v[i]= v[i-2]+v[i-1] v[i] = v[i-2]+v[i-1];
}
}

fin
Programa principal:

inicio static void Main(string[] args)


{int n;
n Console.Write("tamaño del vector:");
n = int.Parse(Console.ReadLine());
DIM f[n] int[] f = new int[n];
fibonacci(f, n);
fibonacci(f,n) mostrar(f, n);
mostrar(f,n)
Console.ReadKey();
}
fin
MUCHAS GRACIAS
POR SU ATENCIÓN!!!!
Y HASTA EL:

You might also like