Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 1 -
PRACTICAS DE LABORATORIO DEL 2014
Prcticas del jueves 03 de abril del 2014
Usando DFD elaborar los diagrama de flujo para los siguientes problemas
1. Sumar dos Nmeros, 2. Sumar tres Nmeros,3 y luego 5 Nmeros 1. Sumar n Nmeros 2. Encontrar el mayor de dos nmeros 3. Encontrar el mayor de 10 nmeros. 4. Encontrar el mayor de n nmeros.
5. Encontrar el mayor, menor y promedio de n nmeros. 6. Intercambiar dos variables. 7. Mostrar la serie 1,2,3,4,5,.... N; 8. Encontrar el factorial de un nmero 9. Calcular los valores de una funcin, dado el lmite inicial, lmite final y el incremento 10. Elaborar una tabla de Multiplicar de 1 al 12 11. Calcular el rea del circulo 12. Se ingresan 3 numeros, encontrar el mayor, menor y el medio 13. Elaborar el algoritmo y el programa para sacar la nota final del curso 14. Proponer un problema interesante y resolverlo
Solucion
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 2 -
El promedio de n nmeros
Sumar dos nmeros Realizar las 4 operaciones En C++ Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 3 -
#include <math.h> #include <conio.h> #include <stdio.h> int main () { float n1,n2,Resul; printf(" ingrese 2 numeros "); scanf("%f%f",&n1,&n2); printf("\n la suma es %f " ,n1+n2); printf("\n la resta e %f " ,n1-n2); printf("\n la multiplicacion es %f " ,n1*n2); printf("\n la division entera es %d " ,(int)n1/(int) n2); printf("\n la division real es es %f " ,n1/n2); printf("\n El modulo es %d " ,(int)n1%(int) n2); printf("\n la potencia de %f elevado a %f es %f " , n1,n2,pow(n1,n2)); printf("\n la raiz cuadrada del primer numero es %f " ,sqrt(n1)); getch(); }
1 LENGUAJE VISUAL BASIC 2010 EN MODO CONSOLA
Module Module1 Sub Main() Dim n1 As Integer Dim n2 As Integer Console.Write("ingrese el primer numero n1 ") n1 = Console.ReadLine() Console.Write("ingrese el segundo numero n2 ") n2 = Console.ReadLine() Console.WriteLine(" La suma de los numeros es {0}", n1 + n2) Console.WriteLine(" La resta de los numeros es {0}", n1 - n2) Console.WriteLine(" El producto de los numeros es {0}", n1 * n2) Console.WriteLine(" La Division real de los numeros es {0}", n1 / n2) Console.WriteLine("La Division entera de los numeros es {0}", n1 \ n2) Console.WriteLine(" El modulo de de los numeros es {0}", Int(n1) Mod Int(n2)) Console.ReadLine() End Sub End Module
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 4 -
Al poner Option Explicit On Option Strict On Arroja el siguiente error
Presione doble clic sobre la parte sombreada
Y aparece
Presione Reemplazar Console.Readine y se soluciona el problema Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 5 - El programa se convierte en
Option Explicit On Option Strict On
Module Module1 Sub Main() Dim n1 As Integer Dim n2 As Integer Console.Write("ingrese el primer numero n1 ") n1 = CInt(Console.ReadLine()) Console.Write("ingrese el segundo numero n2 ") n2 = CInt(Console.ReadLine()) Console.WriteLine(" La suma de los numeros es {0}", n1 + n2) Console.WriteLine(" La resta de los numeros es {0}", n1 - n2) Console.WriteLine(" El producto de los numeros es {0}", n1 * n2) Console.WriteLine(" La Division real de los numeros es {0}", n1 / n2) Console.WriteLine("La Division entera de los numeros es {0}", n1 \ n2) Console.WriteLine(" El modulo de de los numeros es {0}", Int(n1) Mod Int(n2)) Console.ReadLine() End Sub End Module
En modo formulario (Calculadora elemental
1. Inicie Nuevo proyecto aplicaciones Windows Forms
2. Aparecera lo siguiente (entorno de desarrollo IDE)
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 6 -
3. Disee el formulario de la siguiente manera
4 Cambie sus propiedades de acuerdo al siguiente cuadro
Control Propiedad Valor Label1 Text MNICALCULADORA ELEMENTAL Label2 Text Label3 Text = TextBox1 Name txtOper1 Text 2 TextBox2 Name txtOper2 Text 3 TextBox3 Name txtResult Text Button1 Name btnSuma Text + Button2 Name btnResta Text - Button3 Name btnMultiplicacion Text * Button4 Name btnDivision Text /
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 7 - 4. Agregue el siguiente cdigo
Public Class Form1 Dim n1 As Single, n2 As Single, res As Single Private Sub BtnSuma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuma.Click n1 = Val(TxtOper1.Text) n2 = Val(TxtOper2.Text) res = n1 + n2 TxtResultado.Text = res Label2.Text = "+" End Sub
Private Sub BtnResta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnResta.Click n1 = Val(TxtOper1.Text) n2 = Val(TxtOper2.Text) res = n1 - n2 TxtResultado.Text = res Label2.Text = "-" End Sub Private Sub BtnMultiplicacion_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMultiplicacion.Click n1 = Val(TxtOper1.Text) n2 = Val(TxtOper2.Text) res = n1 * n2 TxtResultado.Text = res Label2.Text = "*" End Sub Private Sub BtnDivision_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDivision.Click n1 = Val(TxtOper1.Text) n2 = Val(TxtOper2.Text) res = n1 / n2 TxtResultado.Text = res Label2.Text = "/" End Sub End Class
6.Ejecute el programa y vera el siguiente resultado
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 8 -
Nota. Escriba el cdigo para el botn suma y para los dems botones solo modifique la parte de res=n1+n2 y label2.text=+ a la correspondiente operacin( -,*./)
Manejo de varios controles con un solo procedimiento Modifique el cdigo para con un solo procedimiento de evento maneje los cuatro botones
Public Class Form1 Dim n1 As Single, n2 As Single, res As Single Private Sub Operacion(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuma.Click, BtnResta.Click, BtnMultiplicacion.Click, BtnDivision.Click n1 = Val(TxtOper1.Text) n2 = Val(TxtOper2.Text) Select Case sender.text Case "+" : res = n1 + n2 Case "-" : res = n1 - n2 Case "*" : res = n1 * n2 Case "/" : res = n1 / n2 End Select TxtResultado.Text = res Label2.Text = sender.text End Sub End Class
Nota. Puede escoger tambien la propiedad name
Select Case sender.name Case "btnSuma" : res = n1 + n2
Ejercicio Nro 2 Agrega las funciones de factorial, potencia, residuo, divisin enteral, funciones trigonomtricas, logartmicas, potencia, .mostrar fecha , mostrar hora y otras funciones de la calculadora
El cdigo de la calculadora seria
Nota. El asistente de IntelliSense de visual estudio nos muestra los componentes de la clase que hemos creado (suma), adems visual Basic 2010 nos permite trabajar Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 9 - jerrquicamente o sea se puede esconder parte del programa con el signo menos (-) y expandir con el (+) . De esa manera los programas se minimizan,
Explore el visual estudio otras aplicaciones visuales En C++
Ver la entrada y salida en visual c++ y visual basic Imprima un mensaje
PRACTICA 2 Practicas Jueves 10 de abril del 2014
1. Sumar dos nmeros enteros
#include <conio.h> #include <stdio.h> int main() { int n1,n2,suma; printf("\n ingrese 2 numeros "); scanf("%d%d", &n1,&n2); suma=n1+n2; printf("\n la suma es %d ",suma); getch(); }
Ejercicios 2 l todas las operaciones Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 10 -
#include <conio.h> #include <stdio.h> int main() { int n1,n2; printf("\n ingrese 2 numeros "); scanf("%d%d", &n1,&n2); printf("\n la suma es %d ",n1+n2); printf("\n la resta es %d ",n1-n2); printf("\n la multiplicacion es %d ",n1*n2); printf("\n la division es %d ",n1/n2); printf("\n la el residuo es %d ",n1%n2); getch(); }
Ejercicio 3 Operaciones de conversin
#include <conio.h> #include <stdio.h> int main() { float n1,n2; printf("\n ingrese 2 numeros "); scanf("%f%f", &n1,&n2); printf("\n la suma es %f ",n1+n2); printf("\n la resta es %f ",n1-n2); printf("\n la multiplicacion es %f ",n1*n2); printf("\n la division real es %f ",n1/n2); printf("\n la division entera es %d ",(int)n1/(int)n2); printf("\n la el residuo es %d ",(int)n1% (int)n2); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 11 - getch(); }
Ejercicio 4 Funciones matematicas
#include <conio.h> #include <stdio.h> #include <math.h> int main() { float n1,n2; printf("\n ingrese 2 numeros "); scanf("%f%f", &n1,&n2); printf("\n la suma es %f ",n1+n2); printf("\n la resta es %f ",n1-n2); printf("\n la multiplicacion es %f ",n1*n2); printf("\n la division real es %f ",n1/n2); printf("\n la division entera es %d ",(int)n1/(int)n2); printf("\n la el residuo es %d ",(int)n1% (int)n2); printf("\n la raiz del primer numero es %f ",sqrt(n1)); printf("\n la potencia de %f al %f es %f ",n1,n2, pow(n1,n2)); printf("\n El seno del primer numero es %f",sin(n1)); getch(); }
5 calcular una formula
#include <conio.h> #include <stdio.h> #include <math.h> int main() { float x1,y1,x2,y2,de,dr; printf("\n ingrese primer punto x1,y1 "); scanf("%f%f", &x1,&y1); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 12 - printf("\n ingrese segundo punto x2,y2 "); scanf("%f%f", &x2,&y2); de=sqrt(pow(x2-x1,2)+ pow(y2-y1,2)); dr=fabs(x2-x1)+fabs(y2-y1); printf("\n la distancia euclidiana es %f ",de); printf("\n la distancia rectelinea es %f ",dr); getch(); } 6. mayor de dos nmeros
#include <conio.h> #include <stdio.h> int main() { float n1,n2,mayor; printf("\n ingrese dos numeros"); scanf("%f%f", &n1,&n2); if(n1>n2) mayor=n1; else mayor=n2; printf("\n el mayor de los numeros es %f",mayor); getch(); }
7. Mayor de dos nmeros pero de otra manera
#include <conio.h> #include <stdio.h> int main() { float n1,n2,mayor; printf("\n ingrese dos numeros"); scanf("%f%f", &n1,&n2); mayor=n1; if(n2>mayor) mayor=n2; printf("\n el mayor de los numeros es %f",mayor); getch(); }
8. Mayor de 4 numeros
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 13 -
#include <conio.h> #include <stdio.h> int main() { float n1,n2,n3,n4,mayor; printf("\n ingrese 4s numeros"); scanf("%f%f%f%f", &n1,&n2, &n3,&n4); mayor=n1; if(n2>mayor) mayor=n2; if(n3>mayor) mayor=n3; if(n4>mayor) mayor=n4; printf("\n el mayor de los numeros es %f",mayor);
getch(); } 9 Mayor de n nmeros
#include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000; int n,i=1; printf("\n ingrese n cant de numeros"); scanf("%d",&n); while(i<=n) { printf("\n ingrese nro"); scanf("%f",&nro); if (nro>mayor) mayor=nro; i++; } printf("\n el mayor de los numeros es %f",mayor); getch(); }
10 Mayor y menor de n nmeros
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 14 -
#include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000,menor=100000; int n,i=1; printf("\n ingrese n cant de numeros"); scanf("%d",&n); while(i<=n) { printf("\n ingrese nro %d ",i); scanf("%f",&nro); if (nro>mayor) mayor=nro; if (nro<menor) menor=nro; i++; } printf("\n el mayor de los numeros es %f",mayor); printf("\n el menor de los numeros es %f",menor); getch(); }
12 Mayor menor promedio de n nmeros
#include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000,menor=100000,suma=0; int n,i=1; printf("\n ingrese n cant de numeros"); scanf("%d",&n); while(i<=n) { printf("\n ingrese nro %d ",i); scanf("%f",&nro); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 15 - if (nro>mayor) mayor=nro; if (nro<menor) menor=nro; suma=suma+nro; i++; } printf("\n el mayor de los numeros es %f",mayor); printf("\n el menor de los numeros es %f",menor); printf("\n el suma de los numero es %f",suma); printf("\n el promedio es %f",suma/n); getch(); }
13 ,mayor,menor y promedio de n nmeros
#include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000,menor=100000,suma=0; int n,i=1,par=0; printf("\n ingrese n cant de numeros"); scanf("%d",&n); while(i<=n) { printf("\n ingrese nro %d ",i); scanf("%f",&nro); if (nro>mayor) mayor=nro; if (nro<menor) menor=nro; if( (int)nro % 2==0) par++; suma=suma+nro; i++; } printf("\n el mayor de los numeros es %f",mayor); printf("\n el menor de los numeros es %f",menor); printf("\n el suma de los numero es %f",suma); printf("\n el promedio es %f",suma/n); printf("\n HAY %d numeros pares %d",par); getch(); }
14 el mismo ejercicio con Do while Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 16 -
#include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000,menor=100000,suma=0; int n,i=1,par=0; printf("\n ingrese n cant de numeros"); scanf("%d",&n); do { printf("\n ingrese nro %d ",i); scanf("%f",&nro); if (nro>mayor) mayor=nro; if (nro<menor) menor=nro; if( (int)nro % 2==0) par++; suma=suma+nro; i++; } while(i<=n);
printf("\n el mayor de los numeros es %f",mayor); printf("\n el menor de los numeros es %f",menor); printf("\n el suma de los numero es %f",suma); printf("\n el promedio es %f",suma/n); printf("\n HAY %d numeros pares %d",par); getch(); }
15 el mismo ejercicio con for
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 17 - #include <conio.h> #include <stdio.h> int main() { float nro,mayor=-100000,menor=100000,suma=0; int n,i=1,par=0; printf("\n ingrese n cant de numeros"); scanf("%d",&n); for(i=1,par=0;i<=n; suma=suma+nro, i++) { printf("\n ingrese nro %d ",i); scanf("%f",&nro); if (nro>mayor) mayor=nro; if (nro<menor) menor=nro; if( (int)nro % 2==0) par++; } printf("\n el mayor de los numeros es %f",mayor); printf("\n el menor de los numeros es %f",menor); printf("\n el suma de los numero es %f",suma); printf("\n el promedio es %f",suma/n); printf("\n HAY %d numeros pares ",par); getch(); }
16 Valores de una funcin con while
#include <conio.h> #include <stdio.h> #include <math.h> int main() { float x,y,li,ls,dx; printf("\n ingrese li "); scanf("%f",&li); printf("\n ingrese ls "); scanf("%f",&ls); printf("\n ingrese dx "); scanf("%f",&dx); x=li; Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 18 - printf("\n ** valores de la funcion f(x) =X*x ****"); printf("\n %8s %8s ","x","y"); printf("\n===================="); while(x<=ls) { y=pow(x,2); printf("\n %8.2f %8.2f ",x,y); x=x+dx; } printf("\n===================="); getch(); } 17 el mismo ejercicio con do while
#include <conio.h> #include <windows.h> #include <stdio.h> #include "E:\Datos1\MIlib.h" // probando esas funciones int main(void) { clrscr(); // probando la funcion limpirar int col; while( !_kbhit() ) for (col=1;col<=24;col++) { textcolor(0,14); gotoxy(10,col); printf ("HOLA"); Sleep(14); gotoxy(10,col); printf (" "); } getch();
20 graficar una function en modo texto
PRACTICAS DE LENGUAJE DE PROGRAMACION JUEVES 24 ABRIL DEL 2014
1. Graficar cualquier funcin f(x) en modo texto por ejemplo f(x) =x 2
Modificar los valores Cx, Cy ,Ex,Ey,Li, Ls y ver los resultados, realizar operaciones de traslacin, escalado , recorrido de la funcin ,etc. 2. Mover un mensaje o una figura en todas las direcciones( como crecer la figura) Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 20 - 3. Mover un mensaje o una figura con la teclas direccionales 4. Aplicacin de nmeros aleatorios por ejemplo dibujar cuadros en forma aleatoria
Preguntas para la primera prctica calificada
1. Calcular una formula por ejemplo la distancia de dos puntos ,reas, volmenes Tasas de inters, etc. 2. Desarrollar todos los problemas del captulo 1 y 2 de las copias enviadas 3. Practicar la entrada y salida con formato y cdigo de escape del captulo 1 4. Entradas y salidas en C++ cin y cout 5. Ejemplo de condicin simple y mltiple 6. Ejemplo de los bucles, while, do while y for 7. Ejemplo de sentencias anidadas tablas de multiplicar, tablas de inters etc. 8. Mens de opciones ejemplo conversiones coordenadas polares. Rectangulares, etc. 9. Ejemplo con funciones matemticas 10. Elabore un ejemplo de su creacin propia de grafico en modo consola por ejemplo cancha de tenis, dibuje un cuadro, un marco, un tringulo o cualquier polgono, tablas de inters con colores, realizar operaciones de traslacin, escalado, rotacin , modificacin, etc.. 11. Cree series por ejemplo la serie de Fibonacci, sumatorias, etc. 12. Generar tabla de cdigos ASCII y aplicaciones 13. ESTUDIE el siguiente problema y vea otros similares de manejo de datos
Problema C216.- En la Universidad hay 3 tipos de profesores, Auxiliares, Asociados y Principales: a) Ingresar n (cantidad de profesores) b) Ingresar cdigo, tipo (1.Auxiliar 2. Asociado 3.Principal) y sueldo para cada profesor c) Encontrar la cantidad de profesores de cada tipo d) Que Profesor gana ms y de qu tipo es. e) Profesores principales que ganan ms de 2000 soles f) Promedio general de sueldos g) Promedio de sueldo de auxiliares
14. Se generan n nmeros aleatorios de -10 a 10, mostrar los nmeros generados, cual es el nmero mayor, el menor, el promedio, la desviacin, halle la frecuencia de cada nmero que numero es ms frecuente (moda), que nmeros no salieron, cuantos nmeros positivos hay, cuntos 7 hay, etc. 15 practique diagramas de flujo con FDN y Visual Logic 16 vea los exmenes resueltos de semestres anteriores 17. El cajero automtico de Banco de crdito del Per expende billetes de 100 ,50 y 20 soles el usuario ingresa la cantidad de dinero que quiere retirar, como se puede formar el monto a retirar con billetes de 100, 50 y 20 18 plantee un problema original e interesante y resuelva
Practicas del jueves 24 de abril del 2014
1. Graficar una funcin en modo texto en este caso una funcin cuadrtica f(x)=x 2
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 21 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=40,cy=12,col,fila,x1=1,x2=78,y1=1,y2=24; float ex=1,ey=-1,li=-3,ls=3,dx=1,x,y; textcolor(0,9); // horizontales for (col=x1;col<=x2;col++) { gotoxy(col,cy); printf("*"); } // verticales for (fila=y1;fila<=y2;fila++) { gotoxy(cx,fila) ;printf("*"); } textcolor(0,12); // graficar la funcion for (x=li;x<=ls;x=x+dx) { y=pow(x,2); gotoxy(cx+x*ex, cy+y*ey); printf("*");
//printf("%c",219); } getch(); }
2. Graficar varias funciones en una misma grfica
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 22 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=40,cy=20,col,fila,x1=1,x2=78,y1=1,y2=24; float ex=10,ey=-10,li=-4,ls=4,dx=0.01,x,y; textcolor(0,9); // horizontales for (col=x1;col<=x2;col++) { gotoxy(col,cy); printf("%c",205); } // verticales for (fila=y1;fila<=y2;fila++) { gotoxy(cx,fila) ;printf("%c",179); } textcolor(0,12); // graficar la funcion for (x=li;x<=ls;x=x+dx) { textcolor(0,12); y=sin(x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); textcolor(0,10); y=cos(x); gotoxy(cx+x*ex, cy+y*ey); rintf("*"); //printf("%c",219); } getch(); } 3. Graficar un circulo Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 23 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=40,cy=12,col,fila,x1=1,x2=78,y1=1,y2=24; float ex=1,ey=-1,li=-4,ls=4,dx=0.01,x,y,r=10; textcolor(0,9); // horizontales for (col=x1;col<=x2;col++) { gotoxy(col,cy); printf("%c",205); } // verticales for (fila=y1;fila<=y2;fila++) { gotoxy(cx,fila) ;printf("%c",179); } textcolor(0,12); // graficar la funcion for (x=-r;x<=r;x=x+dx) { textcolor(0,12); y=sqrt(r*r-x*x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); y=-sqrt(r*r-x*x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); } getch(); }
4. Mover un objeto por la trayectoria de una funcion Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 24 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=40,cy=12,col,fila,x1=1,x2=78,y1=1,y2=24; float ex=10,ey=-10,li=-4,ls=4,dx=0.01,x,y; textcolor(0,9); // horizontales for (col=x1;col<=x2;col++) { gotoxy(col,cy); printf("*"); } // verticales for (fila=y1;fila<=y2;fila++) { gotoxy(cx,fila) ;printf("*"); } textcolor(0,12); // graficar la funcion textcolor(0,12); for (x=li;x<=ls;x=x+dx) { y=sin(x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); } while( !_kbhit() ) for (x=li;x<=ls;x=x+dx) { textcolor(0,10); y=sin(x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); Sleep(10); textcolor(0,12); y=sin(x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); } getch(); }
5. Mover una figura ( puede ser dibujo de una funcin en todas las direcciones Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 25 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=60,cy=12,col,fila,ancho=10,alto=4,paso=4; float ex=4,ey=-4,li=-3,ls=3,dx=0.01,x,y; while( !_kbhit() ) {textcolor(0,9); // horizontales for (col=cx-ancho;col<=cx+ancho;col++) { gotoxy(col,cy); printf("*"); } // verticales for (fila=cy-alto;fila<=cy+alto;fila++) { gotoxy(cx,fila) ;printf("*"); } // graficar la funcion textcolor(0,12); for (x=li;x<=ls;x=x+dx) { y=sin(x); gotoxy(cx+x*ex, cy+y*ey); printf("*"); } Sleep(1); system ("cls"); if (cx >13) cx-=paso; else cx=60; } getch(); } }
6. El siguiente programa hace crecer un cuadro y cambia de color
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 26 -
#include <windows.h> #include <stdio.h> #include <math.h> #include <conio.h> #include "E:\\datos1\\milib.h" int main() { int cx=2,cy=1,col,fila,ancho=1,alto=4,paso=4; textcolor(0,13); int color=0; while( !_kbhit() ) {if (color<=15 )color++; else color=1; textcolor(0,color); if (ancho <20)ancho++;else ancho=1; for( fila=0;fila<ancho;fila++) for (col=0;col<ancho;col++) { gotoxy(cx+col,+cy+fila); printf("%c",219); } Sleep(10); system("cls"); } getch(); }
PLAN DE PRACTICAS PARA EL 08 DE MAYO DE 2014
1. Integrales 2. Graficar la funcin (fx) =-X2-x+6,y hallar rea bajo la curva, hallar sus races, la altura mxima, la longitud del recorrido, y otros parmetros, recorrer la curva
3. Dibujar un triangulo, Un cuadro adentro otro cuadro,rbol,etc 4. Mover un punto alredor del ejex x, y y z 5. Una figura de su creacion 6. Espiral con coordenadas polares 7. Alboraciones de valores de f(x) y (x,y) 8. Men de conversiones 9. Base de datos por ejemplo de productos 10. Encontrar con rangos si las ventas son mayores que 11. Permutaciones combinaciones ,series, tablas de inters, punto de equilibrio,etc 12. Hacerlo todo en visual basic en modo consola y luego en modo formulario
#include <conio.h> #include <stdio.h> #include <math.h> int main(void) { int cx =40, cy=12,col,fila,n; int x1=1, x2=78, y1=1, y2=24; float x,y,dx=0.1,ap,at=0,li,ls; printf(" \n ingrese limite inferior "); scanf("%f",&li); printf(" \n ingrese limite superior "); scanf("%f",&ls); printf(" \n ingrese nro divisiones "); scanf("%d",&n); dx=(ls-li)/n; for ( x=li+dx;x<=ls;x=x+dx) { y=-pow(x,2)-x+6; ap=dx*y; Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 30 - at=at+ap; printf("\n x %8.2f y %8.2f, ap=%8.2f at=%8.2f ",x,y,ap,at); } printf("\n el area por el metodo de circunscritos es %f ",at); getch(); }
Mtodo de rectngulos inscritos
#include <conio.h> #include <stdio.h> #include <math.h> int main(void) { int cx =40, cy=12,col,fila,n; int x1=1, x2=78, y1=1, y2=24; float x,y,dx=0.1,ap,at=0,li,ls; printf(" \n ingrese limite inferior "); scanf("%f",&li); printf(" \n ingrese limite superior "); scanf("%f",&ls); printf(" \n ingrese nro divisiones "); scanf("%d",&n); dx=(ls-li)/n; for ( x=li;x<ls;x=x+dx) { y=-pow(x,2)-x+6; ap=dx*y; at=at+ap; printf("\n x %8.2f y %8.2f, ap=%8.2f at=%8.2f ",x,y,ap,at); } printf("\n el area por el metodo de circunscritos es %f ",at); getch(); }
METODO DEL PUNTO MEDIO Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 31 -
#include <conio.h> #include <stdio.h> #include <math.h> int main(void) { int cx =40, cy=12,col,fila,n; int x1=1, x2=78, y1=1, y2=24; float x,y,dx=0.1,ap,at=0,li,ls; printf(" \n ingrese limite inferior "); scanf("%f",&li); printf(" \n ingrese limite superior "); scanf("%f",&ls); printf(" \n ingrese nro divisiones "); scanf("%d",&n); dx=(ls-li)/n; for ( x=li;x<ls;x=x+dx) { y=-pow(x+dx/2,2)-(x+dx/2)+6; ap=dx*y; at=at+ap; printf("\n x %8.2f y %8.2f, ap=%8.2f at=%8.2f ",x,y,ap,at); } printf("\n el area por el metodo de punto medio es %f ",at); getch(); }
METODO TRAPECIAL
#include <conio.h> #include <stdio.h> Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 32 - #include <math.h> int main(void) { int cx =40, cy=12,col,fila,n; int x1=1, x2=78; float x,y1,y2,dx=0.1,ap,at=0,li,ls; printf(" \n ingrese limite inferior "); scanf("%f",&li); printf(" \n ingrese limite superior "); scanf("%f",&ls); printf(" \n ingrese nro divisiones "); scanf("%d",&n); dx=(ls-li)/n; for ( x=li;x<ls;x=x+dx) { y1=-pow(x,2)-(x)+6; y2=-pow(x+dx,2)-(x+dx)+6; ap=dx*(y1+y2)/2; at=at+ap; printf("\n x %8.2f y1 %8.2f, y2 %8.2fap=%8.2f at=%8.2f ",x,y1,y2,ap,at); } printf("\n el area por el metodo TRAPECIAL %f ",at); getch(); }
int main(void) { int cx =40, cy=12,col,fila,n; int x1=1, x2=78; float x,y,dx=0.1,ap,at=0,li,ls; Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 33 - float xmax,mayor=-10000; printf(" \n ingrese limite inferior "); scanf("%f",&li); printf(" \n ingrese limite superior "); scanf("%f",&ls); printf(" \n ingrese nro divisiones "); scanf("%d",&n); dx=(ls-li)/n; for ( x=li;x<ls;x=x+dx) { y=-pow(x,2)-(x)+6; if(y>mayor) {xmax=x; mayor=y; } printf("\n x %8.2f y %8.2f, mayor %8.2f ",x,y,mayor); } printf("\n el punto maximo es %f para x= %f ",mayor,xmax); getch(); }
Problema de base de datos
#include <conio.h> #include <stdio.h> int main() { const float p1=3, p2=5,p3=8; float mt=0,monto,mayor=-1000; int prodganador=1; float smp1=0,smp2=0,smp3=0;
int i,n=5,tipo,Q; printf("\n ingrese cantidad de ventas"); scanf("%d",&n);
for (i=1;i<=n;i++) {printf("\n ingrese tipo y cantidad"); scanf("%d %d",&tipo,&Q); switch (tipo) { case 1:monto=p1*Q; smp1=smp1+monto;break; case 2:monto=p2*Q; smp2=smp2+monto;break; case 3:monto=p3*Q; smp3=smp3+monto;break; } if( monto>mayor) {mayor=monto; prodganador=i; } printf("\n el monto es %f",monto); mt=mt+monto; } float mayor2=smp1; float pg2=1; if (smp2>mayor2) { mayor2=smp2; pg2=2; Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 34 - } if (smp3>mayor2) { mayor2=smp3; pg2=3; } printf("\n el monto totaly %f",mt); printf("\n elmayor monto es %f",mayor); printf("\n y corresponde al productoes %f",prodganador); printf("\n el producto que se vio mas en total es %f",pg2); getch(); }
PRACTICAS DEL LP 15 DE MAYO DEL 2014
Sumar dos nmeros sin funciones
// sum de dos numeros sin funciones #include <conio.h> #include <stdio.h> int main() {float n1,n2,suma; printf("\n ingrese dos numeros"); scanf("%f%f",&n1,&n2); suma=n1+n2; printf("\n la suma es %f",suma); getch(); }
Usando funciones
// sum de dos numeros sin funciones #include <conio.h> #include <stdio.h> float suma( float,float); int main() {float n1,n2,s; printf("\n ingrese dos numeros"); scanf("%f%f",&n1,&n2); s=suma(n1,n2); printf("\n la suma es %f",s); getch(); } float suma( float x,float y) Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 35 - { float s1; s1=x+y; return s1; }
Lo mismo pero en forma mas corta #include <conio.h> #include <stdio.h> float suma( float x,float y) { return x+y; }
int main() {float n1,n2; printf("\n ingrese dos numeros"); scanf("%f%f",&n1,&n2); printf("\n la suma es %f",suma(n1,n2)); getch(); }
81. Calcular el valor de debe ingresar x y n.
. X 3 X 5 X 7
Sen(x) = x- ---- + ---- - --- + ... x en radianes 3! 5! 7!
#include <conio.h> #include <stdio.h> float potencia(float base, int exponente) { float p=base; for (int i=1;i<exponente;i++) p=p*base; return p; } int factorial ( int n) {int i,f=1; for (i=1;i<=n;i++) f=f*i; return f; } int main() {int n=7,cn=1,nro=1,signo=1; float seno=0,x=3.1416/2; for (nro=1;cn<=n;cn++) { seno=seno+signo*potencia(x,nro)/factorial(nro); signo=signo*(-1); printf(" %2d ", nro); nro=nro+2; } Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 36 - printf("\n el seno de %f es %f ",x, seno); getch(); }
Adicione un archivo de librera y ingresando los valores x, n
#include <conio.h> #include <stdio.h> #include "funciones1.h" int main() {int n=7,cn=1,nro=1,signo=1; float seno=0,x=3.1416/2; printf("\n ingrese nro de terminos"); scanf("%d",&n); printf("\n ingrese base x"); scanf("%f",&x); for (nro=1;cn<=n;cn++) { seno=seno+signo*potencia(x,nro)/factorial(nro); signo=signo*(-1); printf(" %d ", nro); nro=nro+2; } printf("\n el seno de %f es %f ",x, seno); getch(); }
Implemente la funcin cuadro
#include <windows.h> #include <conio.h> #include <stdio.h> #include "E:\datos\milib.h" void cuadro(int Cx, int Cy, int ancho, int alto, int color) { int fila,col; textcolor(0,color); for (fila=0;fila<=alto;fila++) for (col=0;col<=ancho; col++) {gotoxy(Cx+col,Cy+fila); printf("%c",219); } } int main() {cuadro(2,5,10,4,1); cuadro(40,12,20,12,12); cuadro(42,14,10,10,14); getch(); }
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 37 -
Dibujar una torre de n escalones
#include <windows.h> #include <conio.h> #include <stdio.h> #include "e:\datos\milib.h" #include "cuadro.h" int main() { int Cx=40,Cy=1,alto=2,nescalones=12,fila,paso=2,Cx1=Cx; float ancho=10; for (fila=1; fila<=nescalones;fila++) { Cx=Cx1-ancho/2; cuadro(Cx,Cy,ancho,alto,fila); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 38 - ancho=ancho*1.2; Cy= Cy+alto; } getch(); }
Haciendo una pequea modificacin
#include <windows.h> #include <conio.h> #include <stdio.h> #include "e:\datos\milib.h" #include "cuadro.h" int main() { int Cx=40,Cy=1,alto=1,nescalones=15,fila,paso=2,Cx1=Cx; float ancho=10; for (fila=1; fila<=nescalones;fila++) { Cx=Cx1-ancho/2; cuadro(Cx,Cy,ancho,alto,fila); ancho=ancho+paso; Cy= Cy+alto; } getch(); }
Crear una funcin torre que dibuja una torre de n escalones se mueva
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 39 -
Cuadro.h
void cuadro(int Cx, int Cy, int ancho, int alto, int color) { int fila,col; textcolor(0,color); for (fila=0;fila<=alto;fila++) for (col=0;col<=ancho; col++) {gotoxy(Cx+col,Cy+fila); printf("%c",219); } } void torre( int Cx, int Cy , int ne, int ancho,int alto) { int fila,paso=2, Cx1=Cx; for (fila=1; fila<=ne;fila++) { Cx=Cx1-ancho/2; cuadro(Cx,Cy,ancho,alto,fila); ancho=ancho+paso; Cy= Cy+alto; } }
// programa principal #include <windows.h> #include <conio.h> #include <stdio.h> #include "e:\datos\milib.h" #include "cuadro.h" int main() { int Cx1=40,Cy1=2,ancho=8,alto=2,ne=7; Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 40 -
Usando la funcin lnea dibuje un triangulo y muestre su centro
#include <windows.h> #include <conio.h> #include <stdio.h> #include <math.h> #include "e:\datos\milib.h" void linea(float x1,float y1,float x2,float y2) { int i,vel=10; float mayor,ancho,alto,partex,partey,px,py,dx,dy; ancho=fabs(x2-x1); alto=fabs(y2-y1); if (x1<=x2)dx=1;else dx=-1; if (y1<=y2)dy=1;else dy=-1; if (ancho>alto)mayor=ancho;else mayor=alto; partex=ancho/mayor; partey=alto/mayor; for (i=0;i<=mayor;i++) { px=i*partex*dx; py=i*partey*dy; gotoxy(x1+px,y1+py); printf("*"); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 41 - // Sleep(vel); } } int main() { int x1=20,y1=20,x2=40,y2=2,x3=60,y3=20,color=9; int cx=(x1+x2+x3)/3; int cy=(y1+y2+y3)/3; while( !_kbhit() ) {if (color <13)color++; else color=9; textcolor(0,color) ; linea(x1,y1,x2, y2); Sleep(50); textcolor(0,color+1) ; linea(x2,y2,x3, y3); Sleep(50); textcolor(0,color+2) ; linea(x3,y3,x1, y1); Sleep(50); gotoxy(cx,cy) ;printf("%X",color); } getch(); }
Torres de Hanoi
#include <windows.h> #include <conio.h> #include <stdio.h> #include <math.h> #include "e:\datos\milib.h" int nmov =0; void mover(int n,int a,int b, int c) // mover n discos desde a hasta b usando como temporal c { if (n>0) { mover(n-1,a,c,b); nmov++; printf("\n mueve un disco de %d a %d ",a,b); Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 42 - mover(n-1,c,b,a); } } int main(void) { int n; printf("ingrese cantidad de discos a mover "); scanf("%d",&n); mover(n,1,3,2); printf("\n se realizo %d movimientos ",nmov); getch(); return 0; }
Practicas del jueves 22 de mayo del 2014 Resuelva los siguientes ejercicicios RECURSIVIDAD
#include <windows.h> #include <conio.h> #include <stdio.h> #include <math.h> #include "e:\datos\milib.h" int nmov =0; void mover(int n,int a,int b, int c) // mover n discos desde a hasta b usando como temporal c { if (n>0) { mover(n-1,a,c,b); nmov++; printf("\n mueve un disco de %d a %d ",a,b); mover(n-1,c,b,a); } } int main(void) { int n; printf("ingrese cantidad de discos a mover "); scanf("%d",&n); mover(n,1,3,2); printf("\n se realizo %d movimientos ",nmov); getch(); return 0; }
#include <conio.h> #include <stdio.h> int nmov =0; void mover(int n,int a,int b, int c) // mover n discos desde a hasta b usando como temporal c { if (n>0) Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 43 - { mover(n-1,a,c,b); nmov++; printf("\n mueve un disco de %d a %d ",a,b); mover(n-1,c,b,a); } } int main(void) { int n; printf("ingrese cantidad de discos a mover "); scanf("%d",&n); mover(n,1,3,2); printf("\n se realizo %d movimientos ",nmov); getch(); return 0; }
Usando recursividad resuelva los siguientes problemas
Sumar de 1 hasta n Sumar de a hasta b Valores de una funcin Dibujar un triangulo con recursividad Ver problemas de crecimiento
#include <windows.h> #include <conio.h> #include <stdio.h> #include "e:\datos\milib.h" #include "math.H" const int maximo=20; void figura(int Cx, int Cy, int ne) {int col; for (col=0;col<ne;col++) Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 44 - {gotoxy(Cx+col,Cy); printf("*"); } } void CrecerAbajo(int Cx, int Cy, float ne, float tc, int generacion) { figura(Cx,Cy,ne); if (generacion<maximo) {CrecerAbajo(Cx,Cy+1,ne*tc,tc,generacion+1); } } void main(void) { int generacion = 1,Cx=40,Cy=3,i; float tc=1.0; for (i=1;i<=5;i++) { textcolor(0,i); gotoxy(10*i-9,1);printf("%4.2f",tc); CrecerAbajo(i*10-9,Cy,1,tc,1); tc=tc+0.05; }
getch(); }
Crecimiento para ambos lados
Como dibujara un triangulo Pruebe los ejercicios de ejercicios por ejemplo el rbol recursivo METODOS NUMERICOS
Practicas realizadas de Lenguaje de Programacin 2014 \Ismael Vliz Vilca - 45 -
Se tiene la funcion f(x) = (x+2)(x-1)(x-2) encuentre los siguientes valores
1. Encuentre las raices 2. Calcule los siguientes valores en el rango de la primera raz a la ltima (u otro rango) 3. El punto maximo y minimo, entre los puntos enter el primera raiz y la tercea raiz 4. Grafique la funcin con sus coordenadas y escalas adecuadas 5. La longitud de la funcin 6. La coordenadas del punto ms alto en ese intervalo 7. Las coordenadas del punto ms bajo en ese intervalo 8. El rea en ese intervalo 9. El volumen de solido de revolucin alrededor del eje X 10. El volumen de solido de revolucin alrededor del eje Y 11. rea lateral de revolucin en el intervalo 12. La distancia mnima de la funcin al punto (X,Y Ej3.2 ) 13. Ubicar un punto (x,y) en el intervalo de tal manera que la distancia a los puntos de la funcin sea mnima 14. Ubicar un rectngulo de mayor rea posible entre raiz1 y 2 (opcional) 15. Mostrar el rea de corte dado en un valor x y tambin en un valor de y ( sale la circuenferencia) 16. Obtener la derivada en un puntos (x,y) 17. Obtener las interseccin caso en que hay varias funciones 18. Recorrer la funcion y indique en cada momento sus coordenadas x,y 19. Encontrar la distancia mnima de la raiz1 al punto indicado 20. Otras posibles preguntas