Tema: Funciones y Procedimientos en C#.

Documentos relacionados
Tema: Funciones, Procedimientos y Recursividad en C#.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

Tema: Estructuras de Repetición en C# [For].

Tema: Estructuras de Selección en C#.

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Guia#12: Tema: Archivos en C#.

Tema: Entorno a C# Objetivos. Introducción. Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación Estructurada

Tema: Entorno a C# y Estructuras Secuenciales.

Tema: Clases y Objetos en C#. Parte II.

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Tema: Tipos de datos y conversiones

ANEXO XVII DE LA RESOLUCION N

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Programación Estructurada

5. Sentencias selectivas o condicionales

TEMA 1. Introducción a la programación. CONSIDERACIONES GENERALES.

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Java para programadores

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Ejercicios Tema 6. Funciones

Tema: Métodos de Ordenamiento. Parte 1.

Programación estructurada (Introducción a lenguaje C)

Programación-Tarea 14: Ocampo Venegas Josué

Prueba N o 1. Programación II

Métodos que devuelven valor Dado el siguiente triángulo rectángulo:

PROGRAMACIÓN UNIDADES

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

TEMA 1: Algoritmos y programas

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

PRACTICA 9 INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS (PARTE II) Objetivos

FACULTAD DE INGENIERÍA

Prof. Dr. Paul Bustamante

Tema: Algoritmos para la ruta más corta en un Grafo.

Ejercicios aplicando estructuras de asignación.

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.

ESTRUCTURAS DE CONTROL Y DE SELECCIÓN

Braulio Ricardo Alvarez Gonzaga. Aplicaciones en consola

UNIVERSIDAD DEL VALLE DE MÉXICO PROGRAMA DE ESTUDIO DE LICENCIATURA PRAXIS MES XXI

SELECCION SELECCION

Funciones como Subprogramas en C++

UNIVERSIDAD DE ESPECIALIDADES ESPÍRITU SANTO

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA INDUSTRIAL

Definición. Mónica E. García García Feb 07

Funciones en Lenguaje C

Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2

Agenda..NET C# Laboratorio #1

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

Lenguaje de programación C. Introducción

4. Operadores Operador asignación

Estatutos de Control C# Estatutos de Decisión (Selección)

8. Sentencia return y métodos

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Lenguajes de programación

Estructuras de Datos Declaraciones Tipos de Datos

EI MT1008 Programación II

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Programación En Lenguaje C

funciones printf scanf

Por ejemplo, considerando la jerarquía de herencia de Figuras Geométricas de la siguiente figura, es posible hacer uso del concepto de polimorfismo.

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Instrucciones de control

PRECALCULO INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA. Precálculo. Nombre de la asignatura: MAT-001

Prof. Dr. Paul Bustamante

Programación Estructurada

ESCUELA DE INFORMÁTICA

PROGRAMA DE CURSO. Escuela de Ingeniería de Sistemas y Computación Universidad del Valle Santiago de Cali, Colombia. Febrero 2007

6. Haga E igual (11G Z - X) módulo 30 Si E le da negativo, súmele 30 Si (E = 25 y G es mayor que 11), o si E = 24 entonces incremente E en 1

Estructuras de Repetición (Repita para)

PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad

Elementos de un programa en C

Hoja de ejercicios del Tema 3

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

GUIA DE EJERCICICIOS. 1.- Escribir un algoritmo que lea cuatro números e indique cual es el mayor

Guía - Taller # 2 (JAVA)

Crear una Nueva Solución Vacía:

Construcciones del Lenguaje Java

Tema: Repaso sobre uso de Funciones, Arreglos y Punteros en C++.

a) Si ch tiene el valor X y numero el valor 5, cuál sería el efecto de ejecutar cada una de las siguientes llamadas al procedimiento:

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 4. ESTRUCTURAS DE CONTROL

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Actividad colaborativa Ejercicios de programación Programación básica C++

Introducción Programación Modular y a Métodos: Consideremos el siguiente ejercicio:

Modelos de Desarrollo de Programas Y Programación Concurrente Clase N 3

Transcripción:

Facultad: Ingeniería Escuela: Ingeniería en Computación Asignatura: Programación Estructurada Tema: Funciones y Procedimientos en C#. Objetivos Utilizar la sintaxis de las funciones definidas por el usuario (programador) para resolver problemas. Identificar la diferencia entre una función y un procedimiento. Introducción Un problema complejo se puede dividir en pequeños subproblemas más sencillos. Estos subproblemas se conocen como módulos y su implementación en un lenguaje se llama subprograma (procedimientos y funciones). Un subprograma realiza las mismas acciones que un programa, sin embargo, vamos a utilizar el subprograma o módulo para una acción u operación específica. Un subprograma recibe datos de un programa y le devuelve resultados (el programa llama o invoca al subprograma, éste ejecuta una tarea específica y devuelve el control al programa que lo llamó). En C# a las funciones o procedimientos se le conocen con el nombre de métodos. Métodos en C# Función Procedimiento 154

