Los ciclos son necesarios siempre que se tenga que ejecutar una acción o un grupo de acciones de manera repetida o dicho de otro modo, varias veces.
En el caso de los arreglos se usan ciclos porque para leer un dato y guardarlo en una posición del arreglo es lo mismo que para cualquier otro dato del mismo arreglo, lo único que cambia es la posición.
Por ejemplo:
arreglo[0] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
Esa instrucción es para leer un dato y guardarlo en la posición 0 del arreglo, y ¿para guardar otro dato en la posición 1? Si observas es lo mismo pero solo cambia el uno por el cero:
arreglo[1] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
¿y para el siguiente?
arreglo[2] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
Como ves la misma instrucción es "repetitiva" por tanto es recomendable usar un ciclo, puede ser for, while, do..while, pero por comodidad es más recomendado usar for. Cuando usas un ciclo la instrucción ya solo la pones una vez pero la adaptas para que en cada ejecución cambie lo que debe cambiar.
arreglo[dato_que_cambia] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
El dato_que_cambia tiene la característica de que inicia en 0 y va aumentando de uno en uno, lo que corresponde al comportamiento de un contador. Haciendo ese cambio en la línea anterior esto queda como:
arreglo[contador] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
Ahora falta indicar que ese contador vaya desde 0 hasta la última posición del arreglo (por ejemplo 9 para un arreglo de diez elementos), esto se puede expresar con una sentencia for como sigue:
for(byte contador=0;contador<10; contador++)
arreglo[contador] = Int.Parse(Interaction.InputBox("Escribe un dato: "));
Y listo, esa instrucción se repetirá 10 veces, desde 0 hasta 9.
Espero haberme explicado.
lunes, 12 de marzo de 2012
jueves, 11 de marzo de 2010
Actividad - Algoritmos y Lenguajes de Programación
Para el grupo de Algoritmos y Lenguajes de Programación de Ing. Industrial, realizar la siguiente actividad correspondiente a la unidad 4 Funciones.
Investigar y contestar en hoja blanca para entregar el día de mañana Viernes 12 de Marzo:
1. En el contexto de programación, como se define una función.
2. Cual es la diferencia entre una función predefinida y una función definida por el usuario.
3. Con qué objetivo se crean las funciones en programación.
4. Qué es un parámetro de una función y que es el valor de retorno de la misma.
5. Ejemplo de como crear una función en RAPL-3.
Saludos.
Investigar y contestar en hoja blanca para entregar el día de mañana Viernes 12 de Marzo:
1. En el contexto de programación, como se define una función.
2. Cual es la diferencia entre una función predefinida y una función definida por el usuario.
3. Con qué objetivo se crean las funciones en programación.
4. Qué es un parámetro de una función y que es el valor de retorno de la misma.
5. Ejemplo de como crear una función en RAPL-3.
Saludos.
jueves, 29 de octubre de 2009
Programa de numeros Primos
Les aviso que ya no pude colocar el archivo del código que calcula nos números primos en la página del ITSSNP. Pero aqui se los dejo.
Descargar
Saludos.
Descargar
Saludos.
martes, 15 de septiembre de 2009
Solución al Problema 4
int main()
{
char nombre[20];
char a_paterno[15];
char a_materno[15];
printf("Escribe el nombre: ");
scanf("%s",&nombre);
printf("Escribe el apellido paterno: ");
scanf("%s",&a_paterno);
printf("Escribe el apellido materno: ");
scanf("%s",&a_materno);
int anio;
printf("Escribe el año de nacimiento: ");
scanf("%d",&anio);
printf("El nombre es: %s %s %s \n", a_paterno, a_materno, nombre);
printf("Tiene %d años.\n",2009-anio);
getch();
return 0;
}
{
char nombre[20];
char a_paterno[15];
char a_materno[15];
printf("Escribe el nombre: ");
scanf("%s",&nombre);
printf("Escribe el apellido paterno: ");
scanf("%s",&a_paterno);
printf("Escribe el apellido materno: ");
scanf("%s",&a_materno);
int anio;
printf("Escribe el año de nacimiento: ");
scanf("%d",&anio);
printf("El nombre es: %s %s %s \n", a_paterno, a_materno, nombre);
printf("Tiene %d años.\n",2009-anio);
getch();
return 0;
}
Solución al Problema 3
int main()
{
float total_alumno, total_examen;
printf("Escribe el total de aciertos del examen: ");
scanf("%f",&total_examen);
printf("Escribe el total de aciertos del alumno: ");
scanf("%f",&total_alumno);
float calif_porcentual;
calif_porcentual = ((total_alumno * 100) / total_examen);
printf("La calificación porcentual del alumno es: %.1f"
,calif_porcentual);
getch();
return 0;
}
{
float total_alumno, total_examen;
printf("Escribe el total de aciertos del examen: ");
scanf("%f",&total_examen);
printf("Escribe el total de aciertos del alumno: ");
scanf("%f",&total_alumno);
float calif_porcentual;
calif_porcentual = ((total_alumno * 100) / total_examen);
printf("La calificación porcentual del alumno es: %.1f"
,calif_porcentual);
getch();
return 0;
}
Solución en C al Problema Dos
int main()
{
int n_motos;
printf("Escribe el numero de motos vendidas: ");
scanf("%d",&n_motos);
float comision,sueldobruto,impuesto,sueldoneto;
comision = 50 * n_motos;
sueldobruto = 350 + comision;
impuesto = sueldobruto * 0.02;
sueldoneto = (sueldobruto - impuesto) + 120;
printf("\nSueldo Bruto %.2f", sueldobruto);
printf("\nImpuesto %.2f", impuesto);
printf("\nSueldo Neto %.2f", sueldoneto);
getch();
return 0;
}
{
int n_motos;
printf("Escribe el numero de motos vendidas: ");
scanf("%d",&n_motos);
float comision,sueldobruto,impuesto,sueldoneto;
comision = 50 * n_motos;
sueldobruto = 350 + comision;
impuesto = sueldobruto * 0.02;
sueldoneto = (sueldobruto - impuesto) + 120;
printf("\nSueldo Bruto %.2f", sueldobruto);
printf("\nImpuesto %.2f", impuesto);
printf("\nSueldo Neto %.2f", sueldoneto);
getch();
return 0;
}
lunes, 31 de agosto de 2009
Tarea Introducción a la Programación
Saludos a todo el Grupo de Electromecánica, por este medio les comunico de los trabajos que me tienen que entregar y así como sus respectivas fechas. Estos incluirán lo siguiente: diagrama de flujo, el pseudocódigo, la corrida de escritorio y el código en C. Todos los trabajos deberán ser en hoja blanca y a mano.
a) Se desea un programa para calcular e imprimir el valor de la hipotenusa de un triángulo rectángulo. Las medidas de los catetos a y b las debe proporcionar el usuario.
Elaborar un programa para calcular el área y el perímetro de un triangulo equilatero, el valor del lado lo introduce el usuario.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Martes 1 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
b) Un vendedor de motocicletas, recibe un sueldo base de $350.00 semanales, por cada motocicleta vendida recibe una comisión de $50.00, además recibe un bono adicional para despensa de $120.00. El impuesto que se le retiene es del 2% sobre el sueldo bruto (sueldo base + comisión).
Se desea calcular e imprimir, el sueldo bruto, el impuesto a cobrar y el sueldo neto a percibir por el empleado.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Miercoles 2 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
c) Un profesor desea calcular la calificación que le corresponde a un alumno de acuerdo al número de aciertos obtenidos en un examen. Para ello necesita un programa que le permita capturar el total de aciertos obtenidos, así como el total de aciertos del examen. El programa imprimirá la calificación porcentual obtenida por el alumno.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Jueves 3 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
d) Elaborar un programa que lea el apellido paterno, apellido materno, nombre y año de nacimiento de una persona y que me imprima el nombre completo de la persona con la edad en años cumplidos.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Lunes 7 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
Cualquier duda se resolverá por este medio. Sólo agregarla como comentario.
Saludos.
L.I. Adolfo Luna Sánchez.
a) Se desea un programa para calcular e imprimir el valor de la hipotenusa de un triángulo rectángulo. Las medidas de los catetos a y b las debe proporcionar el usuario.
Elaborar un programa para calcular el área y el perímetro de un triangulo equilatero, el valor del lado lo introduce el usuario.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Martes 1 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
b) Un vendedor de motocicletas, recibe un sueldo base de $350.00 semanales, por cada motocicleta vendida recibe una comisión de $50.00, además recibe un bono adicional para despensa de $120.00. El impuesto que se le retiene es del 2% sobre el sueldo bruto (sueldo base + comisión).
Se desea calcular e imprimir, el sueldo bruto, el impuesto a cobrar y el sueldo neto a percibir por el empleado.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Miercoles 2 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
c) Un profesor desea calcular la calificación que le corresponde a un alumno de acuerdo al número de aciertos obtenidos en un examen. Para ello necesita un programa que le permita capturar el total de aciertos obtenidos, así como el total de aciertos del examen. El programa imprimirá la calificación porcentual obtenida por el alumno.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Jueves 3 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
d) Elaborar un programa que lea el apellido paterno, apellido materno, nombre y año de nacimiento de una persona y que me imprima el nombre completo de la persona con la edad en años cumplidos.
Entregar los trabajos de este problema en la recepción del Centro de Cómputo el día Lunes 7 de Septiembre, a las 12:00 PM. Sólo a esta hora se recibirán.
Cualquier duda se resolverá por este medio. Sólo agregarla como comentario.
Saludos.
L.I. Adolfo Luna Sánchez.
martes, 25 de agosto de 2009
Ejemplo simple de matrices en C#
Continuando, ahora tenemos el ejemplo de matrices que vimos en clase:
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor= ConsoleColor.White ;
Console.Clear();
byte[,] Matrix = new byte[3, 4];
byte i,j;
Console.WriteLine("Escriba los datos de la MATRIZ.");
for (i = 0; i < Matrix.GetLength(0); i++)
{
for (j = 0; j < Matrix.GetLength(1); j++)
{
Console.Write("Valor para [{0}][{1}]: ", i, j);
Matrix[i, j] = Convert.ToByte(Console.ReadLine ());
}
}
Console.Clear();
Console.WriteLine("Elementos de la matriz: ");
for (i = 0; i < Matrix.GetLength(0); i++)
{//El método GetLenght(0) devuelve el número de renglones.
for (j = 0; j < Matrix.GetLength(1); j++)
{//El método GetLenght(1) devuelve el número de columnas.
Console.Write("[{0}]\t",Matrix [ i, j]);
}//El caracter de escape \t coloca un tabulador después del valor
Console.WriteLine();//Writeline para colocar lo sigte. en nueva línea
}
Console.WriteLine("Matriz transpuesta: ");
for (i = 0; i < Matrix.GetLength(1); i++)
{
for (j = 0; j < Matrix.GetLength(0); j++)
{
Console.Write("[{0}]\t", Matrix[j, i]);
}
Console.WriteLine();
}
Console.WriteLine("Elementos de la diagonal principal. ");
for (byte p = 0; p < Matrix.GetLength(0); p++)
{
Console.Write("{0}\t",Matrix[p , p]);
}
Console.Write("\n\n");
Console.WriteLine("Elementos de la diagonal invertida. ");
for (byte r = 0, c=3; r < Matrix.GetLength(0); r++,c--)
{
Console.Write("{0}\t", Matrix[r, c]);
}
Console.Write("\n\n");
Console.ReadKey();
}
//Y hasta aqui termina
Saludos...
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor= ConsoleColor.White ;
Console.Clear();
byte[,] Matrix = new byte[3, 4];
byte i,j;
Console.WriteLine("Escriba los datos de la MATRIZ.");
for (i = 0; i < Matrix.GetLength(0); i++)
{
for (j = 0; j < Matrix.GetLength(1); j++)
{
Console.Write("Valor para [{0}][{1}]: ", i, j);
Matrix[i, j] = Convert.ToByte(Console.ReadLine ());
}
}
Console.Clear();
Console.WriteLine("Elementos de la matriz: ");
for (i = 0; i < Matrix.GetLength(0); i++)
{//El método GetLenght(0) devuelve el número de renglones.
for (j = 0; j < Matrix.GetLength(1); j++)
{//El método GetLenght(1) devuelve el número de columnas.
Console.Write("[{0}]\t",Matrix [ i, j]);
}//El caracter de escape \t coloca un tabulador después del valor
Console.WriteLine();//Writeline para colocar lo sigte. en nueva línea
}
Console.WriteLine("Matriz transpuesta: ");
for (i = 0; i < Matrix.GetLength(1); i++)
{
for (j = 0; j < Matrix.GetLength(0); j++)
{
Console.Write("[{0}]\t", Matrix[j, i]);
}
Console.WriteLine();
}
Console.WriteLine("Elementos de la diagonal principal. ");
for (byte p = 0; p < Matrix.GetLength(0); p++)
{
Console.Write("{0}\t",Matrix[p , p]);
}
Console.Write("\n\n");
Console.WriteLine("Elementos de la diagonal invertida. ");
for (byte r = 0, c=3; r < Matrix.GetLength(0); r++,c--)
{
Console.Write("{0}\t", Matrix[r, c]);
}
Console.Write("\n\n");
Console.ReadKey();
}
//Y hasta aqui termina
Saludos...
jueves, 20 de agosto de 2009
Continuación Ejemplo 1 de Arreglos
Esta es la continuación del programa anterior, aqui está el proceso para calcular el elemento mayor y menor del arreglo.
float datomayor, datomenor;
datomayor = vector[0];
datomenor = vector[0];
for (byte z = 1; z < vector.Length; z++)
{
if (datomayor < vector[z])
datomayor = vector[z];
if (datomenor > vector[z])
datomenor = vector[z];
}
Console.Write("\nLa calificación más alta es {0} . ", datomayor);
Console.Write("\nLa calificación más baja es {0} . ", datomenor);
//Aqui lo hacemos usando los métodos heredados de la clase array ...
//más fácil :-)
Console.Write("\nLa calificación más alta es {0} . ", vector.Max());
Console.Write("\nLa calificación más baja es {0} . ", vector.Min());
float datomayor, datomenor;
datomayor = vector[0];
datomenor = vector[0];
for (byte z = 1; z < vector.Length; z++)
{
if (datomayor < vector[z])
datomayor = vector[z];
if (datomenor > vector[z])
datomenor = vector[z];
}
Console.Write("\nLa calificación más alta es {0} . ", datomayor);
Console.Write("\nLa calificación más baja es {0} . ", datomenor);
//Aqui lo hacemos usando los métodos heredados de la clase array ...
//más fácil :-)
Console.Write("\nLa calificación más alta es {0} . ", vector.Max());
Console.Write("\nLa calificación más baja es {0} . ", vector.Min());
miércoles, 19 de agosto de 2009
Ejemplo 1 de Arreglos
Como les comenté aquí les dejo colgado el código del ejemplo de arreglos que vimos en la clase:
static void Main(string[] args)
{
//Declaro un arreglo que se llama vector
//que sólo acepta números decimales
//y que puede almacenar hasta 31 datos
//que van desde el índice 0 hasta el 30
float [] vector = new float [31];
//En esta línea se asigna el valor 85.5 a la primera
//posición del arreglo
vector[0] = 85.5F;
//Para llenar el arreglo hay que pedirle datos al usuario
//con Console.ReadLine y convertirlos.
//Se usa un ciclo For
for ( byte i=0; i<=30; i++)
{
//Mensaje al usuario para que escriba algo
Console.Write("Escribe una calificación: ");
//Se convierte a decimal lo que el usuario escribió
//porque el programa lo lee como una cadena.
//y se guarda en la posición "i", como la variable
// " i " se va incrementando, entonces se va moviendo
//en cada posición del arreglo.
vector [i] = Convert.ToSingle (Console.ReadLine ());
}
//Utilizo otro ciclo para imprimirlos
//aqui uso x en lugar de i, ya que no importa como se
//llame la variable, sino que pueda yo incrementarla para
//controlar la posición.
for (byte x = 0; x <= 30; x++)
{
//Utilizo {0} para indicar que se imprima
//el valor de la variable de indice 0 que está después
//de la coma que está fuera de las comillas
//el símbolo ~ sólo es de adorno para separar los datos
Console.Write("{0} ~ ", vector[x]);
}
Console.ReadKey ();
}
Saludos.
static void Main(string[] args)
{
//Declaro un arreglo que se llama vector
//que sólo acepta números decimales
//y que puede almacenar hasta 31 datos
//que van desde el índice 0 hasta el 30
float [] vector = new float [31];
//En esta línea se asigna el valor 85.5 a la primera
//posición del arreglo
vector[0] = 85.5F;
//Para llenar el arreglo hay que pedirle datos al usuario
//con Console.ReadLine y convertirlos.
//Se usa un ciclo For
for ( byte i=0; i<=30; i++)
{
//Mensaje al usuario para que escriba algo
Console.Write("Escribe una calificación: ");
//Se convierte a decimal lo que el usuario escribió
//porque el programa lo lee como una cadena.
//y se guarda en la posición "i", como la variable
// " i " se va incrementando, entonces se va moviendo
//en cada posición del arreglo.
vector [i] = Convert.ToSingle (Console.ReadLine ());
}
//Utilizo otro ciclo para imprimirlos
//aqui uso x en lugar de i, ya que no importa como se
//llame la variable, sino que pueda yo incrementarla para
//controlar la posición.
for (byte x = 0; x <= 30; x++)
{
//Utilizo {0} para indicar que se imprima
//el valor de la variable de indice 0 que está después
//de la coma que está fuera de las comillas
//el símbolo ~ sólo es de adorno para separar los datos
Console.Write("{0} ~ ", vector[x]);
}
Console.ReadKey ();
}
Saludos.
lunes, 22 de junio de 2009
Manual de Visual Basic
A los alumnos de Programación 2, les dejo el enlace para que puedan descargan un manual sencillo de Visual Basic, está en formato PDF.
Descargar
Descargar
viernes, 19 de junio de 2009
Proyectos de Programación 2 - Verano
Les coloqué aqui el archivo con los proyectos de Programación 2, para que lo consulten por si tuviesen alguna duda.
Descarga aqui.
Descarga aqui.
viernes, 5 de junio de 2009
Calificaciones Unidad 6 - Algoritmos y Leng. de Programación
viernes, 24 de abril de 2009
Arboles Usando Estructuras
Aqui les dejo el proyecto para la clase Arbol que maneja estructuras.
Descargar
De tarea se les queda midificarlo para usarse con la otra estructura de tipo Producto, que contenga:
Codigo (entero)
Descripcion (cadena)
Precio (flotante)
Saludos.
Descargar
De tarea se les queda midificarlo para usarse con la otra estructura de tipo Producto, que contenga:
Codigo (entero)
Descripcion (cadena)
Precio (flotante)
Saludos.
lunes, 30 de marzo de 2009
Estructuras de Datos - Listas Simples
Les dejo los códigos de ejemplo de listas para realizar modificaciones a un elemento en particular:
Usando for
Usando foreach
Practiquen con la opción de Eliminar un Nodo en particular, por medio del ISBN del libro.
Saludos.
Usando for
Usando foreach
Practiquen con la opción de Eliminar un Nodo en particular, por medio del ISBN del libro.
Saludos.
miércoles, 25 de marzo de 2009
Calificaciones de Redes - 1er. Bimestre (Terceros)
lunes, 23 de marzo de 2009
Estructuras de Datos - Listas Enlazadas (LinkedList)
Como les dije, aqui está el codigo de la clase para usar listas enlazadas, su tarea es modificarlo para que funcione con una estructura de alumnos. (Nocontrol y nombre). Los alumnos deben quedar ordenados por NoControl.
Nota: lo puse en un archivo de texto porque algunos símbolos los omite el post por estar en formato html.
Descarga del codigo aqui.
Saludos.
Nota: lo puse en un archivo de texto porque algunos símbolos los omite el post por estar en formato html.
Descarga del codigo aqui.
Saludos.
jueves, 19 de marzo de 2009
Proyectos Finales de Progra 2
La lista de proyectos finales la pueden consultar en esta direccion:
Lista de Proyectos
Saludos.
19 de Marzo de 2009
Lista de Proyectos
Saludos.
19 de Marzo de 2009
Tarea Sistemas Operativos 2
En vista de las clases que nos volamos por los Examenes Profesionales, tienen como tarea la actividad de Probar la ultima practica de la unidad, la cual consiste en estructurar dos aplicaciones (cliente y servidor) en VS 2005. Las instrucciones y los archivos necesarios están en:
http://cid-153e48e8768c7b9f.skydrive.live.com/self.aspx/P%c3%bablico/Form1-cliente.vb
http://cid-153e48e8768c7b9f.skydrive.live.com/self.aspx/P%c3%bablico/Form1-servidor.vb
http://cid-153e48e8768c7b9f.skydrive.live.com/self.aspx/P%c3%bablico/Contexto.txt
Como resultado de la practica elaborar un conclusión del funcionamiento para revisarla y comentarla en clase.
Saludos.
Jueves 19 de Marzo de 2009.
Suscribirse a:
Entradas (Atom)

