Paso por Referencia v/s Paso por Valor

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Análisis Sintáctico Capítulo 4.
Diseño y análisis de algoritmos
Programación de Computadores
Sesión 13 Tipos de datos Estruturados Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación de Computadores
Programación de Computadores
PROGRAMACION ESTRUCTURADA
Programación en Pascal
Type tipo_bf = ; tipo_dato = word; tipo_puntero = ^tipo_nodo; tipo_nodo = record dato: tipo_dato; izquierdo, derecho: tipo_puntero; bf: tipo_bf;
Diseño y análisis de algoritmos
Metodología de la Programación
Seminario de Actualización - Excel Avanzado y Macros
INFORMÁTICA PROGRAMACIÓN.
Realizado por: Ing. Mauricio Rivera1 Colas. Realizado por: Ing. Mauricio Rivera2 ¿Qué es una Cola? Una cola es un grupo ordenado de elementos homogéneos.
Curso de Programación 1 Plan 97
Algoritmos de Búsqueda
C lase 10 COMPUTACION /17/2014Computacion - Fac. Ingeniería2  Ademas de los ya vistos (tipos simples), puede usarse como parámetros variables.
Lenguaje Pascal: Ana Laureano_UAM-A Lenguajes de Programación Pascal Profesora Ana Lilia Laureano - Cruces Universidad Autónoma Metropolitana - Azcpotzalco.
Departamento de Informática Universidad Técnica Federico Santa María Tema 7: Subprogramas Programación de Computadores (IWI-131) Luis Pizarro Q.
LIGA VENEZOLANA DE BEISBOL MINIPROYECTO III Elaborado por: Carlos Rodríguez Bárbara Jaspe.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Clase 12 COMPUTACION 2009 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Estáticos Integer Real Char Boolean String Archivos Registros.
PROCEDIMIENTOS FUNCIONES
1 Concurrencia Procesos y Programas. 2 Establecer Comunicación entre procesos (memoria común)
COMPUTACION 2009 Clase 6 Clase 7.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Programación en Pascal
Sesión 17 Tipos de datos Estruturados Arreglos de Registros Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Programación I Arreglos II- Matrices.
75.40 Algoritmos y Programación I
Tipos de datos Estruturados String y ordenamiento Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Vectores y Matrices.
Programación I Arreglos. Los elementos de un arreglo son todos del mismo tipo de dato (todos integer o real o char o registros o aún arreglos)
Definir un vector Forma general Variable=[tipo]*tamaño Tipo: es el valor inicial con el cual quedarán llenas todas las posiciones creadas del vector. Tamaño:
Conjuntos  Tipo estructurado  Es una lista encerrada entre corchetes  Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos.
Tema 8: Tipos de Datos Estructurados I
Vectores y Matrices.
Sesión 9 Subprogramas Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Tema 6: Estructuras de Control
Agenda Clase 11 Parametrización. Pasaje de parámetros (modos). Razones de escogencia entre modos. Clausuras como parámetros. Etiquetas, Conformat Arrays,
Clase 6 COMPUTACION 2009 C lase 8 Tipos de Datos PASCAL Estructurados Simples Primitivos No primitivos Integer Real Char Boolean String Archivos Registros.
Departamento de Informática Universidad Técnica Federico Santa María Ejercicios Certamen 1: Programación de Computadores (IWI-131) Luis Pizarro Q.
Vectores y Matrices.
Programación de Computadores
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
MODULA Lenguaje de Programación Anabel Martín González
Trabajar con módulosTrabajar con variables públicasCrear procedimientos Pasar argumentos por valor y por referencia Referencia rápida.
INFORMATICA DEL CBU Clase 8 Año 2016 PROCEDIMIENTOS.
Algoritmos de Grafos.
Resolución de problemas y algoritmos
Paso por Referencia v/s Paso por Valor
Cobol C Pascal Fortran 6. PARAMETRIZACIÓN SmallTalk Java C++
Paul Leger Ciclos:FOR Paul Leger
Diego Hernández R Pascal Variables Diego Hernández R
INFORMATICA DEL CBU Clase 10 Año 2016 ARREGLOS.
Estructuras de Control Ciclos
INFORMATICA DEL CBU Clase 11 Año 2016 ARREGLOS.
INFORMATICA DEL CBU Clase 9 Año 2016 FUNCIONES ARREGLOS.
Estructuras de Control
Análisis y resolución de problemas
Estructuras Dinámicas
Estructuras de Control 2 Ciclos
Estructuras de Control 3 Ciclos
Diego Hernández R Pascal Variables Diego Hernández R
Procedimientos y Funciones
String, arreglos y arreglos bidimensionales
Diego Hernández R. Archivos Diego Hernández R.
String, arreglos y arreglos bidimensionales
Procedimientos y Funciones
Transcripción de la presentación:

Paso por Referencia v/s Paso por Valor Diego Hernández dhernand@inf.utfsm.cl

Hoy Paso por Valor Paso por Referencia Ejercicios

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

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.

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

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.

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.

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

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.

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.

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.

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.

Fin ¿Alguna consulta?