jueves, 23 de mayo de 2013

PRACTICAS Y TAREAS

  1. Practica 1 Problema 1

    Algoritmo:
    inicio
    paso 1. Imprimir Instituto Tecnológico de Tijuana.
    paso 2. Imprimir ing. electrónica.
    paso 3. Imprimir programación estructurada.
    paso 4. Imprimir materia: programación estructurada.
    paso 5. Imprimir horario: lunes 8-10, martes 8-10, vi 8-9
    paso 6. Imprimir no, control: 12210518
    fin.



    Practica 1 problema 2

    Algoritmo:

    inicio
    paso 1. Imprimir formulas geométricas.
    paso 2. Imprimir formulas para calcular el área de un cuadrado a= lxl.
    paso 3. Imprimir formulas para calcular el área de un triangulo a= bxh/2
    paso 4. Imprimir formulas para calcular el área de un rectangulo a= bxh
    paso 5. Imprimir formulas para calcular el área de un rombo a= dxd/2
    paso 6. Imprimir formulas para calcular el área de un romboide a= bxh
    paso 7. Imprimir formulas para calcular el área de un trapecio h(bxb)/2
    paso 8. Imprimir formulas para calcular el área de un polígono regular a=  pxa/2
    paso 9. Imprimir formulas para calcular el área de un prisma recto a= p(hxa)
    paso 10. Imprimir formulas para calcular el área de un elipse a= pixaxb
    paso 11.Imprimir formulas para calcular el perimetro de un paralelogramo
    fin.




    Practica 1 Problema 3


    Algoritmo:
    inicio
    paso 1. Imprimir grados, radianes.
    paso 2. Imprimir 0            0.0000
    paso 3. Imprimir 90          1.5708
    paso 4. Imprimir 180        3.1416
    paso 5. Imprimir 270        4.7124     
    paso 6. Imprimir 360        6.2832 
    fin.



    Practica 1 Problema 4

    Algoritmo:
    inicio 
    paso 1. Imprimir ***********  ****************       **            **
    paso 2. Imprimir *                  *  *                            *     *     *      *      *
    paso 3. Imprimir *                  *  *                            *    *       *   *           *
    paso 4. Imprimir *                  *  *                            *   *         *    *       *
    paso 5. Imprimir ***********  ****************  ********      **
    fin.


    Practica 1 Problema 5


    Algoritmo:
    inicio
    paso 1. Imprimir *********    *********     **********
    paso 2. Imprimir *                    *                     *
    paso 3. Imprimir *                    *                     *
    paso 4. Imprimir *****            *          ****   *          ****
    paso 5. Imprimir *                    *                *   *                *
    paso 6. Imprimir *                    **********   **********
    fin.



    Practica 1 Problema 6

    Algoritmo:
    inicio 
    paso 1.   Imprimir 111111111111111
    paso 2.   Imprimir 2222222             2
    paso 3.   Imprimir 2           2            2
    paso 4.   Imprimir 2           22222222
    paso 5.   Imprimir 2222222             2
    paso 6.   Imprimir 2           2            2
    paso 7.   Imprimir 2           22222222
    paso 8.   Imprimir 111111111111111
    paso 9.   Imprimir 000000000000000
    paso 10. Imprimir 0                          0
    paso 11. Imprimir 0                          0
    paso 12. Imprimir 000000000000000
    paso 13. Imprimir 5           555555555
    paso 14. Imprimir 5           5              5
    paso 15. Imprimir 55555555             5
    paso 16. Imprimir 1111111111111111
    paso 17. Imprimir 8888888888888888
    paso 18. Imprimir 8            8              8
    paso 19. Imprimir 8            8              8
    paso 20. Imprimir 8888888888888888
    fin.



    Pratica 2 problema 1

    Algoritmo:
    1. Inicio
    2. Inicializar las variables m, n, p.
    3. Mostar las variables
    m= 50, n= 10, p=5
    4. Calcular las operacoines
    n/p+310/5+3
    m/p+n-10*a
    m-3*n+4*a
    (m+n)/(p+a)
    m+n/p+a
    5. Mostrar los calculos realizados
    print"n/p+310/5+3="
    print"m/p+n-10*a="
    print"m-3*n+4*a="
    print"(m+n)/(p+a)="
    print"m+n/p+a="
    6. Fin    
    fin.


    Pratica 2 problema 2


    Algoritmo:
    1. Inicilio
    2. Inicializar las variables p, h.
    3. Mostar las variables
    p=3.0, h=4%6.
    4. Calcular las operaciones
    p+4.0*6.6
    p*4.0/6.0+6.0
    2.0*p/12.0*8.0/4.0
    20.0-2.0/6.0+p
    p*h+6
    5. Mostrar los calculos realizados
    print"p+4.0*6.6=3.0+4.0*6.6="
    print"p*4.0/6.0+6.0=3.0+4.0/6.0+6.0="
    print"2.0*p/12.0*8.0/4.0=2.0*3.0/12.0+8.0/4.0="
    print"20.0-2.0/6.0+p=20.0+2.0/6.0+3.0=""
    print"p*h+6="3.0*4%6+6
    6. Fin
    fin.

    Pratica 2 problema 3


    
    
    Algoritmo:

    1. Inicio
    2. Inicializar las variables p, h.
    3. Mostar las variables
    x=3.0, z=4.0, y=2, r, d=17%3
    4. Calcular las operaciones
    r=10+d+z
    r=20-y/6+x
    r=10+17/x+z
    r=10+15.0/y+x+4.5
    r=x+z/y+(z)*(y)
    5. Mostrar los calculos realizados
    print"r=10+d+z=10+17%3.0+4.0="
    print"r=20-y/6+x=2.-2/6+3.0="
    print"r=10+17/x+z=10+17/3.0+4.0="
    print"r=10+15.0/y+x+4.5=10+15.0/2+3.0+4.0="
    print"r=x+z/y+(z)*(y)=3.0+4.0/2+(4.0)*(2)="
    6. Fin    



    Pratica 2 problema 4


    Algoritmo:

    1. Inicio
    2. Evaluar las expresiones
    10.0(1.0+7.0*3.0)
    (20.0-4.0)(6.0-4.0)
    6.6(3.0+17.0)
    (2.1+8.9)(15.3-3.8)
    4.5/2.0*1.2
    3. Mostrar los calculos realizados
    print"10.0(1.0+7.0*3.0)
    print"(20.0-4.0)(6.0-4.0)
    print"6.6(3.0+17.0)
    print"(2.1+8.9)(15.3-3.8)
    print"4.5/2.0*1.2
    4. Fin    

    Pratica 2 problema 5

    Algoritmo:

    1. Inicio
    2. Inicializar las variables x, m, d.
    x=85.3, m=80, d=4
    3. Mostrar los datos x, m, d.
    print"calculo de desviacion normal estandar"
    print"x=85.3, m=80, d=4"
    4. Calcular la desviacion normal estandar
    z=(x-m)/d
    5. Mostrar el resultado de la desviacion normal estandar.
    print"z=(x-m)/d=z=(85.3-80)/4
    6. Fin
    fin.

    Pratica 2 problema 6
    Algoritmo

    1.Inicio
    2.Inicializar la variable radio
    radio = 3.3
    3.Mostrar el valor de radio
    print"Calculo área y circunferencia de un circuito "
    print"radio 3.3 "
    4.Calcular el área
    area = 3.1416*radio *radio
    5. Calcular la circunferencia
    per= 3.1416*radio*2
    6. Mostrar los cálculos de área y perímetro
    print" Area = ", Area
    print"Circunferencia= ", per
    7. Fin

    Pratica 2 problema 7
    1. Inicio
    2. Cargar las variables
    r1= 18*100;
    r2= 5*220;
    r3= 15*75;
    r4= 22*56;
    rt;
    3. mostrar las variables
    print"calcular las resistencia total (Rt) en un circuito serie"
    print"r1= 100 ohms *18"
    print"r2= 220 ohms *5"
    print"r3= 75 ohms *15"
    print"r4= 53 ohms *22"
    4. Calcular la resistencia total
    rt= r1+r2+r3+r4 =
    5. Mostrar el resultado de los cálculos
    print"Rt= r1+r2+r3+r4 = ", Rt
    6. Fin


    Pratica 2 problema 8

    Algoritmo:

    1. Inicio
    2. Inicializar las variables
    radio=2.5
    altura= 16
    3. Calcular el área y el volumen de la superficie
    superficie = 2*3.1416*radio*altura
    volumen = 3.1416*radio*radio*altura
    4. Mostrar los resultados de los calculos realizados
    print"superficie =2.3.1416*2.5*16 = ", superficie
    print"volumen = 3.1716*2.5*2.5*16 = ", volumen
    5. Fin



     Practica 3 proeblema 1

    Algoritmo:

    1. Inicio
    2. Inicializar las variables m, f, a, b.
    m=1.672, f=14.65, a=1.845, b=2.5
    3. Mostrar los datos x, m, d.
    print"m=1.672, f=14.65, a=1.845, b=2.5"
    3. Mostrar los calculos realizados
    print"lg=2*pi*e^m=lg=2*pi*e^1.672="
    print"f*sqrt(m)+10e^a+b=14.65*sqrt(1.672)+10e^1.845+2.5="
    print"2.30f/sqrt(0.98*f^2)=2.30*14.65/sqrt(0.98*14.65^2)=""
    print"1.0/m(e^2(a+b))+1.55=1.0/1.672(e^2(1.845+2.5))+1.55="
    print"6.688e^2m+3.84f=6.688e^2*1.672+3.84*14.65"
    4. Fin 




    Problema 3 practica 2   
    Algoritmo:
    1. Inicio
    2. Inicializar las variables f1, f2, c, r, R, E.
    3. Mostrar los datos f1, f2, c, r, R, E.
    print"f1=6.685e^6, f2=2.0^e-10, c=220x10^-6, r=470, R=800, E=210"
    4. Mostrar los calculos realizados
    print"(f1+f2)/(f1-f2)="
    print"1.0/2.0(f1*f2)^10/4.0="
    print"E/(r+R)="
    print"230E/sqrt(56)^2+0.98(f1+f2)^2="
    prin"150E/0.38(f1)(f2)="
    5.Fin




    Practica 3 problema 3a
    Algoritmo:

    1.inicio
    2.inicializar las variables 
    f=120.0, n=4.0, t=1.0 
    3.Mostras las variables 
    print" f=120.0, n=4.0, t=1.0 "
    4.calcular la ganancia de voltaje
    GV=(275/(23^2+0.5f^2)^t/2)^n
    5.Mostrar el resultado de la ganancia de voltaje 
    print" ganancia de voltaje ="GV,
    6.Fin


    Pratica 3 problema 3b

    Algoritmo:

    1.inicio
    2.inicializar las variables
    f=9500, n=4.0, t=1.0
    3.Mostras las variables
    print" f=120.0, n=4.0, t=1.0 "
    4. calcular la ganancia de voltaje
    GV=(275/(23^2+0.5f^2)^t/2)^n
    5.Mostrar el resultado de la ganancia de voltaje
    print"ganancia de voltaje ="GV,
    6.Fin

    Pratica 3 problema 4

    Algoritmo:

    1.inicio
    2.inicializar las variables
    a=4.5
    b=8.4
    3.Mostrar las variables
    print"a= Radio menor de 4.5 pulgadas"
    print"b= Radio mayor de 8.4 pulgadas"
    4.Calcular la circunferencia de una elips
    circunferencia=pi*raiz((a+b)^2)
    5.mostrar los calculos realizados
    print"circunferencia= pi*raiz((a+b)^2)="circunferencia
    6.Fin

     Practica 3 problema 5
    Algoritmo:

    1.inicio
    2.inicializar las variables
    e=35, r=55, c=0.067, t= 12.4;
    3.Mostrar las variables
    print"r=55, r=55, c=0.067, t= 12.4"
    4.Calcular el flujo de corriente atravez de un circuito RC
    i=(e/r)*exp(-c/t)
    5.mostrar los calculos realizados
    print"i=(e/r)exp-c/t =" i
    6.Fin



     Practica 4 problema 1
    Diagrama de flujo


    Practica 4 problema 2
    Diagrama de flujo
    

    Practica 4 problema 3
    Diagrama de flujo

    
    

    Practica 4 problema 4
    Diagrama de flujo



    Practica 4 problema 5
    Diagrama de flujo

    
    
    
     Practica 5 problema 1
    
    
    
    


    Pseudocodigo:

    Inicio
    Valon int
    Print "introduce un valor entero=”
    Read valor
    If (valor%2==0)
    {
    Print valor, “es un numero par”
    }
    Else
    {
    Print valor, “es un numero impart”
    }
    Fin



    Practica 5 problema 2

    
    
    
    
    Pseudocodigo:

    Inicio
    x  int
    z  int
    Print”introduce un valor entero”
    Read x
    Print“introduce un segundo valor entero”
    Read z
    If(x>z)
    {
    Print “el primer valor es mayor”
    }
    Else
    If(x==z)
    {
    Print “los dos valores son iguales”
    }
    else
    {
    Print”el primer valor es menor”
    }
    fin



    Practica 5 problema 3

    
    
    
    
    Pseudocodigo:

    Inici
    a real
    b real
    c real
    d real
    R real
    char Nombre[25];
    print "Nombre del Alumno"
    read.getline(Nombre,25)
    print "Calificacion parcial 1"
    read a
    print "Calificacion parcial 2"
    read b
    print "Calificacion parcial 3"
    read c
    print "Calificacion parcial 4"
    read d
    R=(a+b+c+d)/4;
    if(R>7)
    {
    Print “ Nombre “
    print “ R”
    print " Aprobo"
    }
    else
    {
    Print “Nombre “
    print “R”
    print " no aprobo"
    }
    Fin


    Practica 5 problema 4

    
    
    
    
    Pseudocodigo:

    Inicio
    int x;
    Print"Prueba de aislamiento=?"
    Read x;
    if(x>600)
    {
    Print"prueba de voltaje aprovada"
    }
    else
    {
    if(x==600)
    {
    Print"prueba de voltaje aprobada"
    }
    else
    {
    Print"prueba de voltaje no aprobada"
    }}
    fin



    Practica 5 problema 5

    Pseudocodigo:

    Incio
    t1 real
    t2 real
    n3 real
    r real
    r1 real
    v real
    v1 real
    print"medida del lado del terreno t1="
    read t1
    r=t1*t1
    print "medidas en metro cuadrados del terreno t1*t1"
    print"r="
    v=r*100
    print "costo por metro cuadrado r*100"
    print"v= "
    print"introducir la medida de la base t2="
    read t2
    print "introducir la medida de la altura n3="
    read n3
    r1=n3*t2
    print "valor n3*n2"
    print "r1="
    v1=r1*150
    print"costo por metro cuadrado r*100"
    print "v1= "
     if (v<v1)
    {
    print"el primer terreno es mas barato "
    }
    Else
    {
    if(v==v1)
    {
    Print "los dos terrenos son iguales"
    }
    Else
    {
    if (v>v1)
    print "el segundo terreno es mas caro "
    }
    }
    fin
    

    
    
    
    
     
    Practica 5 problema 6

    pseudocodigo:

    Inicio 
    a,b,c real 
    print " primer numero =" 
    read a 
    print " segundo numero = " 
    read b 
    print " tercero numero =" 
    read c 
    if(a<b&&b<c) 

    Print “los numeros estan en orden acendente" 

    else 

    if(c<b&&b<a) 

    Print "los numeros estan en orden desendente" 

    else 

    Print "los numeros estan sin orden" 


    Fin



    Practica 5 problema 7

    Pseudocodigo:
    Inicio
    int horas
    int minutos

    Print"horas"
    Read horas;
    Print"minutos"
    Read minutos;
    Print"horas":"minutos
    if(horas>=1&&horas<=12)
    cout<<horas<<":"<<minutos<<"am"<<endl;
    if(horas>=13&&horas<=24)
    if(horas=horas-12)
    Print"horas":"minutos"pm"
    Fin



    Practica 5 problema 8

    Pseudocodigo:

    Inicio
    Dia int
    Año int
    Mes [10] char
    Print “introduzca dia mes año=”
    Read dia, mes, año
    Print dia, “”,mes, “”, año
    If (mes== “enero”)
    {
    Print dia, “/”, 1, “/”, año
    }
    Else
    {
    If(mes= =“febrero”)
    {
    Print dia , “/”,2, “/”,año
    }
    Else
    {
    If(mes== “marzo”)
    {
    Print dia , “/”,3, “/”,año
    }
    Else
    If(mes== “abril”)
    {
    Print dia , “/”,4, “/”,año
    }
    Else
    {
    If(mes== “mayo”)
    {
    Print dia , “/”,5, “/”,año
    }
    Else
    {
    If(mes== “junio”)
    {
    Print dia , “/”,6, “/”,año
    }
    Else
    {
    If(mes== “julio”)
    {
    Print dia , “/”,7, “/”,año
    }
    Else
    {
    If(mes== “agosto”)
    {
    Print dia , “/”,8, “/”,año
    }
    Else
    {
    If(mes== “septimbre”)
    {
    Print dia , “/”,9, “/”,año
    }
    Else
    {
    If(mes== “octubre”)
    {
    Print dia , “/”,10, “/”,año
    }
    Else
    {
    If(mes== “noviembre”)
    {
    Print dia , “/”,11, “/”,año
    }
    Else
    {
    If(mes== “diciembre”)
    {
    Print dia , “/”,12, “/”,año
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    Fin



    Practica 6 problema 1

    Pseudocodigo:

    Inicio
    Valon int
    Continuar= 1 int
    while (continuar==1)
    Print "introduce un valor entero=”
    Read valor
    If (valor%2==0)
    {
    Print valor, “es un numero par”
    }
    Else
    {
    Print valor, “es un numero impart”
    }
    Print" Desea continuar 1(si) ó 2(no"
    Read continuar
    Fin



    Practica 6 problema 2

    Pseudocodigo:

    Inicio
    x  int
    z  int
    Continuar= 1 int
    while (continuar==1)

    Print”introduce un valor entero”
    Read x
    Print“introduce un segundo valor entero”
    Read z
    If(x>z)
    {
    Print “el primer valor es mayor”
    }
    Else
    If(x==z)
    {
    Print “los dos valores son iguales”
    }
    else
    {
    Print”el primer valor es menor”
    }
    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    fin




    Practica 6 problema 3

    Pseudocodigo:

    Inicio
    a real
    b real
    c real
    d real
    R real
    Continuar= 1 real
    while (continuar==1)
    char Nombre[25];
    print "Nombre del Alumno"
    read.getline(Nombre,25)
    print "Calificacion parcial 1"
    read a
    print "Calificacion parcial 2"
    read b
    print "Calificacion parcial 3"
    read c
    print "Calificacion parcial 4"
    read d
    R=(a+b+c+d)/4;
    if(R>7)
    {
    Print “ Nombre “
    print “ R”
    print " Aprobo"
    }
    else
    {
    Print “Nombre “
    print “R”
    print " no aprobo"

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    }
    Fin





    Practica 6 problema 4

    Pseudocodigo:

    Inicio
    int x;

    Continuar= 1 int
    while (continuar==1)

    Print"Prueba de aislamiento=?"
    Read x;
    if(x>600)
    {
    Print"prueba de voltaje aprovada"
    }
    else
    {
    if(x==600)
    {
    Print"prueba de voltaje aprobada"
    }
    else
    {
    Print"prueba de voltaje no aprobada"

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    }}
    fin



    Practica 6 problema 5

    Pseudocodigo:

    Incio
    t1 real
    t2 real
    n3 real
    r real
    r1 real
    v real
    v1 real
    Continuar= 1 real
    while (continuar==1)
    print"medida del lado del terreno t1="
    read t1
    r=t1*t1
    print "medidas en metro cuadrados del terreno t1*t1"
    print"r="
    v=r*100
    print "costo por metro cuadrado r*100"
    print"v= "
    print"introducir la medida de la base t2="
    read t2
    print "introducir la medida de la altura n3="
    read n3
    r1=n3*t2
    print "valor n3*n2"
    print "r1="
    v1=r1*150
    print"costo por metro cuadrado r*100"
    print "v1= "
     if (v<v1)
    {
    print"el primer terreno es mas barato "
    }
    Else
    {
    if(v==v1)
    {
    Print "los dos terrenos son iguales"
    }
    Else
    {
    if (v>v1)
    print "el segundo terreno es mas caro "

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    }
    }
    fin


    
    

    Practica 6 problema 6

    Pseudocodigo:

    Inicio
    a,b,c real

    Continuar= 1 real
    while (continuar==1)

    print " primer numero ="
    read a
    print " segundo numero = "
    read b
    print " tercero numero ="
    read c
    if(a<b&&b<c)
    {
    Print “los numeros estan en orden acendente"
    }
    else
    {
    if(c<b&&b<a)
    {
    Print "los numeros estan en orden desendente"
    }
    else
    {
    Print "los numeros estan sin orden"

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    }
    }
    Fin


    Practica 6 problema 7

    Pseudocodigo:

    Inicio
    int horas
    int minutos

    Continuar= 1 int
    while (continuar==1)

    Print"horas"
    Read horas;
    Print"minutos"
    Read minutos;
    Print"horas":"minutos
    if(horas>=1&&horas<=12)
    cout<<horas<<":"<<minutos<<"am"<<endl;
    if(horas>=13&&horas<=24)
    if(horas=horas-12)
    Print"horas":"minutos"pm"

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    Fin


    Practica 6 problema 8

    Pseudocodigo:

    Inicio
    Dia int
    Año int

    Continuar= 1 int
    while (continuar==1)

    Mes [10] char
    Print “introduzca dia mes año=”
    Read dia, mes, año
    Print dia, “”,mes, “”, año
    If (mes== “enero”)
    {
    Print dia, “/”, 1, “/”, año
    }
    Else
    {
    If(mes= =“febrero”)
    {
    Print dia , “/”,2, “/”,año
    }
    Else
    {
    If(mes== “marzo”)
    {
    Print dia , “/”,3, “/”,año
    }
    Else
    If(mes== “abril”)
    {
    Print dia , “/”,4, “/”,año
    }
    Else
    {
    If(mes== “mayo”)
    {
    Print dia , “/”,5, “/”,año
    }
    Else
    {
    If(mes== “junio”)
    {
    Print dia , “/”,6, “/”,año
    }
    Else
    {
    If(mes== “julio”)
    {
    Print dia , “/”,7, “/”,año
    }
    Else
    {
    If(mes== “agosto”)
    {
    Print dia , “/”,8, “/”,año
    }
    Else
    {
    If(mes== “septimbre”)
    {
    Print dia , “/”,9, “/”,año
    }
    Else
    {
    If(mes== “octubre”)
    {
    Print dia , “/”,10, “/”,año
    }
    Else
    {
    If(mes== “noviembre”)
    {
    Print dia , “/”,11, “/”,año
    }
    Else
    {
    If(mes== “diciembre”)
    {
    Print dia , “/”,12, “/”,año

    Print" Desea continuar 1(si) ó 2(no"
    Read continuar

    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    Fin






    Practica 6 problema 9



    Pseudocodigo:

    inicio
    gasto=0 real
    suma=0 real
    n=1 int 
    while (gasto!=-1)
    {
    Print"gasto", n, "=?"
    read gasto 
    if(gasto!=-1)
    {
    suma=suma+gasto
    }
    n=n+1
    }
    Print"gasto total = ",suma
    Fin




    Practica 6 problema 10





    Pseudocodigo:

    Inicio
    suman=0, sumap=0, numero, c=1, np=0, nn=0, t, r,n int
    char sigue 's';
    while(sigue=='s'||sigue=='s')
    {
    Print"Introdusca la cantidad de numeros enteros="
    Read n
    while(c<=n)
    {
    Print"introduce valor entero positivo o negativo=?"
    Read numero
    if(numero>0)
    {
    sumap=sumap+numero;
    np=np+1;
    }
    else{
    if(numero<0)
    {
    suman=suman+numero;
    nn=nn+1;
    }
    }
    c=c+1
    }
    Print "El promedio de los numero positivos es="(sumap/np)
    Read n
    print"El promedio de los numero negativos es="(suman/nn)
    Fin





    Practica 6 problema 11





    Pseudocodigo:

    Inicio
    N int
    sumaN=0, sumaP=0 int
    numero, c=1, NP=0, NN=0 int
    continuar=1 int
    while (continuar==1)
    {
    Print" Introdusca la cantidad de los numeros enteros"
    Read N
    while (c<=N)
    {
    Print" Introduce un valor entero positivo o negativo = "
    Read numero
    if (numero>0)
    {
    sumaP=sumaP + numero
    NP=NP+1
    }
    else
    {
    if (numero<0)
    {
    sumaN=sumaN + numero
    NN=NN+1
    }
    }
    c=c+1
    }
    Print" El promedio de los numeros positivos es = "(sumaP/NP)
    Print" El promedio de los numeros negativos es = "(sumaN/NN)
    Fin



    Practica 6 problema 13

    Pseudocodigo:

    Inicio
    Venta float
    n=1, v200=0, v300=0, v400=0 int
    continuar='s’ char
    while(continuar=='s'||continuar=='S')
    {
    print" Introduce la venta "N" = "
    read venta
    if(venta<=200.0)
    {
    v200=v200+1
    }
    else {
    if(venta>200.0&&venta<400.0)
    {
    v300=v300+1
    }
    else
    {
    v400=v400+1
    }
    }
    N=N+1
    Print " Registrar otra venta (s/n) = "
    Read continuar
    Print " Numero de ventas" (N-1)
    Print" Ventas menor o igual a $200.00= "v200
    Print" Ventas mayor a 200.00 pero menor $400.00= "v300
    Print" Ventas mayor o igual a $400.00= "v400
    Fin



    Practica 6 problema 14

    Pseudocodigo:
    Inicio
    c1,c2,n int
    continuar=1 int
    while (continuar==1)
    {
    Print " introduce cualquier numero entero positivo= "
    Read n
    if (n%2==0)
    {
    c1=n/2
    Print "si es Par realizar /2 = "c1
    }
    else
     {
    c2=n*3+1
    Print" si es impar realizar *3+1 = "c2
    Fin




    Practica 7 problema 1

    Pseudocodigo:
    Inicio
    nombre [20], sigue char
    tipo, sueldo, categoria int
    aumento real
    do
    {
    Print "Nombre del Trabajador "
    read nombre
    Print "Sueldo: "
    read sueldo
    do
    {
    Print "Aumento de Sueldo "
    read categoria
    switch(categoria)
    {
    case 1:aumento=1.15*sueldo
    break
    case 2:aumento=1.10*sueldo
    break
    case 3:aumento=0.8*sueldo
    break
    case 4:aumento=0.7*sueldo
    break
    case 5:aumento=0.6*sueldo
    break
    default:
    {
    Print "Error en tipo de aumento de sueldo "
    }
    categoria=0
    }
    }
    while(categoria=0)
    Print "Nombre del Trabajador: " , nombre
    Print "Aumendo del sueldo: " ,aumento
    Print "Desea Continuar (s/n): "
    read sigue
    }
    while(sigue=='s'||sigue=='S')
    Fin


    Practica 7 problema 2

    Pseudocodigo:
    Inicio
    zona int
    minutos int
    costo real
    Print "Minutos de la llamada "
    read minutos
    do
    {
    Print "zona geografica "
    read zona
    switch(zona)
    {
    case 5:costo=2.0*minutos
    Print " costo de la llamada a la zona america del norte es: ", costo
    break
    case 7:costo=2.5*minutos
    Print "costo de la llamada a la zona central es: ", costo
    break
    case 14:costo=4.0*minutos
    Print "costo de la llamada a la zona america sur es: ", costo
    break
    case 20:costo=6.5*minutos
    Print "costo de la llamada a la zona europea es: "
    break
    case 22:costo=7.0*minutos
    Print "costo de la llamada a la zona asia es: ", costo
    break
    default
    {
    Print "Error clave zona geografica"
    zona=0
    }
    }
    while(zona==1)
    Print "Desea otro calculo 1(si) 0(no)= "
    read zona
    }
    while(zona==1)
    Fin




    Practica 7 problema 3

    Pseudocodigo:
    Inicio
    nombre [20], sigue char
    tipo, edad, dias int
    costo real
    do
    {
    Print "Nombre del Pasiente "
    read nombre
    Print "Edad: "
    read edad
    Print "Dias de Hospitalizacion: "
    read dias
    do
    {
    Print "Tipo de Enfermedad "
    read tipo
    switch(tipo)
    {
    case 1:costo=25.00*dias
    break
    case 2:costo=15.00*dias
    break
    case 3:costo=20.00*dias
    break
    case 4:costo=35.00*dias
    break
    case 5:costo=48.00*dias
    break
    default:
    {
    Print "Error en tipo de Enfermedad "
    }
    tipo=0
    }
    }
    while(tipo=0)
    if(edad>=14&&edad<=22)
    {
    costo=costo*1.10
    }
    Print "Nombre del Pasiente: ",nombre
    Print "Costo de la Internacion: ",costo
    Print "Desea Continuar (s/n): "
    read sigue
    }
    while(sigue=='s'||sigue=='S')
    Fin



    Practica 7 problema 4

    Pseudocodigo:
    Inicio
    suma=0 int
    termino=3, n int
    conta=1 int

    Print "Cantidad de terminos de la serie "
    read n
    while(conta<=n)
    {
    suma=suma+termino
    Print termino ,"+"
    termino=termino+3
    conta=conta+1
    }
    Print ": ", suma
    Fin


    Practica 8 problema 1


    Pseudocodigo:
    Inicio
    vi,vf,fah,celsius,kelvin float 
    Print "valor inicial temperatura celsius: "
    read vi
    Print "valor final temperatura celsius: "
    read vf
    Print "celsius fahrenheit kelvin"
    for(celsius=vi to vf spet celsius=celsius+1)
    {
    fah=(9.0/5.0)*(celsius+32.0)
    kelvin=celsius+273.15
    Print celsius , " \t " , fah , "\t\t" , kelvin 
    }
    Fin

    Practica 8 problema 2


    Pseudocodigo:
    Inicio
    x, F, fact int
    L=5 float
    P float
    Print "cliente Probabilidad de Poisson"
    for(x=1 to 20 step x=x+1)
    {
    fact=1
    for(F=x to 1 step F=F-1)
    {
    fact=fact*F
    }
    P=pow(L,x)*exp(-1)/fact
    Print x, " " , P
    }
    Fin


    Practica 8 problema 3

    Pseudocodigo:
    Inicio
    serie=0, n, conta,termino int
    Print "Numeros de terminos de la serie"
    read n
    for(conta=1 to n step conta++)
    {
    termino=2*conta
    Print termino
    if(conta==n)
    {
    Print "="
    }
    else {
    Print "+"
    }
    serie=serie + termino
    }
    Print serie
    Fin

    Practica 8 problema 4

    Pseudocodigo:
    Inicio
    X, Y ,T float
    Print " X "
    for (X=2to 8 step X=X+0.2)
    {
    Y=4 * pow (X,3)-3* pow(X,2)-5
    Print X ," \t " ,Y
    }
    Print "\nX Y "
    for(X=1 to 5 step X=X+0.5)
    {
    Y=X+pow(X,2)/6+pow(X,4)/24
    Print X ," \t " , Y
    }
    Print "\n T Y"
    for (T=2 to 4 step T=T+0.1)
    {
    Y=4*exp(0.2*T)
    Print T ,"\t " , Y
    }
    Fin

    Practica 8 problema 5

    Pseudocodigo:
    Inicio
    x, y, v, t float
    ang=((33.5*3.1416)/180.0) float
    Print "x \t y"
    for(t=1.0;t<=20.0;t=t+0.5)
    {
    x=v*t*cos(ang)
    y=v*t*sin(ang)
    Print x , "\t" , y
    }
    Fin

    Practica 8 problema 6



    Pseudocodigo:

    Inicio
    x int
    Print "x \t x^2 \t x^3"
    for(x=1to 15 step x=x+2)
    {
    Print x , "\t" , (x*x) , "\t" , (x*x*x)
    }
    Fin


    Practica 8 problema 7



    Pseudocodigo:

    Inicio
    vi,vf,fah,celsius,kelvin float
    Print "valor inicial temperatura celsius: "
    read v
    Print "valor final temperatura celsius: "
    read vf
    Print "celsius fahrenheit kelvin"
    for(celsius=vi to vf spet celsius=celsius+1)
    {
    fah=(9.0/5.0)*(celsius+32.0)
    kelvin=celsius+273.15
    Print celsius , " \t " , fah , "\t\t" , kelvin
    }
    Fin


    Practica 9 problema 1

    Pseudocodigo:
    Inicio
    e int
    r int
    float suma=0.0
    float promedio
    float resultado
    for(e=1;e<=4;e =e+1)
    {
    suma=0.0
    print "resultados del experimento:",e
    for(r=1;r<=6;r =r+1)
    {
    print "resultado:",r," = "
    read resultado
    suma=suma+resultado
    }
    promedio=suma/6
    "print promedio de resultados del experimento:"" = ",promedio,
    }
    Fin


    Practica 9 problema 2A

    Pseudocodigo:
    Inicio
    e int
    r int
    w int
    suma=0.0 float
    promedio float
    resultado float

    for(e=1 to 4 step e =e+1)
    {
    suma=0.0
    print "resultados del experimento:",e

    print "numero de resultados:"
    read w

    for(r=1 to w r =r+1)
    {
    print "resultado:",r," = "
    read resultado
    suma=suma+resultado
    }
    promedio=suma/w
    print "promedio de resultados del experimento:"" = ",promedio
    }
    Fin


    Practica 9 problema 2B

    Pseudocodigo:

    Inicio
    e int
    r int
    suma=0.0 float
    promedio float
    resultado float
    r1 float
    r2 float
    r3 float
    r4 float
    r5 float
    r6 float
    for(e=1 to 4 step e =e+1)
    {
    suma=0.0
    print "resultados del experimento:",e,

    print "resultado 1:"
    read r1

    print "resultado 2:"
    read r2

    print "resultado 3:"
    read r3

    print "resultado 4:"
    read r4

    print "resultado 5:"
    read r5

    print "resultado 6:"
    read r6

    suma=r1+r2+r3+r4+r5+r6
    promedio= suma/6

    print "promedio de los resultados del experimento",e," = ",promedio
    }
    Fin

    Practica 9 problema 3

    Pseudocodigo:

    Inicio
    X int
    Z int
    Y int

    Print " x z y "
    Print "\n"

    for(x=1 to 10 step x=x+1)
    {
    for(z=2 to 10 step z=z+1)
    {

    Print ,x," ",z;
    if(x== z)
    {
    Print " funcion indefinida"
    }
    else
    {
    y=(pow(x,2)*(z))/(x-z)
    print " "
    }
    }
    }
    Fin


    Practica 9 problema 5

    Pseudocodigo:

    Inicio
    int c1=0
    int c2=0
    int x
    print "introducir el numero de lineas:"
    read x
    print "introducir caracter:"
    read caracter
    for(c1=1 to x step c1 = c1 + 1)
    {
    for(c2=1to c1 step c2 =c2+1)
    {
    Print " "carácter," "
    }
    Print “”
    }
    Fin

    Practica 10 problema 1



    Pseudocodigo:

    Inicio
    valores[8] int
    I int
    Suma int
    Promedio int
    for( I=0 I to 8 step I= I+1)
    {
    Print "Introduce Valores ["<<I<<"]:"
    Read valores[I]
    }
    suma=0
    for(I=0 I to 8 step I= I+1)
    {
    suma=suma+valores[I]
    }
    promedio=suma/8
    print “El Promedio es: ",promedio
    print “Valores Mayor o Igual al Promedio: "
    for(I=0 I to 7 I= I+1)
    {
    if(valores[I]>=promedio)
    {
    Print valores [I]
    }
    }
    Fin



    Practica 10 problema 2a

    Pseudocodigo:

    Inicio
    primero [10] int
    segundo [10] int
    tercero [10] int
    I int
    for(i=0 I to 10 step i= i+1)
    {
    Print "primero ["<<i<<"]:"
    Read primero[i]
    print "segundo["<<i<<"]:"
    read segundo[i]
    }
    Print "primero+segundo=tercero"
    Print "_______________________"
    for(i=0 I to 10 step i= i+1)
    {
    Print ""tercero[i]=primero[i]+segundo[i]
    print primero[i], "\t", segundo[i] ,"\t", tercero[i]
    }
    Fin



    Practica 10 problema 2b

    Pseudocodigo:

    Inicio
    primero [10] int
    segundo [10] int
    tercero [10] int
    I int
    for(i=0 I to 10 step i= i+1)
    {
    Print primero ["<<i<<"]:"
    Read primero[i]
    Print segundo["<<i<<"]:"
    Read segundo[i]
    }
    Print primero*segundo=tercero"
    Print "_______________________"
    for(i=0 I to 10 step i= i+1)
    {
    tercero[i]=primero[i]*segundo[i]
    print primero[i],"\t",segundo[i],"\t",tercero[i]
    }
    Fin




    Practica 10 problema 3a


    Pseudocodigo:

    Inicio
    valores [10] real
    desv [10] real
    total=0.0 real
    promedio real
    I int
    for(i=0 I to 10 step i= i+1)
    {
    Print "valores ["<<i<<"]:"
    Read valores[i]
    total=total+valores[i]
    }
    promedio=total/10
    for(i=0 I to 10 step i= i+1)
    {
    desv[i]=valores[i]-promedio


    }
    Print "desviacion valores"
    for(i=0 I to 10 step i= i+1)
    {
    Print desv[i], "\t\t\t",valores[i]
    }


    Practica 10 problema 3b


    Pseudocodigo:

    Inicio
    valores [10] float
    desv [10] float
    total=0.0 float
    promedio float
    varianza float
    suma=0.0 float
    I int
    for(i=0 I to 10 step i= i+1)
    {
    Print "valores ["<<i<<"]:"
    Read valores[i]
    total=total+valores[i]
    }
    promedio=total/10
    for(i=0 I to 10 step i= i+1)
    {
    desv[i]=valores[i]-promedio
    }
    Print "desviacion valores"
    for(i=0;i<10;i++)
    {
    Print desv[i],"\t\t\t",valores[i]
    }
    for(i=0 I to =9 step i= i+1)
    {
    suma=suma+pow(desv[i],2)
    }
    varianza=suma /10
    print "la varianza es",varianza
    Fin


    Practica 10 problema 3c


    Pseudocodigo:

    Inicio
    valores[10] Real
    desv[10] Real
    total=0.0 Real
    prom Real
    min=0 Real
    max=0 Real
    inter=0 Real
    b=0 Real
    a=0 Real
    i int
    for(i=0 to 10 step i=i+1)
    {
    print "Valores[", i , "]:"
    read valores[i]
    total=total+valores[i]
    }
    prom=total/10
    for(i=0 to 10 step i=i+1)
    {
    desv[i]=valores[i]-prom
    }
    print "Desviacion valores”
    for(i=0 to 10 step i=i+1)
    {
    print " ” , desv[i], " ", valores[i]
    }
    Print "Intervalo Minimo"
    for(i=0 to 10 step i=i+1)
    {
    if(desv[i]<=min)
    {
    print desv[i]
    a=a+desv[i]
    }
    }
    print "Minimo"
    print a
    print "Intervalo Maximo"
    for(i=0 to 10 step i=i+1)
    {
    if(desv[i]>=max)
    {
    print desv[i]
    b=b+desv[i]
    }
    }
    print "Maximo"
    print b
    inter=b-a
    print "Intervalo= Maximo-Minimo= "
    print inter
    Fin


    Practica 11 problema 1




    Pseudocodigo:
    Inicio
    tabla [5] [5]int
    r,cint
    suma=0.0int
    for(r=0 to 5 step r++)
    {
    for(c=0 to 5 step c++)
    {
    print,"tabla [ ",r,",",c," ]= "
    read tabla[r] [c]
    }
    }
    for(r=0 to 5 step r++)
    {
    suma=0
    for(c=0 to 5 step c++)
    {
    suma=suma+tabla[r] [c]

    Print ,tabla[r][c],"\t"
    }
    print,suma,
    }
    Fin

    Practica 11 problema 2

    Pseudocodigo:
    Inicio
    matriz[5][6] int
    i,j,mayor=0,pos int
    suma=0 int
    for(i=0 to i<5 step i+1)
    {
    for(j=0 to j<5 step j+1)
    print,"matriz [",i,",",",j,"]=?"
    read matriz [i][j]
    }
    }
    for(i=0 to i<5 step i+1)
    {
    suma=0
    for(j=0 to j<5 step j+1)
    {
    suma=suma+matriz[i][j]
    }
    matriz[i][5]=suma
    }
    matriz[i][5]=suma
    }
    for(i=0 to i<5 step i+1)
    {
    for(j=0 to j<6 step j+1)
    {
    print,matriz[i][j],"\t"
    }
    print,
    }
    for(i=0 to i<5 step i+1)
    {
    if(matriz[i][5]>mayor)
    {
    mayor=matriz[i][5]
    pos=i
    }
    }
    print,"el dato mayor es",mayor
    print,"el renglon donde esta localizado es:",pos,
    Fin

    Practica 11 problema 3

    Pseudocodigo:
    inicio
    tabla [4] [5]int
    r, cint
    suma=0.0int
    for(c=0 to 5 step c++)
    {
    suma=0.0
    for(r=0 to 4 step r++)
    {
    print "tabla [ ", r,",", c,”]=“
    readtabla[r] [c]
    suma=suma + tabla[r] [c]
    }
    Print"la suma de columna ", c," es: ", suma
    }
    Fin



    Practica 11 problema 4
    Pseudocodigo:
    Inicio
    matriz[6][4], I, J, suma=0 int
    for (I=0to5 step I+1)
    {
    for (J=0 to4 step J+1)
    {
    print,"matriz[",I,", ",J,"] = "
    read matriz[I][J]
    }
    }
    for (I=0 to 4 step I+1)
    {
    suma=0;
    for (J=0 to5 step J+1)
    {
    suma=suma+matriz[J][I]
    }
    matriz[5][I]=suma;
    }
    for (I=0 to 6 step I+1)
    {
    for (J=0; to 4 stepJ+1)
    {
    print, matriz[I][J],"\t"
    }
    print.endl
    }
    Fin

    Practica 11 problema 5

    Pseudocodigo:
    Inicio
    matriz[7][8], r, c, suma=0, mayor1=0, posc=0, mayor2=0, posr=0 int
    randomize
    print,"Matriz Original",,
    for (r=0 to6; step r+1)
    {
    suma=0;
    for (c=0 to 7 step c+1)
    {
    matriz [r][c]=random (10)
    suma=suma+matriz[r][c]
    print,matriz[r][c],"\t"
    }
    matriz[r][7]=suma
    print,
    }
    for (c=0 to 7 stepc+1)
    {
    suma=0;
    for (r=0 to 6 step r+1)
    {
    suma=suma+matriz[r][c]
    }
    matriz[6][c]=suma;
    }
    matriz[6][7]=0;
    for (c=0 to 7 step c+1)
    {
    if (matriz[6][c]>mayor1)
    {
    mayor1=matriz[6][c]
    posc=c
    }
    }
    for (r=0 to 6 step r+1)
    {
    if (matriz[r][7]>mayor2)
    {
    mayor2=matriz[r][7]
    posr=r;
    }
    }
    print,"\nMatriz con la suma de renglones y columnas",,
    for (r=0; r<7; r=r+1)
    {
    for (c=0 to 8 step c+1)
    {
    print,matriz[r][c],"\t"
    }
    print,
    }
    print,"\n";
    print,"La suma mayor del renglon ",posr," es = ",mayor2,
    read,"\n"
    print,"La suma mayor de la columnas ",posc," es = ",mayor1,
    Fin

    Practica 11 problema 6
    Pseudocodigo:
    Inicio
    A[5][5], B[5][5] int
    I,J int
    random()
    for(I=0 to 5 step I++)
    {
    for(J=0 to 5 step J++)
    {
    A[I][J]=random(1000)+1
    B[J][I]=A[I][J]
    }
    }
    Print "Matriz Original"
    for(I=0 to 5 step I++)
    {
    for(J=0 to 5 step J++)
    {
    Print A[I][J] , "\t "
    }
    Print "\n"
    }
    Print "Matriz Transpuesta"
    for(I=0 to 5 step I++)
    {
    for(J=0 to 5 step J++)
    {
    Print B[I][J] , "\t"
    }
    Print "\n"
    }
    Fin

    Practica 11 problema 7

    Pseudocodigo:
    Inicio
    A[5][5], B[5][5] int
    I,J, suma=0 int
    random()
    for(I=0 to 5 step I++)
    {
    for(J=0 to 5 step J++)
    {
    A[I][J]=random(1000)+1
    }
    }
    suma=0
    for(I=0 to 5 step I++)
    {
    suma=suma+A[I][J]
    }
    Print "La Suma de la Diagonal Principal inversa es " , suma
    suma=0
    J=4
    for(I=0 to 5 step I++)
    {
    suma=suma + A[I][J]
    J=J-1
    }
    Print "La suma de la Diagonal Inversa es " , suma
    Fin



    Practica 11 problema 8
    Pseudocodigo:
    Inicio
    a[10][10]int
    maxint
    minint
    i,jint
    randomize()
    for(i=0 to 10 step i++)
    {
    for(j=0 to 10 step j++)
    {
    a[i][j]=random(1000)+1
    }
    }
    Print"Matriz de 10 X 10"
    print” “
    for(i=0 to 10 step i++)
    {
    for(j=0 to 10 step j++)
    {
    Printa[i][j],""
    }
    print” “
    }
    for(i=0 to 10 step i++)
    {
    for(j=0 to 10 step j++)
    {
    if(a[i][j]>max)
    max=a[i][j]
    }
    }
    print "El numero máximo de la matriz es: ",max
    print” “
    for(i=0 to 10 step i++)
    {
    for(j=0 to 10 step j++)
    {
    if(a[i][j]<min)
    min=a[i][j]
    }
    }
    print “El numero mínimo de la matriz es: ",min
    Fin


    Practica 12 Problema 1



    Pseudocodigo:
    Inicio
    registro producto
    {
    noProd int
    descrip[30] char
    precio real
    cantidad int
    }
    producto Registro
    FILE*alias
    funcion void ALTA_SECUENCIAL()
    {
    no_prod int
    clrscr()
    Print "\n\rALTAS DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
    if(alias==NULL)
    alias=fopen("c:\\Datos\\PRODCTO.SEC","wb")
    Print "\n\n\n\rNumero de producto:" Read no_prod;
    fread(&Registro,sizeof(Registro),1,alias)
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\n\n\rRegistro duplicado!!!"
    fclose(alias)
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rDescripcion:" gets(Registro.descrip)
    Print "\n\rCantidad:" Read Registro.cantidad
    Print "\n\rPrecio:" Read Registro.precio
    Registro.noProd=no_prod
    fwrite(&Registro,sizeof(Registro),1,alias)
    fclose(alias)
    Print "\n\n\n\rProducto registrado!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar >>> "
    }
    Funcion void CONSULTA_SECUENCIAL(void)
    {
    no_prod int
    clrscr()
    Print "\n\rCONSULTA DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTOS.SEC","rb")
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    Print "\n\n\n\rNumero de producto:" Read no_prod;
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\rNo Prod Descripcion Cantidad precio"
    Print "\n\r------------------------------------------------------------\n\n"
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    fclose(alias)
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rNo se encuentra ese registro !!!"
    fclose(alias)
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    funcion void LISTADO_SECUENCIAL(void)
    {
    clrscr()
    Print "\n\rLISTADO DE REGISTRO DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb")
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    Print "\n\rNo Prod Descripcion Cantidad Precio"
    Print "\n\r------------------------------------------\n\n"
    fread(&Registro,sizeof(Registro),1,alias);
    while(!feof(alias))
    {
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    fread(&Registro,sizeof(Registro),1,alias)
    }
    fclose(alias)
    Print "\n\r-----------------------------------------------------------------\n\n"
    Print "\n\rFin del listado!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    menu() int
    {
    opcion int
    Print "\n\n1)alta de producto"
    Print "\n2)Consulta de producto"
    Print "\n3)Listado de productos"
    Print "\n4)Modificar datos de productos"
    Print "\n5)Salida programa"
    Print "\n\nSeleccioa opcion=?"
    Read opcion
    return opcion
    }
    funcion void MODIFICACION_SECUENCIAL(void)
    {
    no_prod int
    clrscr()
    Print "\n\rMODIFICACION DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
    if(alias==NULL)
    {
    Print "\n\n\n\r No existe el archivo!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>
    }
    Print "\n\n\n\rNumeros de producto:" Read no_prod
    fread(&Registro,sizeof(Registro),1,alias)
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\rNo prod descripcion Cantidad precio\n\n"
    Print "\n\r--------------------------------------------\n\n"
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    Print "\n\n\n\rAnote los nuevos datos..."
    Print "\n\rDescripcion:";gets(Registro.descrip)
    Print "\n\rCantidad:"; cin>>Registro.cantidad
    Print "\n\rprecio:"; cin>>Registro.precio
    fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
    fwrite(&Registro,sizeof(Registro),1,alias)
    fclose(alias)
    Print "\n\n\n\rRegistro modificado!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rNo se encuentra ese registro!!!"
    fclose(alias)
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    main() int
    {
    opc int
    do
    {
    clrscr()
    opc=menu()
    switch(opc)
    {
    case 1:
    ALTA_SECUENCIAL()
    break
    case 2:
    CONSULTA_SECUENCIAL()
    break
    case 3:
    LISTADO_SECUENCIAL()
    break
    case 4:
    MODIFICACION_SECUENCIAL()
    break
    case 5: Print "\n\nFinal programa"
    break;
    default: Print "\nError en opcion"
    }
    }
    while(opc !=5)
    Fin


    Practica 12 Problema 2


    Pseudocodigo:
    Inicio.
    registro producto
    {
    noProd int
    descrip[30] char
    precio real
    cantidad int
    }
    producto Registro
    FILE*alias
    funcion void ALTA_SECUENCIAL()
    {
    no_prod int
    clrscr()
    Print "\n\rALTAS DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
    if(alias==NULL)
    alias=fopen("c:\\Datos\\PRODCTO.SEC","wb")
    Print "\n\n\n\rNumero de producto:" Read no_prod;
    fread(&Registro,sizeof(Registro),1,alias)
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\n\n\rRegistro duplicado!!!"
    fclose(alias)
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rDescripcion:" gets(Registro.descrip)
    Print "\n\rCantidad:" Read Registro.cantidad
    Print "\n\rPrecio:" Read Registro.precio
    Registro.noProd=no_prod
    fwrite(&Registro,sizeof(Registro),1,alias)
    fclose(alias)
    Print "\n\n\n\rProducto registrado!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar >>> "
    }
    Funcion void CONSULTA_SECUENCIAL(void)
    {
    no_prod int
    clrscr()
    Print "\n\rCONSULTA DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTOS.SEC","rb")
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"


    }
    Print "\n\n\n\rNumero de producto:" Read no_prod;
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\rNo Prod Descripcion Cantidad precio"
    Print "\n\r------------------------------------------------------------\n\n"
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    fclose(alias)
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rNo se encuentra ese registro !!!"
    fclose(alias)
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    funcion void LISTADO_SECUENCIAL(void)
    {
    clrscr()
    Print "\n\rLISTADO DE REGISTRO DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb")
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    Print "\n\rNo Prod Descripcion Cantidad Precio"
    Print "\n\r------------------------------------------\n\n"
    fread(&Registro,sizeof(Registro),1,alias);
    while(!feof(alias))
    {
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    fread(&Registro,sizeof(Registro),1,alias)
    }
    fclose(alias)
    Print "\n\r-----------------------------------------------------------------\n\n"
    Print "\n\rFin del listado!!!"
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"
    }
    menu() int
    {
    opcion int
    Print "\n\n1)alta de producto"
    Print "\n2)Consulta de producto"
    Print "\n3)Listado de productos"
    Print "\n4)Modificar datos de productos"
    Print "\n5)Salida programa"
    Print "\n\nSeleccioa opcion=?"
    Read opcion
    return opcion
    }
    funcion void MODIFICACION_SECUENCIAL(void)
    {
    no_prod int
    clrscr()
    Print "\n\rMODIFICACION DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\Datos\\PRODUCTO.SEC","rb+")
    if(alias==NULL)
    {
    Print "\n\n\n\r No existe el archivo!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"

    }
    Print "\n\n\n\rNumeros de producto:" Read no_prod
    fread(&Registro,sizeof(Registro),1,alias)
    while(!feof(alias))
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\rNo prod descripcion Cantidad precio\n\n"
    Print "\n\r--------------------------------------------\n\n"
    Print Registro.noProd , setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) , Registro.precio
    Print "\n\n\n\rAnote los nuevos datos..."
    Print "\n\rDescripcion:";gets(Registro.descrip)
    Print "\n\rCantidad:"; cin>>Registro.cantidad
    Print "\n\rprecio:"; cin>>Registro.precio
    fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
    fwrite(&Registro,sizeof(Registro),1,alias)
    fclose(alias)
    Print "\n\n\n\rRegistro modificado!!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar>>>"
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rNo se encuentra ese registro!!!"
    fclose(alias)
    Print "\n\r<<<Oprima cualquier tecla para continuar>>>"

    }
    main() int
    {
    opc int
    do
    {
    clrscr()
    opc=menu()
    switch(opc)
    {
    case 1:
    ALTA_SECUENCIAL()
    break
    case 2:
    CONSULTA_SECUENCIAL()
    break
    case 3:
    LISTADO_SECUENCIAL()
    break
    case 4:
    MODIFICACION_SECUENCIAL()
    break
    case 5: Print "\n\nFinal programa"
    break;
    default: Print "\nError en opcion"
    }
    }


    while(opc !=5)


    funcion void BAJA_LOGICA_SECUENCIAL(void)
    {
    no_prod int
    op char
    clrscr()
    Print "\n\rBAJAS LOGICAS DE REGISTROS DE PRODUCTOS"
    alias=fopen("c:\\datos\\PRODUCTO.SEC","rb+")
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo !!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
    }
    Print "\n\n\n\rNumero de producto: " Rad no_prod
    fread(&Registro,sizeof(Registro),1,alias)
    {
    if(Registro.noProd==no_prod)
    {
    Print "\n\rNo Prod Descripcion Cantidad Precio "
    Print "\n\r---------------------------------------------------------------\n\n"
    Print Registro.noProd<<setw(20) , Registro.descrip , setw(10) , Registro.cantidad , setw(10) . Registro.precio
    Registro.noProd=0
    strcpy(Registro.descrip,"")
    Registro.cantidad=0
    Registro.precio=0.0
    do {
    Print "\n\n\rEsta seguro que desea borrarlo? [S/N] ---> "
    op=toupper(getche())
    }while(op!='S' && op!='N')
    if(op=='S')
    {
    fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET)
    fwrite(&Registro,sizeof(Registro),1,alias);
    Print "\n\n\n\rRegistro eliminado !!!"
    }
    fclose(alias)
    Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
    }
    fread(&Registro,sizeof(Registro),1,alias)
    }
    Print "\n\rNo se encuentra ese registro !!!"
    fclose(alias)
    Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
    }
    funcion void BAJA_FISICA_SECUENCIAL(void)
    {
    FILE *temporal
    clrscr()
    Print "\n\rBAJAS FISICAS DE REGISTROS DE PRODUCTOS" alias=fopen("C:\\datos\\PRODUCTO.SEC","rb");
    if(alias==NULL)
    {
    Print "\n\n\n\rNo existe el archivo !!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar >>>"


    }
    temporal=fopen("C:\\datos\\TEMPORAL.TMP","wb");
    fread(&Registro,sizeof(Registro),1,alias)


    while(!feof(alias))
    {
    if(Registro.noProd!=0)
    fwrite(&Registro,sizeof(Registro),1,temporal)
    fread(&Registro,sizeof(Registro),1,alias)
    }
    fcloseall()
    remove("C:\\datos\\PRODUCTO.SEC")
    rename("C:\\datos\\TEMPORAL.TMP","C:\\datos\\PRODUCTO.SEC")
    Print "\n\n\n\rArchivo compactado !!!"
    Print "\n\r<<< Oprima cualquier tecla para continuar >>>"
    }
    Fin

  2. Tarea 1. Importancia de la programación estructurada

    La programación estructurada podemos concluir que es un conjunto de notaciones y convenios que el programador puede seguir para producir programas. La programación estructurada es importante para que el programador pueda seguir una disciplina de programación y a su vez proporcionar conceptos, técnicas, herramientas, estructurar para la construcción de programas de alta calidad. Al aplicar la disciplina, conceptos, técnicas etc. se podrán producir programas bien pensados, cuyas soluciones lógicas son seguidas fácilmente, reducir el tiempo de prueba y duración, aumentar la productividad del programador.Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están mas ligadas o relacionadas entre sí, por lo que es más fácil comprenderlo que hace cada función.


    Programa ´´Java

    Java es un lenguaje totalmente orientado a objetos, con notables características como manejo automático de memoria, ejecución multiplataforma, soporte de múltiples hilos de ejecución, y una extensa librería de clases. muy rico en construcciones, y lo bastante completo como para considerarlo de propósito general, es multiplataforma: su código compilado puede ejecutarse en cualquier ambiente que tenga implementada una máquina virtual el lenguaje Java.

    En conclusión ami me queda entendido que la programación estructurada es mas que simples numero y letras ordenados, si no que gracias a estos y a un software se pueden producir programas para facilitar y controlar diferentes dispositivos fácilmente.



    Cuestionario 


    1.-Que diferencia existe entre un programación y un lenguaje de programación.

    El lenguaje de programación está conformado por una serie de reglas sintácticas u semíticas que serán utilizadas para crear un programa y la programación es pasa diseñar, codificar y mantener el código fuente. El código es escrito en el lenguaje de programación.

    2.-Explique la diferencia entre un lenguaje orientado a procedimientos y lenguaje orientado a objetos.

    El lenguaje orientado a objetos diseña aplicaciones y programas de computadora, y el y el lenguaje orientado a procedimientos requiere una cierta disciplina, se tiene que escribir el código con un cierto orden para poder resolver un problema.

    3. Explique la diferencia entre un compilador y un intérprete.

    El compilador traduce los programas escritos el lenguaje de alto nivel a lenguaje maquina, y un intérprete, es el traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta.

    4.-Explique las etapas de diseño y desarrollo de un programa.

    Cada versión importante de un producto pasa generalmente a través de una etapa en la que se agregan las nuevas características (etapa alfa), después una etapa donde se eliminan errores activamente (etapa beta), y finalmente una etapa en donde se han quitado todos los bugs importantes (etapa estable).

    5.-Haga un ejemplo de un algoritmo.

    Cambiar la llanta ponchada de un automóvil.

    Inicio
    Paso 1. Aflojar los tornillos de la rueda pinchada con la llave inglesa.
    Paso 2. Ubicar el gato mecánico en su sitio. 
    Paso 3. Levantar el gato hasta que la rueda pinchada pueda girar libremente.
    Paso 4. Quitar los tornillos y la rueda pinchada. 
    Paso 5. Poner rueda de repuesto y los tornillos. 
    Paso 6. Bajar el gato hasta que se pueda liberar. 
    Paso 7. Sacar el gato de su sitio. 
    Paso 8. Apretar los tornillos con la llave inglesa. 
    Fin

    6.-Explique que es un diagrama de flujo.

    Es un grafico lógico del plan de trabajo que se ejecutara para la solución de un determinado problema. A través de él, se planifica la solución del problema independiente del lenguaje de computación a usar. De esta manera se separa loas instrucción es un lenguaje determinado con todas las reglas.

    7.-Haga un ejemplo de la solución de un problema por medio del diagrama de flujo.

    Algoritmo y Diagrama de Flujo para calcular el área de un círculo donde: a= ¶ * r2

     Identificación de variables y análisis de proceso:

    a= 0
    r= 0
    ¶= 3,14

    8.-Explique la diferencia entre hardware y software.

    El hardware son los componentes físicos del ordenador, es decir, todo lo que se puede ver y tocar, el software son la instrucciones que el ordenador necesita para funcionar, no existen físicamente, no se pueden ver ni tocar.

    9.-Explique las unidades básicas de un computadora.


    1. Unidad de entrada

    Unidades de entrada se compone de dispositivo de entrada . Dispositivos de entrada se utilizan para introducir datos e instrucciones en la memoria del ordenador. Ejemplos de dispositivos de entrada son el teclado, ratón, joystick y micrófono, etc.

    2. Unidad de salida

    Unidad de salida consta de dispositivos de salida . Los dispositivos de salida se utilizan para mostrar los resultados producidos por el equipo después de procesamiento de datos. Ejemplos de dispositivos de salida son del monitor, impresora, plotter y el altavoz, etc.

    3. Unidad central

    Unidad central de proceso también se denomina CPU o procesador . Es el cerebro del ordenador. Se realiza el procesamiento de datos. Se controla las operaciones generales y los componentes del ordenador.

    4. Unidad de memoria

    La unidad de memoria se compone de dispositivos de memoria para almacenar datos. Por ejemplo RAM es el ejemplo más común de memoria.

    5. Unidad de almacenamiento.

    Unidad de almacenamiento consta de medios de almacenamiento . Soportes de almacenamiento se utilizan para almacenar grandes cantidades de datos de forma permanente. Ejemplos de medios de almacenamiento son el disco duro, CD, DVD y discos Zip etc.

    10.-Escriba un algoritmo para encontrar el número menor y mayor de tres números.

    Inicio
    Paso 1. Saber que numero elegir.
    Paso 2. Saber contar.
    Paso 3. Buscar los números menores.
    Paso 4. Buscar los numero mayores.
    Fin


    Unidad II

    Operadores Aritméticos, Racionales y lógicos

    Un operador es un símbolo especial que indica al compilador que debe efectuar una operación matemática o lógica.
    C++ reconoce los siguientes operadores aritméticos:

    Operador Operación:
    + SUMA
    - RESTA
    * MULTIPLICACION
    / DIVISION
    % MODULO O RESIDUO

    Como notas importantes a recordar siempre;
    En problemas de división entre enteros, C++ trunca la parte residual, es decir
    </code> área de declaración de variables float a; área de operaciones
    a = 10 / 4;

    área de despliegue de resultados desplegar a; → En pantalla sale ( 2.000000 ) </code> El problema no es el tipo float, sino que por definición de la división entre enteros C++ siempre trunca la parte residual, mas adelante se indica como se resolverá este problema. El operador (%) devuelve el residuo entero de una división entre enteros, ejemplo; <code> área de declaración
    int alfa;

    área de operaciones alfa = 23 % 4; área de despliegue
    desplegar alfa; → El resultado en pantalla es 3

    Para resolver los problemas de potencias y raíces, se usan ciertas instrucciones especiales que proporciona el lenguaje, llamadas funciones matemáticas, en C++ existe toda una librería de instrucciones o funciones matemáticas.

    Recordar que todas las funciones reciben uno o más datos o valores y regresan siempre un resultado, una de estas funciones matemáticas es:
    #include <math.h>
    double pow(double base, double exp);

    Esta función ocupa dos valores o datos( base y exp) ambos de tipo double, y regresa un resultado también de tipo double.

    Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un resultado booleano

    Si la propuesta es cierta, el resultado es true (un valor distinto de cero), si es falsa false (cero). C++ dispone de los siguientes:
    < Menor que
    > Mayor que
    <= Menor o igual que
    >= Mayor o igual que
    == Igual que (identidad
    != Desigual que (desigualdad

    Tipos de datos en c++


    Secuencias de escape

    \a 0x07 BEL Sonido audible (bell)
    \b 0x08 BS Retroceso (backspace)
    \f 0x0C FF Salto de formato (formfeed)
    \n 0x0A LF Saltar una línea (linefeed)
    \r 0x0D CR Retorno de carro (carriage return)
    \t 0x09 HT Tabulación horizontal (H Tab)
    \v 0x0B VT Tabulación vertical (V Tab)
    \\ 0x5c \ Barra invertida (backslash) [2]
    \' 0x27 ' Apóstrofo (comilla simple)
    \" 0x22 " Doble comilla
    \? 0x3F ? Interrogación
    \O cualquiera cualquiera O = cadena de hasta tres dígitos octales
    \xH cualquiera cualquiera H = cadena de dígitos hexadecimales
    \XH cualquiera cualquiera H = cadena de dígitos hexadecimales 

    Precedencia y asociación de operadores 
    Grupo
    Operadores
    Primario
    [] {x:y} () f(x) new x.y x[y]
    Sufijo
    x++ x--
    Unario
    ++x --x + - ~ ! delete typeof void
    Multiplicativo
    * / %
    Aditivo
    + -
    Desplazamiento en modo bit
    << >> >>>
    Relacional
    < > <= >= instanceof
    Igualdad
    == != === !==
    AND en modo bit
    &
    XOR en modo bit
    ^
    OR en modo bit
    |
    AND lógico
    &&
    OR lógico
    ||
    Condicional
    ?:
    Asignación
    = *= /= %= += -= <<= >>= >>>= &= ^= |=
    Coma
    ,


    Manipuladores de flujo

    1 2 3 4 5 6 7 8 9 10 11 12 13
    #include <iostream> using std::cout ; using std::endl; int main() { cout << "Bienvenido a "; cout << "C++!"; cout << endl; // fin del manipulafor de flujo return 0; } // fin de la función end main

    Los manipuladores son constantes y/o métodos que constituyen una alternativa a los indicadores. Se pueden introducir en la propia sentencia de entrada o salida. Los manipuladores pueden tener argumentos o no tenerlos. Los manipuladores sin argumentos (endl, flush, etc.) están definidos en iostream.h. Los que tienen argumentos están declarados en iomanip.h. Un manipulador sólo afecta al flujo (cin, cout, etc.) al que se aplica.

    El inconveniente de los manipuladores frente a los indicadores es que no permiten guardar la configuración anterior y por tanto volver a ella de una forma general y sencilla.

    Los manipuladores de entrada/salida más utilizados se citan a continuación:
    dec, hex y oct: establecen base para enteros ws: se saltan los blancos iniciales
    endl: se imprime un ‘\n’ y se vacía el buffer de salida
    flush: se vacía el buffer de salida
    setw(int w): establece la anchura mínima de campo
    setprecision(int p): establece el número de cifras
    setfill(char ch): establece el carácter de relleno
    setiosflag(long i) equivale al indicador setf()
    unsetiosflag(long i) equivale a unsetf()

    Un manipulador se utiliza de la forma:
    cout << hex << 100;
    cout << setw(10) << mat[i][j] << endl;

    El efecto de los manipuladores permanece en el flujo correspondiente hasta que se cambian por otro manipulador, a excepción de setw() que hay que introducirlo en el flujo antes de cada dato al que se le quiera aplicar esa anchura de campo.

    Unidad 3

    Tarea 1

    Cuestionario:

    1- ¿Es la funcion que se conoce como la funcion llamada?
    Encotrar mas()
    2- ¿Esta función que hace la lladama se le conoce como función que llama?
     Main()
    3- ¿Antes que una función pueda ser llamada debe ser?
    Declarada
    4- ¿La instrucción de declaración para una función se conoce como?
    Prototipo de función
    5- ¿Qué hace el prototipo de función?
     Indica a la función que llama el tipo de valor que será devuelta formalmente
    6- ¿La forma general de las instrucciones de prototipos de función es?
    Tipo de datos a devolver nombre de funcion(lista de tipos de datos para los argumentos)
    7- ¿Qué declara el prototipo defunción para Fmax()?
    Que la función espera recibir dar argumentos en numero entero y devolverá de manera formal un valor en numero entero.
    8- ¿Qué declara el prototipo de función para intercambio()?
    Declara que esta función requiere cuatro argumentos consistentes en un numero entero, dos caracteres y un argumento de precisión doble.
    9- ¿Qué declara el prototipo de función para desplegar()?
    Esta función requiere dos argumentos de precisión doble no devuelve ningún valor.
    10- ¿De que sirve el uso de prototipos de función?
    Permite la verificación de errores en los tipos de datos por el compilador.
    11- ¿Cuales son las dos partes que consta toda función en C++?
    Encabezado de función y cuerpo de función
    12- ¿Los nombres de argumentos en el encabezado se conocen como?
    Parámetros formales de la función
    13- ¿Qué es un cabo?
    Es el comienzo de una función final que se puede usar como un sustituto de la unidad final hasta que la unidad esta completa.
    14- ¿Cuando son útiles los argumentos por omisión?
    Cuando se extiende una función existente para incluir mas características que requieren argumentos adicionales.
    15- ¿Capacidad de usar el mismo nombre de función para más de una función?
    Sobrecarga de función
    16- ¿Qué se necesita para usar de manera formal el mismo nombre de la función?
    Que el compilador pueda distinguir cual función seleccionar con base en los tipos de datos de los argumentos cuando es llamada la función.
    17- ¿Qué es una platilla de la función?
    Es una función única completa que sirve como modelo para una familia de funciones
    18- ¿Nombre de la línea que informa al compilador que la función que sigue inmediatamente es una plantilla que usa un tipo de datos nombrado T?
    Prefijo de pantalla
    19- ¿Qué representa la letra T?
    Un tipo de dato.
    20- ¿Qué significa cada cosa mostrada a continuación?
    Nombre-de-la-función (datos transmitidos a la función)
    Función llamada transmite datos a la función

    Problema 1
    Pseudocodigo:
    Inicio
    void revisar(int n1, double x, double y)
    {
    Print "El valor entero es:", n1
    Print "El primer valor de doble presicion es:", x
    Print "El segundo valor de doble presicion es:", y
    getch()
    return
    }
    int main()
    {
    n1 int
    x double
    y double
    Print "Introdouce un valor entero y dos de doble presicion"
    Print " "
    read1
    read x
    read y
    revisar(n1,x,y)
    }
    Fin

    Problema 2
    Pseudocodigo:
    Inicio
    void revisar(int n1, int n2, double v, double w, double x, double y, double z)
    {
    Print "Los valores enteros son:", n1, ", ", n2
    Print "Los valores de doble presicion son:", v, ", ", w, ", ", x, ", ", y, ", ", z
    getch()
    return
    }
    int main()
    {
    n1 int
    n2 int
    v double
    w double
    x double
    y double
    z double
    Print "Introdouce dos valores enteros y cinco de doble presicion"
    read n1
    read n2
    read v
    read w
    read x
    read y
    read z
    revisar(n1,n2,v,w,x,y,z)
    }
    Fin
    Problema 3
    Pseudocodigo:
    Inicio
    template <class V>
    void encontrarabs(V numero)
    {
    if(numero<0)
    numero=-numero
    Print "El valor absoluto del numero es: ", numero
    return
    }
    int main()
    {
    num1 double
    Print "Introdusca un numero de presicion doble:"
    read num1


    encontrarabs(num1)
    getch()
    return 0
    }
    Fin


    Problema 4
    Pseudocodigo:
    Inicio
    template <class V>
    void encontrarabs(V numero)
    {
    if(numero<0)
    numero=-numero
    Print "El valor absoluto del numero es: ", numero
    return
    }
    int main()
    {
    n1 double
    n2 double
    n3 double
    Print "Introdusca el primer numero: "
    read n1
    Print "Introdusca el segundo numero: "
    read n2
    Print "Introdusca el tercer numero: "
    read n3
    encontrarabs(n1)
    encontrarabs(n2)
    encontrarabs(n3)
    getch()
    return 0
    }
    Fin
    Problema 5
    Pseudocodigo:
    Inicio
    void mult(real n1,real n2)
    {
    float t
    t=n1*n2
    Print "El resultado es: ", t
    getch()
    return
    }
    int main()
    {
    n1 real
    n2 real
    Print "Introdusca un primer numero: "
    Read n1
    Print "Introdusca un segundo numero: "
    Read n2
    mult(n1, n2)
    }
    Fin

    Problema 6
    Pseudocodigo:
    Inicio
    void mult(real n1,real n2,real n3,real n4,real n5)
    {
    t real
    t=n1*n2*n3*n4*n5
    Print "El resultado es: ", t
    getch()
    return
    }
    int main()
    {
    n1 real
    n2 real
    n3 real
    n4 real
    n5 real
    Print "Introdusca un primer numero: "
    read n1
    Print "Introdusca un segundo numero: "
    read n2
    Print "Introdusca un tercer numero: "
    read n3
    Print "Introdusca un cuarto numero: "
    read n4
    Print "Introdusca un quinto numero: "
    read n5
    mult(n1, n2, n3, n4, n5)
    }
    Fin

    Problema 7
    Pseudocodigo:
    nicio
    void al_cuadrado(double n)
    {
    r1 double
    r1=pow(n,2)
    Print "Resultado es: ", r1
    getch()
    return
    }
    int main()
    {
    n double
    Print "Introduca un numero: "
    read n
    al_cuadrado(n)
    }
    Fin

    Problema 8
    Pseudocodigo:
    Inicio
    void al_cuadrado(double n1, double n2, double n3, double n4)
    {
    r1 double
    r2 double
    r3 double
    r4 double
    r1=pow(n1,2)
    Print "El resultado del cuadrado del primer numero es: ", r1
    r2=pow(n2,2)
    Print "El resultado del cuadrado del segundo numero es: ", r2
    r3=pow(n3,2)
    Print "El resultado del cuadrado del tercer numero es: ", r3
    r4=pow(n4,2)
    Print "El resultado del cuadrado del cuarto numero es: ", r4
    getch()
    return
    }
    int main()
    {
    n1 double
    n2 double
    n3 double
    n4 double
    Print "Introduca el primer numero: "
    read n1
    Print "Introduca el segundo numero: "
    read n2
    Print "Introduca el terecero numero: "
    read n3
    Print "Introduca el cuarto numero: "
    read n4
    al_cuadrado(n1, n2, n3, n4)
    }
    Fin



    Tarea 2




    Cuestionario:

    1- Al utilizar el metodo de transmitir datos la funcion llamada solo recibe?
     Copias de los valores contenidos en los argumentos en el momento de la llamada.
    2-Cuando se transmite un valor a una funcion invocada de esta manera el argumento transmitido se conoce como?
    Transmitido por valor
    3- Que puede procesar la funcion que recibe los argumentos transmitidos por valor?
    Los valores que se le envien en cualquier forma deseada.
    4-Que se requiere para devolver en forma directa una valor?
    Que la interfaz entre la funcion llamada y la que llama se maneje en forma correcta.
    5-Cuales son los 2 elementos que la funcion llamada debe proporcionar?
    El tipo de datos del valor devuelto.
    El valor real que se devuelve
    6- Una funcion que devuelve un valor que debe especificar?
    En su linea de encabezado, el tipo de datos del valor que se devolvera.
    7-void encontrarmax(int x, int y) x Y y que son?
    Son los nombres elegidos para los parametros de la funcion
    8-Para devolver un valor, una funcion debe usar?
    Una instruccion de devolucion
    9-Al aplicarla en el programa que forma tiene?
    return expresiom;
    10-Para alertar a la funcion que llama acerca del tipo de valor devuelto que debe esperar se utiliza?
    El prototipo de funcion
    11- Que alerta lo siguiente a main()- int encontrarmax(int, int)?
    Que encontrarmax es una funcion que devolvera un valor entero
    12- Que es lo que hay que proporcionar para usar un valor devuelto?
    Una variable para almacenar el valor o usar el valor en forma directa en una expresion.
    13-Cual es el proposito de las declaraciones?
    Alertar a la computadora de la cantidad de almacenamiento interno reservado para los datos.
    14-Que ejecuta el prototipo convertir_temp()?
    Alerta al compilador del tipo de almacenamiento necesario para el valor devuelto
    15-Que es la memoria pila?
    Region de memoria reservada a la que funcion tiene acceso.
    16-Cuando la funcion que llama recibe valoresde la funcion de la que llama,almacena y manipula los valores transmitidos y devuelve en forma directa cuando mucho un valor unico, cuando se transmiten los datos de esta manera se conoce como?
    Transmision por valor.
    17-Que permite llamar a una funcion y transmitir argumentos por valor?
    Que se escriban como entidades independientes que puedan usar cualquier nombre de variable sin preocuparse que otras funciones usen el mismo nombre.
    18- La transmision de direccion se conoce como funcion de?
    Transmision por referencia
    19-Cuales son los dos parametros de direccion que proporciona C++?
    Referencias y apuntadores
    20-Cuales son las precauciones al usar argumentos de referencia
    No constantes, solo variables
    Es que una llamda a funcion en si no da indicio de que la funcion llamada usara parametros de referencia

    Problema 1
    Pseudocodigo:
    Inicio funcion
    void obtrec(double&, double&)
    void polar(double, double, double&, double&)
    void mostrarlo(double, double)
    {
    x double
    y double
    distancia double
    angulo doubl
    obtrec(x, y)
    polar(x, y, distancia, angulo)
    mostrarlo(distancia, angulo)
    return 0
    }
    void obtrec(double& x, double& y)
    {
    Print "Programa de conversion de coordenadas", " rectangulares a polares",
    Print "Introdusca la coordenada x: "
    read x
    Print "Introdusca la coordenada y: "
    read y
    return
    }
    void polar(double x, double y, double r, double theta)
    Inicio programa
    {
    const double A_GRADOS=180.0/3.141593
    r=sqrt(x*x+y*y)
    theta=atan(y/x)*A_GRADOS
    return
    }
    void mostrarlo(double radio, double angulo)
    Final funcion
    {
    Print "Las coordenadas polares son: ",
    Print "Distancia desde el origen: ", radio,
    Print "Angulo(en grados) respecto al eje x: ", angulo,
    return
    }
    Fin

    Problema 2


    Pseudocodigo:
    Incio funcion
    funcion void cargaC(float E,float A, float L, float r)
    {
    carga float
    carga=pow(3.1416,2)*E*A/pow((L/r),2)
    Print "La carga critica es de: ", carga
    getch()
    return
    }
    final funcion
    Inicio programa
    {
    E float
    A float
    L float
    r float
    Print "Introduce la elasticidad del material usado=?”
    read E
    Print "introduce el area de corte transversal=?”
    read A
    Print "introduce el largo de la columna=?”
    read L
    Print "introduce el radio del giro=?”
    read r
    cargaC(E,A,L,r)
    }
    Fin


    Problema 3

    Pseudocodigo:
    Incio funcion
    funcion void cargaC(float E,float A, float L, float r)
    {
    carga float
    carga=pow(3.1416,2)*E*A/pow((L/r),2)
    Print "La carga critica es de: ", carga
    getch()
    return
    }
    final funcion
    Inicio programa
    {
    I int
    n int
    j int
    E float
    A float
    L float
    r float
    Print "Numero de cargas criticas a calcular=? "
    read n
    for(i=0 to n step i=i+1)
    {
    Print "Introduce la elastricidad del material usado=?”
    read E
    Print "introduce el area de corte transversal=?”
    read A
    Print "introduce el largo de la columna=?”
    read L
    Print "introduce el radio del giro=?”
    read r
    cargaC(E,A,L,r)
    }
    }
    Fin



    Problema 4

    Pseudocodigo:
    Inicio funcion
    funcion void entero(int n)
    {
    print "El valor entero es: ", n
    getch()
    return
    }
    Final funcion
    Inicio programa
    {
    n int
    print "Introduce un valor=? "
    read n
    entero(n)
    }
    Fin





    Problema 5

    Pseudocodigo:
    Inicio funcion
    funcion void entero(int n)
    {
    print "El valor entero es: ", n
    getch()
    return
    }
    Final funcion
    Inicio programa
    {
    I int
    m int
    n float
    Print "Numero de valores=?”
    read m
    for(i=0 to m step i=i+1)
    {
    print "Introduce un valor=? "
    read n
    entero(n)
    }
    }
    Fin



    Problema 6


    Pseudocodigo:
    Inicio funcion
    void cambio(int dolares,int cien=100,int cincuenta=50,int veinte=20,int diez=10,int cinco=5,int uno=1)
    {
    conv_dls float
    switch(dolares)
    {
    case 100:
    conv_dls=cien/11.00
    print cien, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    case 50:
    conv_dls=cincuenta/11.00
    print cincuenta, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    case 20:
    conv_dls=veinte/11.00
    print veinte, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    case 10:
    conv_dls=diez/11.00
    print diez, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    case 5:
    conv_dls=cinco/11.00
    print cinco, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    case 1:
    conv_dls=uno/11.00
    print uno, " en cambio en dolares es: ", conv_dls, " dlls"
    break
    default:
    print "introduce otra cantidad”
    getch()
    return
    }
    }
    Final funcion
    Inicio programa
    {
    dolares int
    print "Cantidades $100, $50, $20, $10, $5, $1 "
    print "introdusca la cantidad de convertir de pesos a dolores"
    read dolares
    cambio(dolares)
    getch()
    }
    Fin

    Problema 7

    Pseudocodigo:
    Inicio funcion
    void tiempo(int segundos)
    {
    hora int
    min int
    seg int
    if(segundos<=60)
    {
    print "Los segundos introducidos equivalen a ", segundos, " segundos",
    }
    else
    {
    if(segundos>=60)
    {
    min=segundos/60
    print "Los segundos introducidos equivalen a ", min, " minutos",
    }
    else
    {
    if(min>=60)
    {
    hora=min/60
    print hora
    }
    }
    }
    getch()
    return
    }
    Final funcion
    Inicio programa
    {
    hora int
    min int
    seg int
    segundos int
    print "Introdusca la cantidad de segundos=? "
    read segundos
    tiempo(segundos)
    getch()
    }
    Fin

    Tarea 3

    Cuestionario:

    1- Que recibe en una invocación de una función típica la función llamada?
    Recibe valores de la funcion que llama
    2-Cuando se dice que es una transmision por valor?
    Cuando se almacena y manipula los valores transmitidos y devuelve de forma directa un valor unico
    3-Llamar a una funcion y transmitir argumentos por valor es una ventaja de que programador?
    Programador C++
    4- Como se conoce la transmision de direcciones?
    Como funcion de transmision por referencia
    5-Cuales son los dos tipos de parametros de direccion que proporciona C++?
    Referencia y apuntadores
    6-Que hace la instruccion valnuevo?
    Llama a la funcion llamada valnuevo y le transmite dos argumentos
    7-Cuales son unos de los primeros requisitos al escribir la instruccion valnuevo()?
    Es declarar dos parametros de de referencia para aceptar direcciones transmitidas.
    8-Da un ejemplo de la instruccion valnuevo en x programa?
    void valnuevo(double& num1, double& num2)
    9-Como es en forma escrita el esquema inicial de un programa de computadora?
    Por lo general es una descripcion seudocodigoo un diagrama de estructura de primer nivel
    10-Para que sirve ese esquema?
    Hace un problema complicado en un conjunto de tareas mas pequeñas y manejables
    11-Cual es el algoritmo de un esquema general aplicable a muchas tareas de ingenieria y cientificas?
    Obtener las entradas del problema
    -Calcular el resultado deseado
    -Reportar los resultados del calculo
    12- Obtener las entradas, calcular el resultado y reportar los resultados se le hace referencia a ese algoritmo como?
    Algoritmo para resolver problemas
    13-La funcion polar en su linea de encabezado que declara?
    Si la funcion devolvera o no devolverda de forma directa algun valor
    14-Como puede probarse la instruccion polar en el programa?
    Escribiendo una funcion controladora dedicada que solo llama a polar
    15-Cuales son los 2 compiladores de C++ para crear numeros?
     rand() y srand()
    16-Que hace la funcion rand()?
    Produce una serie de numeros aleatorios en el rango 0<rand<rand_max donde la constante rand_max sedefine en el archivo de encabezado cmath.
    17-Que hace la funcion srand?
    Produce un valor "semilla"inicial para rand()
    18-Que pasa si no se usa srand o otra tecnica de sembrado?
    Producira siempre la misma serie de numeros aleatorios
    19-El metodo para ajustar los numeros aleatorios producidos por un generador de numeros aleatorios para que residan dentro de dichos rangos se llamaa?
    Escalonamiento
    20-Que expresion puede usarse para producir un numero entero aleatorio?
    1+rand()%N


    Problema 6.3

    Pseudocodigo:
    funcion encontrarMax(int, int)
    inicio funcion
    {
    primernum int
    segundonum int
    max int
    print "Introduzca el primer numero: "
    read primernum
    print "Introduzca el segundo numero: "
    read segundonum
    max=encontrarMax(primernum, segundonum)
    print "El maximo de los dos numeros es: ", max
    print "EL valor almacenado en max es: ", max
    final funcion
    incio programa
    funcion encontrarMax(int x, int y)
    {
    numMax int
    if(x>=y)
    {
    numMax=x
    }
    else
    {
    numMax=y
    }
    return numMax
    }
    Fin


    Problema 6.4

    Pseudocodigo:
    Funcion calcradioarea(float r , float a)
    inicio funcion
    {
    print "El radio es: ", r
    print "El area es: ", a
    }
    final funcion
    inicio programa
    int main()
    {
    r float
    a float
    c float
    print "Introduce la circuferencia del circulo: "
    read c
    r=c/(2*3.1416)
    a=(3.1416)*pow(r,2)
    calcradioarea(r , a)
    Fin



    Problema 6.5

    Pseudocodigo:
    funcion encontrarDistancia(float d)
    inicion funcion
    {
    print "La distancia entre los dos puntos es: ", d
    }
    final funcion
    inicio programa
    {
    x1 float
    y1 float
    x2 float
    y2 float
    d float
    print "Introdusca las coordenadas del primer punto: "
    read x1
    read y1
    print "Introdusca las coordenadas del segundo punto: "
    read x2
    read y2
    d=sqrt(pow(x2-x1,2)+pow(y2-y1,2))
    encontrarDistancia(d)
    Fin


    Tarea 4

    Manejo de archivos en C++

    1- Por que surge la necesidad de utilizar archivos?
    Por que antes era difícil transportar la información de una computadora a otra.
    2- Antes en que tipo de memoria se almacenaba la información?
    En la memoria RAM
    3- Que desventaja tiene la memoria RAM a comparación de el almacenamiento de datos?
    De que si la computadora se apaga los datos se pierden por completo
    4- Responda con si o no la sig. Pregunta. Los archivos procesan datos?
    No
    5- Que hacen los archivos?
    Solo almacenan los datos
    6- Mencione las tres partes que conforman a un microprosedor en la interacción entre la memoria principal El microprocesador y los archivos?
    ALU, Unidad de control, Registros
    7- Como se llama el proceso que enlaza a la memoria RAM con archivo?
    Proceso de grabar datos en el archivo
    8- Como se llama el proceso que enlaza a ARCHIVO con la memoria RAM?
    Proceso de carga de datos a la memoria
    9- Cuales son los dispositivos de almacenamiento secundario?
    diskettes, discos duros, CDs, flash drives, etc.
    10- Que hacen los dispositivos de almacenamiento secundario?
    Estos dispositivos no procesan datos solo almacenan datos.
    11- Que es un dato en computacion?
    se refiere a los testimonios individuales relacionados con hechos, ya sean características de ciertos objetos de estudio o condiciones particulares de situaciones dadas.
    12- Que es registro en computacion?
    Es el conjunto completo de datos relacionados pertenecientes a una entrada.
    13- Que es archivo en computacion?
    es una colección de datos que tiene un nombre y se guardan en dispositivos de almacenamiento secundario, los cuales pueden ser magnéticos, ópticos, electrónicos, etc.
    14- El modo de operación de un archivo a que es asociado?
    A un archivero de una oficina
    15- Que es lo que requiere un archivo abierto para poder realizar operaciones en el?
    Un alias
    16- Cuales son las 2 clasificaciones de archivo por contenido?
    Texto y binarios
    17- Que son los archivos de texto?
    Son aquellos que pueden contener cualquier clase de datos y de tal manera que son “entendibles” por la gente.
    18- Cual es el código para que los datos de un archivo de texto se almacenen?
    ASCII
    19- Que hacen los archivos binarios?
    Este tipo de archivos almacenan los datos numéricos con su representación binaria.
    20- Como se clasifica la forma de acceder los datos de los archivos?
    Secuenciales y directos.
    21- De que otra forma también se les conoce?
    Acceso directo, relativo o aleatorio
    22- Que son los archivos secuenciales?
    En este tipo de archivos los registros se graban en secuencia o consecutivamente y deben accesarse de ese mismo modo.
    23- Para que sirve la función EOF(endo of file)?
    Para identificar donde termina el archivo en archivos secuenciales
    24- Para que sirve el calculo de direcciónes físicas?
    Para reposicionar el apuntador de un archivo en un registro especifico
    25- Los archivos de lenguaje C++ que tipo de direccones usa?
    Fisicas.

    Tarea 5

    Cuestionario:

    1- Que cosas se necesitan para almacenar y recuperar datos fuera de un programa en C++?
    Un archivo y un objeto de flujo de archivos
    2-Que es un archivo?
    Es una coleccion de datos almacenados juntos bajo un nombre comun, por lo general en un disco, cinta magnetica o CD-ROM
    3-De que forma se almacena un archivo en un medio externo como un disco?
    De forma fisica.
    4-Cada archivo tiene un nombre de archivo unico conocido como?
    Nombre externo del archivo
    5-Que es el nombre externo de archivo?
    Es la manera en que es conocido el archivo por el sistema operativo.
    6-Desde hace cuando existian los archivos de datos?
    Desde antes que existieran las computadoras
    7-Que es un flujo?
    Es la ruta de transmision en un solo sentido entre una fuente y un destino.
    8-Como se llama la ruta por donde se envian la informacion?
    Ruta de transmison
    9-Que proporciona el objeto cin?
    Una ruta de transmision del teclado al programa
    10- Que proporciona el objeto cout?
    Una ruta de transmision del programa a la pantalla terminal/
    11-Apartir de que clases son creados los objetos cin y cout?
    Clases de flujo iostream y ostream
    12-Cuales son los dos tipos de archivos basicos que existen?
    Archivos de texto y archivos binarios
    13-Que permite el uso de un codigo de caracteres?
    A un procesador de palabras o a un editor de texto desplegar los archivos de modo que puedan ser leidos
    14-Cual es la ventaja de los archivos binarios?
    Que son mas compactos,usan menos espacio al almacenarlos
    15-Que es un flujo de archivos?
    Es una ruta de transmision unidireccional utilizada para conectar un archivo almacenado en un dispositivo fisico
    16-Como se le conoce al flujo de archivos que recibe o lee datos de un archivo a un programa?
    Flujo de archivos de entrada
    17-Como se le conoce al flujo de archivos que envia o escribe datos en un archivo?
    Flujo de archivos de salida
    18-Con que metodo se cierra un archivo?
    Con el metodo close()
    19-Que hace el metodo close()?
    Rompe la conexion entre el nombre externo del archivo y el objeto de flujo de archivos
    20-Que hace el metodo peek?
    Devuelve el siguiente caracter en el flujo de entrada sin extraerlo del flujo

    Problema 10a Seccion 6.8

    Pseudocodigo:
    Inicio
    string nombre_archivo="datos.dat"
    ofstream archivo_sal
    archivo_sal.open(nombre_archivo.c_str())
    if (archivo_sal.fail())
    {
    Print "el archivo no habrio con exito"
    exit(1)
    }
    archivo_sal, setiosflags(ios::fixed), setiosflags(ios::showpoint), setprecision(3)
    Print "Nombre", " ", " Tarifa", " ", "Horas"
    Print "----------------------------"
    Print "Callaway,G.", "", "6.00", "", "40"
    Print "Hanson,P.", "", "5.00", "", "48"
    Print "Lasard,D.", "", "6.50", "", "35"
    Print "Stillman,W.", "", "8.00", "", "50"
    archivo_sal, "Nombre", " ", " Tarifa", " ", "Horas"
    archivo_sal, "-----------------------------"
    archivo_sal, "Callaway,G.", "", "6.00", "", "40", " "
    archivo_sal, "Hanson,P.", "", "5.00", "", "48"
    archivo_sal, "Lasard,D.", "", "6.50", "", "35"
    archivo_sal, "Stillman,W.", "", "8.00", "", "50"
    archivo_sal.close()
    Fin