Documentos de Académico
Documentos de Profesional
Documentos de Cultura
function maximo(a,b,c:integer):integer; begin if (a>b)and (a>c)then maximo:=a else if (b>a) and(b>c) then maximo:=b else maximo:=c end; function promedio(a,b,c:integer):real; begin promedio:=((a+b+c)/3); end; function potencia(b,e:integer):integer; var // locales p:integer; i:integer; begin
Para cambiar la function a procedure se debe declarar la variable resul como parmetros de salida, atenponiendo la palabra var Procedure maximo(a,b,c:integer; var max:integer);
begin Begin (*principal) Randomize; if (a>b)and (a>c)then max:=a else if (b>a) and(b>c) then max:=b else max:=c
A:=Random(56)+5; b:=Random(56)+5; C:=Random(56)+5; Maximo(a,b,c,mayor);//ejecucin procedure maximo Writeln( El mayor de ,a,b,c, es=,mayor); D:=random(56)+5; Mximo(mayor, d,54, mayor1); Writeln( El mayor de , mayor,d,54, es ,mayor1)
end;
procedure promedio(a,b,c:integer,var prom:real); begin prom:=((a+b+c)/3); end; procedure potencia(b,e:integer;var pot:integer); var // locales i:integer; begin pot:=1;
( + ) +
= =
( )
= =
El programa podra tener UNA function sumatoria y ejecutarlas tres veces?.SE DEBEN CREAR DOS FUNCTION DADOS QUE LOS ARGUMENTOS SON SUMAS (I+5, I-J); Y RODUCTOS (2*I, 3*I). a. Crea las instrucciones necesarias en el begin principal, de modo de ejecutar la function para obtener e imprimir cada sumatoria por separado. b. Crear otra function para determinar el valor de T , ejectala . c. Cambia la function sumatoria a un procedure. Ejectala. Program sumas; Uses crt; Var // gobales N,l:integer; Total1,total2,total3, total4:real; Function sumatoria(ini,fin,arg:integer):real; Var i:integer; s:real; Begin For i:=ini to fin do S:=s+(i+arg); Sumatoria:=s; End; Function T(total1, total2, total3, total4:real):real; Begin T:=total1+total2-(total3/total4); End;// cierre function
Begin (*principal*) repeat Writeln('Ingrese el n de iteraciones de la sumatoria >9'); Readln(n); Until(n>9); L:=5; total1:= sumatoria(1,n,5); writeln('sumatoria 1=',total1:4:0); Function total2:= sumatoria(4,n-5,-5); sumatoria_2(ini,fin,arg:integer):real ; writeln('sumatoria 2=',total2:4:0); Var total3:=sumatoria_2(1,2*n,2); i:integer;s:real; writeln('sumatoria 3=',total3:4:0); Begin total4:= sumatoria_2(2,n-3,3); For i:=ini to fin do writeln('sumatoria 4=',total4:4:0); S:=s+(i*arg); writeln(' El total T=',T(total1, total2, total3, Sumatoria_2:=s; total4):4:0); End; readkey; end. 3. Disee un procedimiento que transforme un nmero complejo representado en coordenadas cartesianas a coordenadas polares, y otro que realice la transformacin inversa. Cree los procedimientos necesarios para leer y escribir nmeros en coordenadas polares, as como los procedimientos para leer y escribir nmeros de coordenadas cartesianas. Para ello hay que decidir previamente como representaren pantalla los nmeros en coordenadas cartesianas y en polares. Por ejemplo, en cartesianas podras ser: c(partereal, parteimaginaria), y en polares: p(angulo, radio). Cree el programa y lea dos nmeros complejos, en cualquier representacin, los muestre el resultado en polares.
4. Crea un procedimiento que genere e imprima n- nmeros de la serie Fibonacci. La serie de Fibonacci es 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, Algoritmo: Se inicia con los dos primeros nmeros 0,1, los nmeros restantes se forman a partir de la suma de los dos anteriores. program FIBONACCI ; uses crt; var // globales n:integer; procedure n_fibonacci(n:integer); var s1,s2,s3,i:integer; begin s1:=0; s2:=1; writeln(' N sucesin de FIBONACCI:'); write(s1,'-',s2,'-'); for i:=1 to n-2 do begin s3:=s1+s2; write(s3,'-'); s1:=s2; s2:=s3; end; end;// cierra procedure begin // PRINCIPAL repeat
5. Crea un programa que permita imprimir cada trmino del BINOMIO, las sumas parciales y la suma total de n-trminos. Para ello debes utilizar function y procedure. Anlisis del problema: RESPONDE: Puedes identificar cuntas subtareas o subproblemas visualizas para resolver lo solicitado?
. Esta function se
FACTORIAL, Tambin se ejecutar n+1 veces para n!, k!, (n-k)!. Esta function la ejecuta la function combinatoria, no se ejecuta en el begin principal. COMBINATORIA, Esta function calcula la combinatoria, para ello debe ejecutar la function factorial y realizar la multiplicacin y divisin. Esta function es ejecutada en el begin principal N+1 veces.
Donde program BINOMIO; uses crt; VAR // GLOBALES T1,T2:longint; A,B,N,K:integer; re_comb,tt:real; FUNCTION POTENCIA(A,B:INTEGER):longint; VAR I:INTEGER; BEGIN Potencia:=1; FOR I:=1 TO B DO Potencia:=Potencia*A; END;// CIERRA FUNCTION
FUNCTION FACTORIAL(N:INTEGER):LONGINT; VAR I:INTEGER; BEGIN if n=0 then factorial:=1 else begin FACTORIAL:=1 ; FOR I:=1 TO N DO FACTORIAL:=FACTORIAL*I; end;// cierra if n=0 END;// CIERRA FACTORIAL FUNCTION COMBINATORIA(N,K:INTEGER):REAL; VAR C:REAL; R1,R2,R3:LONGINT; BEGIN R1:=FACTORIAL(N); R2:=FACTORIAL(K); R3:=FACTORIAL(N-K); //WRITELN(' EL FACTORIAL DE ',N,' ES=',R1);
siguiente tabla, la function debe considerar como parmetros las variables del peso y nmero
b.
de das: Un procedure que lea y/o genere los siguientes datos: Ingrese el nombre de cada una de las sustancias qumicas. Genere o ingrese el peso en gramos de cada sustancia, entre [0,10 y 5500,00] gramos. Genere o ingrese la cantidad de das expuestos de cada sustancia, entre 0 y 50 das. c. Un subprograma que imprima los siguientes datos: el nombre, peso, das y
grado de descomposicin de las sustancias qumicas. d. Una funcin que lea un entero en rango [1, 15] e. En el Begin Principal use las function y procedures anteriores para:
Leer la cantidad de sustancias a utilizar Ingresar el nombre, peso, das que lleva expuesta cada sustancia. Calcule el porcentaje de descomposicin de cada sustancia. Imprimir los datos del nombre, peso, das y porcentaje de descomposicin de cada sustancia qumica. Modifique el programa implementando function o procedure de modo de poder contar: Cuantas sustancias tienen un porcentaje de descomposicin mayor a 1500 gramos. Cuantas sustancias pesan menos de 1000 gramos.
program ejer_7; uses crt; var //globales n,d,i:integer; p_des,peso:real; nom_sus:string; function porc_descom(peso:real;n_dias:integer):real; begin if (n_dias <= 3) then porc_descom:=0.15*peso else if( n_dias<=8 )then porc_descom:=0.3*peso else if (n_dias>=15) then porc_descom:=0.50*peso else porc_descom:=0.90*peso end;// cierra function porc_descom procedure datos( var nom_sus:string;var peso:real; var d:integer); begin write('Ingrese el nombre de la sustancia qumica:'); readln(nom_sus);
repeat write('Ingrese el peso en gramos de la sustancia ',nom_sus,' est debe estar [0,1..5500] gramos.'); readln(peso); until(peso>0.1) and(peso<=5500); repeat write('Ingrese la cantidad de das expuesto de la sustancia ingresada [0..50] das.'); readln(d); until(d>0) and(d<=50); end;// cierra procedure procedure imprimir(nom_sus:string; peso,desc:real; d:integer); begin writeln('**************************************'); writeln('Sustancia :', nom_sus); writeln('Peso writeln('Das end; function valor:integer; begin valor:=random(15)+1; writeln('El valor generado =',valor); end; begin // PRINCIPAL randomize; // ejecutar la function valor n:=valor; for i:=1 to n do begin datos( nom_sus,peso,d); // procedure datos p_des:=porc_descom(peso,d);// ejecuta function porc_descom imprimir(nom_sus,peso,p_des,d); //Modifique el programa implementando function o procedure de modo de poder contar: //Cuantas sustancias tienen un porcentaje de descomposicin mayor a 1500 gramos. //Cuantas sustancias pesan menos de 1000 gramos. me cans..... :',peso:7:2); :',d);
writeln('Grado de descomposicin:',desc:4:1,'%');
writeln('--------------------------------'); end;
readkey; end.