Funciones (Retornan un valor) En el ámbito de la programación, una función es un tipo de subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande. Las declaraciones de las funciones, generalmente son especificadas por: Un nombre único en el ámbito. Nombre de la función con el que se identifica y se distingue de otras. No podrá ser otra función o procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos). Un tipo de dato de retorno. Tipo de dato del valor que la función devolverá al terminar su ejecución. Una lista de parámetros. Especificación del conjunto de argumentos (pueden ser cero uno o más) que la función debe recibir para realizar su tarea. Sintaxis de una Función. Modificador de acceso_tipo Devuelto_Nombre Funcion (tipo(s) argumento(s) nombres) { // declaración de datos y cuerpo de la función. return (valor); } Procedimientos (No retornan valor) Fragmento de código (subprograma) que realiza una tarea específica y es relativamente independiente del resto del código. Los procedimientos suelen utilizarse para reducir la duplicación de códigos en un programa. Los procedimientos pueden recibir parámetros, pero no necesitan devolver un valor como es el caso de las funciones. Sintaxis Procedimiento Modificador_de_acceso void Nombre_procedimiento(tipo(s)_argumento(s) nombres) { //declaración de datos y cuerpo de la función. } Material y Equipo Guía de laboratorio No. 7. Computadora con Visual Studio 2013 o superior. Dispositivo de almacenamiento (USB). 155

Procedimiento G7Ejemplo1: Programa que permite digitar un número entero positivo y me diga si es par o impar. 1 { 2 //Inicio del programa principal 3 Console.ForegroundColor = ConsoleColor.Black; 4 Console.BackgroundColor = ConsoleColor.White; 5 Console.Clear(); 6 Console.Title = "Uso de un procedimiento"; 7 int num; 8 Console.WriteLine("Digitar un numero entero positivo:"); 9 num = int.parse(console.readline()); 10 Par(num); 11 Console.WriteLine("\n"); 12 Console.WriteLine("-->Fin del programa"); 13 Console.ReadKey(); 14 } 15 static void Par(int a) 16 { 17 int x; 18 x = (a % 2); 19 if (x == 0) 20 { 21 Console.WriteLine("\nEs par"); 22 } 23 else 24 { 25 Console.WriteLine("\nEs impar"); 26 } 27 } 156

G7Ejemplo2: En nuestro segundo ejemplo, vamos a implementar un procedimiento que sea capaz de realizar una suma y una resta. 1 static void Main(string[] args) 2 { 3 Console.Title = "Trabajando con Procedimientos"; 4 suma(); // llamando al procedimiento llamado suma 5 Console.ReadKey(); 6 Console.Clear(); 7 resta(); // llamando al procedimiento llamado resta 8 Console.ReadKey(); 9 } 10 11 static void suma() 12 { 13 Double r, n1, n2; 14 Console.WriteLine("Digitar primera cantidad"); 15 n1 = Double.Parse(Console.ReadLine()); 16 Console.WriteLine("Digitar segunda cantidad"); 17 n2 = Double.Parse(Console.ReadLine()); 18 r = n1 + n2; 19 Console.WriteLine("El resultado de la suma es: " + r); 20 } 21 22 static void resta() 23 { 24 Double r, n1, n2; 25 Console.WriteLine("Digitar primera cantidad"); 26 n1 = Double.Parse(Console.ReadLine()); 27 Console.WriteLine("Digitar segunda cantidad"); 28 n2 = Double.Parse(Console.ReadLine()); 29 r = n1 - n2; 30 Console.WriteLine("El resultado de la resta es: " + r); 31 } 157

Corrida del programa1 Corrida del programa2 G7Ejemplo3: Programa que permite hacer conversión de monedas digitando una cantidad en dólares, utilizando funciones. 1 { 2 //Inicia el programa principal 3 Console.ForegroundColor = ConsoleColor.Black; 4 Console.BackgroundColor = ConsoleColor.White; 5 Console.Clear(); 6 Console.Title = "Ejemplo3 utilizando la sintaxis de funciones"; 7 Double x,p,r; 8 Console.WriteLine("Digitar la cantidad en dólares:"); 9 x = Double.Parse(Console.ReadLine()); 10 // llamadas a las funciones 11 p = euros(x); 12 Console.WriteLine("Los {0} dolares son {1} euros ", x, p); 13 r = libras(x); 14 Console.WriteLine("Los {0} dolares son {1} libras ", x, r); 15 Console.WriteLine("\n"); 16 Console.WriteLine("-->Fin del programa"); 17 Console.ReadKey(); 18 } 158

19 static Double euros(double a) 20 { 21 Double g; 22 g = a * 1.15; 23 return g; 24 } 25 static Double libras(double a) 26 { 27 Double v; 28 v = a * 3.15; 29 return v; 30 } G7Ejemplo4: Utilización de un menú principal con la estructura Switch-Case y su facilidad al unirse con los procedimientos 1 static void Main(string[] args) 2 { 3 Console.ForegroundColor = ConsoleColor.Black; 4 Console.BackgroundColor = ConsoleColor.Yellow; 5 Console.Clear(); 6 Console.Title = "Ejemplo4 de Procedimientos en un menú"; 7 Int32 num1, num2; 8 int opcion; 9 Console.WriteLine("\n MENU PRINCIPAL DE OPERACIONES MATEMATICAS:"); 10 Console.WriteLine("\n"); 11 Console.Write("\tDigitar el primer número: "); 12 num1 = Int32.Parse(Console.ReadLine()); 13 Console.WriteLine("\n"); 159

14 Console.Write("\tDigitar el segundo numero: "); 15 num2 = Int32.Parse(Console.ReadLine()); 16 Console.Clear(); 17 Console.WriteLine("\n MENU PRINCIPAL DE OPERACIONES MATEMATICAS:"); 18 Console.ForegroundColor = ConsoleColor.Blue; 19 Console.WriteLine("\n ==============================================="); 20 Console.WriteLine("\n"); 21 Console.WriteLine("\t1) Mayor de los 2"); 22 Console.WriteLine("\t2) Multiplo"); 23 Console.WriteLine("\t3) Potencia"); 24 Console.WriteLine("\n ==============================================="); 25 Console.ForegroundColor = ConsoleColor.Red; 26 Console.WriteLine("\n"); 27 Console.Write("\tDigitar la opción deseada [1..3]: "); 28 opcion = int.parse(console.readline()); 29 Console.WriteLine("\n"); 30 switch (opcion) 31 { 32 case 1: 33 mayor(num1,num2); 34 break; 35 case 2: 36 multiplo(num1,num2); 37 break; 38 case 3: 39 potencia(num1,num2); 40 break; 41 default: 42 Console.WriteLine("\tSe ha equivocado de opcion, solo acepta[1..3]"); 43 break; 44 } 45 Console.WriteLine("\n"); 46 Console.WriteLine("\t-->Fin del programa"); 47 Console.ReadKey(); 48 } 160

49 50 static void mayor(int32 a, Int32 b) 51 { 52 if (a > b) 53 { 54 Console.WriteLine("\tEl numero {0} es mayor que {1} ", a, b); 55 } 56 else 57 { 58 Console.WriteLine("\tEl numero {0} es mayor que {1} ", b, a); 59 } 60 } 61 static void multiplo(int32 a, Int32 b) 62 { 63 Int32 w; 64 w = (a%b); 65 if (w == 0) 66 { 67 Console.WriteLine("\tEl numero {0} es multiplo de {1} ", a, b); 68 } 69 else 70 { 71 Console.WriteLine("\tEl numero {0} no es multiplo de {1} ", b, a); 72 } 73 } 74 static void potencia(int32 a, Int32 b) 75 { 76 Double s; 77 s = Math.Pow(a,b); 78 Console.WriteLine("\tEl numero {0} a la potencia de {1} es: {2}",a,b,s); 79 } 161

162

Análisis de Resultados 1. Crear un programa que solicite el año de nacimiento de una persona y retorne la edad haciendo uso de procedimientos. 2. Desarrollar un programa que implemente una función para convertir coordenadas polares a rectangulares. Debe tener en cuenta lo siguiente: x = rcos(θ) ; y = rsen(θ) 3. Cree un programa que contenga el siguiente menú: a) Dividir. b) Obtener cubo. c) Cálculo de IMC (Índice de Masa Corporal). d) Salir. Consideraciones: El menú debe permanecer disponible hasta que el usuario elija la opción d. Utilizar una función o procedimiento para cada opción. Para la opción d, utilice la fórmula: IMC = Peso[Kg] / Altura 2 [Metros]. Investigación Complementaria 1. Escribir un programa que lea dos números desde teclado (x y n) e implemente una función para calcular la siguiente progresión: 1 + X + X 2 + X 3 + + X n 2. Escribir un programa que permita al usuario elegir el cálculo del área de cualquiera de las figuras geométricas: circulo, cuadrado, rectángulo o triangulo, mediante procedimientos o funciones. No se le olvide presentarlo en un menú. Bibliografía Deitel, Harvey M. y Paul J. Deitel, Cómo Programar en C#, Segunda Edición, México, 2007. 163