La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Paso por Referencia v/s Paso por Valor

Presentaciones similares


Presentación del tema: "Paso por Referencia v/s Paso por Valor"— Transcripción de la presentación:

1 Paso por Referencia v/s Paso por Valor
Diego Hernández

2 Hoy Paso por Valor Paso por Referencia Ejercicios

3 Paso por Valor Program programa Procedure suma ( DATO) Begin Begin X
Y End Procedure suma ( DATO) Begin End Function suma (DATO) x

4 Paso por Valor Program Saludos; uses crt; Var
Nombre, Apellido :String; Procedure saludador( name : String ); altura:real; Begin Writeln('cuanto mides'); Read(altura); Writeln('Buenos dias ', name,' ',Apellido,' de ',altura,' mts'); End; Writeln('Nombre: '); Readln(Nombre); Writeln('Apellido: '); Readln(Apellido); saludador(Nombre); readkey End.

5 Paso por Referencia Program programa Procedure suma (Flecha ) Begin
X End Procedure suma (Flecha ) Begin R End Function suma (Flecha)

6 Paso por Referencia Program Suma_por_Referencia; {El siguiente programa realiza la suma de dos números } Uses Crt; Var A,B,C:integer; procedure suma(X,Y:integer; Var J:integer); begin J := X + Y; end; ClrScr; C:=10; A:=10; B:=10; suma(A,B,C); WriteLn(A,',',B,',',C); ReadKey; ClrScr end.

7 Paso por Referencia y Valor
program valor_y_referencia; Uses crt; var valor:integer; referencia:integer; global:integer; procedure val(valor:integer); begin valor:=5643; global:=9999; end; procedure ref(var referencia:integer); referencia:=2222; BEGIN global:=60; writeln(global); valor:=1234; val(valor); referencia:=5432; ref(referencia); writeln('Valor = ',valor); writeln('Referencia = ',referencia); readkey; END.

8 Ejercicios Hacer una función que haga swap de los valores de 2 posiciones en un arreglo. Hacer una función Calcular el promedio de un arreglo Hacer una función que retorne la posición del mínimo de un arreglo Hacer una función que llene con números aleatorios enteros de 0 a 100 una matriz

9 Hacer una función que haga swap
Program funciones; uses crt; Var n1,n2 :integer; Procedure swap(var a1,a2 :integer); var temp : integer; Begin temp:=a1; a1:=a2; a2:=temp; End; n1:=1; n2:=2; writeln('antes de llamar al procedimiento ',n1,' ',n2); swap(n1,n2); writeln('despues de llamar al procedimiento ',n1,' ',n2); readkey End.

10 Calcular el promedio de un arreglo
Program funciones; uses crt; Const MAX=3; Type arreglo=array[1..MAX] of real; Var mi_array:arreglo; function promedio(arr:arreglo):real; var p:real; i:integer; Begin p:=0; for i:=1 to MAX do p:=p+arr[i]; p:=p/MAX; promedio:=p; End; Begin mi_array[1]:=1; mi_array[2]:=2; mi_array[3]:=3; writeln('prom ',promedio(mi_array)); readkey End.

11 Retornar la posición del mínimo de un arreglo
Program funciones; uses crt; Const MAX=3; Type arreglo=array[1..MAX] of integer; Var pos:integer; mi_array:arreglo; Function pos_minimo(arr:arreglo):integer; var i,min:integer; Begin min:=1; for i:=2 to MAX do if arr[i]<arr[min] then min:=i; pos_minimo:=min End; mi_array[1]:=20; mi_array[2]:=15; mi_array[3]:=117; pos:=pos_minimo(mi_array); writeln('posicion del minimo ',pos); readkey End.

12 Hacer una función que llene con números aleatorios enteros de 0 a 100 una matriz
Program funciones; uses crt; Const MAX=3; Type matriz=array[1..MAX,1.. MAX] of integer; matriz2=array[1..MAX] of array[1..MAX] of integer; Var i,j:integer; m1:matriz; m2:matriz2; Procedure llena_matriz(var m:matriz); var i,j:integer; Begin for i:=1 to MAX do for j:= 1 to MAX do m[i,j]:=random(100) End; Begin llena_matriz(m1); for i:=1 to MAX do begin for j:= 1 to MAX do write(m1[i,j],' '); m2[i][j]:=m1[i,j] end; writeln(''); write(m2[i][j],' '); readkey End.

13 Fin ¿Alguna consulta?


Descargar ppt "Paso por Referencia v/s Paso por Valor"

Presentaciones similares


Anuncios Google