Fundamentos de la programación

Documentos relacionados
ALMACENAMIENTO PERSISTENTE DE DATOS

Introducción a C++ y Code::Blocks

Entrada y salida de datos en C y C++

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

Hoja de ejercicios del Tema 3

Programación en C++/Funciones

Examen escrito de Programación 1

SEGUNDO PARCIAL INFORMATICA II

Prof. Dr. Paul Bustamante

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Programación en C+ +/ Funciones

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

CONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Examen Principios de Programación Febrero 2012

Tema: Arreglos de Objetos en C++.

Prof. Dr. Paul Bustamante

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

LENGUAJE DE PROGRAMACION I. Ing. JAVIER ECHEGARAY ROJO Ing. WILDER ROMAN MUNIVE. Ing. Javier Echegaray Rojo / Ing. Wilder Román Munive Pag 1

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

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Prof. Dr. Paul Bustamante

Las plantillas permiten definir funciones genéricas.

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );

Funciones y Clases Amigas en C++ Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad de Nacional

MPI es un estándar de programación en paralelo mediante paso de mensajes que permite crear programas portables y eficientes.

Elementos de un programa en C

Prof. Dr. Paul Bustamante

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

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

1. Juego del Ahorcado

FUNDAMENTOS BÁSICOS DE PROGRAMACIÓN EN C++

PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos

Práctica de gsoap. int ns enviar (unsigned nodo, std::string cadena, std::string &resultado); int ns recibir(unsigned nodo, std::string &resultado);

1 Estructura básica de un programa C++

Introducción al laboratorio de Programación I

Esquema de un programa en C: bloques básicos

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS

Objective C (Desarrollo con Apple)

Funciones. Parámetros por valor

INTRODUCCIÓN AL LENGUAJE C++

Metodología de la Programación II. Recursividad

El lenguaje de Programación C. Fernando J. Pereda

Se guardan en archivos con extencion c y los cabezales con extension h

Librerías estándar en C++ STL: Standard Template Library. Álvaro Sánchez Miralles José Porras (Fidel Fernández)

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos

Tema: Punteros a Objetos. Puntero this.

Problema - Sumando Digitos

Prof. Dr. Paul Bustamante

Contenidos. Archivos en C++ Archivos en C++ Introducción

LENGUAJE. Tema 1 - Introducción

Tema: Introducción al IDE de Microsoft Visual C#.

Tema: Sobrecarga de Operadores.

LENGUAJE. Tema 2 Elementos de un programa

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

TEMA 7: Ficheros. TEMA 7: Ficheros Concepto de fichero

Tema: Herencia Simple y Múltiple en C++.

Introducción al tipo de dato ARRAY

Índice de contenido. Herramientas necesarias...2 Tipos de Variable...3 Operadores...6 Sentencias...12

Programación I. Contenido. Relación de Ejercicios Sonido e Imagen

Prof. Dr. Paul Bustamante

ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 7 Herencia y Composición en POO

Pseudolenguaje. (1 byte) (valores códigos ASCII) [CHAR_MIN.. CHAR_MAX] (Definida en <limits.h>) No hay. Dominio n 1 [MIN(C)..

Tema: Clases y Objetos en C++.

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

Práctica 8: Barreras

Traducción de proyectos con GNU gettext en 15 minutos

Java para programadores

Uso avanzado de punteros

Capítulo 6. Introducción a la POO

Fundamentos de Programción (I)

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Fundamentos de la programación

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Vectores. 27/05/05 Programación Digital I 1

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

Bloque 4. La descomposición funcional y el diseño descendente

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática

MANUAL DE RUBY (PARTE I) Luis José Sánchez González

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) {

Normas de estilo para la codificación de programas

CURSO de C++ Ignacio López

Sistemas Operativos Práctica 3

Curso 0 de Informática

8. Sentencia return y métodos

PRÁCTICA DE LABORATORIO 3 Tipo Abstrato de Dato

Apuntadores en C y C++

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Ejercicios propuestos de. Programación orientada a objetos. con C++ Cristina Cachero Pedro J. Ponce de León

Transcripción:

Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros 498 La función main() 501 Argumentos implícitos 504 Sobrecarga de subprogramas 508

Página 498 #include <iostream> using namespace std; #include <fstream> void sumatorio_archivo(ifstream &arch, double &suma); int main() { double resultado; ifstream archivo; archivo.open("datos.txt"); if (!archivo.is_open()) { cout << "ERROR DE APERTURA" << endl; else { sumatorio_archivo(archivo, resultado) cout << "Suma = " << resultado << endl; archivo.close(); return 0; Página 499

void sumatorio_archivo(ifstream &arch, double &suma) { double dato; suma = 0; arch >> dato; while (dato!= 1) { suma = suma + dato; arch >> dato; Los archivos siempre se pasan por referencia Página 500 Página 501

Comunicación con el sistema operativo Parámetros opcionales de la función main(): int main(int argc, char *argv[]) Para obtener datos proporcionados al ejecutar el programa: C:\>prueba cad1 cad2 cad3 Ejecuta prueba.exe con tres argumentos (cadenas) Parámetros de main(): argc: número de argumentos que se proporcionan 4 en el ejemplo (primero: nombre del programa con su ruta) argv: array con las cadenas proporcionadas como argumentos Página 502 Cómo ha ido la función? La función main() devuelve al S.O. un código de terminación 0: Todo OK Distinto de 0: Ha habido un error! Si la ejecución llega al final de la función main(), todo OK:... return 0; // Fin del programa Página 503

Página 504 Valores predeterminados para parámetros por valor Valor por defecto para un parámetro: Tras un = a continuación del nombre del parámetro: void proc(int i = 1); Si no se proporciona argumento, el parámetro toma ese valor proc(12); i toma el valor explícito 12 proc(); i toma el valor implícito (1) Sólo puede haber argumentos implícitos en los parámetros finales: void p(int i, int j = 2, int k = 3); // CORRECTO void p(int i = 1, int j, int k = 3); // INCORRECTO Una vez asignado un valor implícito, todos los que siguen han de tener también valor implícito Página 505

Parámetros y argumentos implícitos void p(int i, int j = 2, int k = 3); Se copian los argumentos en los parámetros del primero al último los que no tengan correspondencia tomarán los implícitos void p(int i, int j = 2, int k = 3);... p(13); // i toma 13, j y k sus valores implícitos p(5, 7); // i toma 5, j toma 7 y k su valor implícito p(3, 9, 12); // i toma 3, j toma 9 y k toma 12 Los argumentos implícitos se declaran en el prototipo (preferible) o en la cabecera del subprograma, pero NO en ambos Página 506 Por defecto, signo + Por defecto, Δ es 1 #include <iostream> using namespace std; double f(double x, double y, int signo = 1, double delta = 1.0); int main() { double x, y; cout << "X = "; No podemos dejar signo por defecto cin >> x; y concretar delta cout << "Y = "; cin >> y; cout << "signo y delta por defecto: " << f(x, y) << endl; cout << "signo 1 y delta por defecto: " << f(x, y, 1) << endl; cout << "signo y delta concretos: " << f(x, y, 1, 1.25) << endl; return 0; double f(double x, double y, int signo, double delta) { return signo * delta * x / y; Página 507

Página 508 Igual nombre, distintos parámetros Funciones o procedimientos con igual nombre y distintos parámetros: int abs(int n); double abs(double n); long int abs(long int n); Se ejecutará la función que corresponda al tipo de argumento: abs(13) // argumento int > primera función abs( 2.3) // argumento double > segunda función abs(3l) // argumento long int > tercera función Para indicar que es un literal long int, en lugar de int Página 509

inter.cpp #include <iostream> using namespace std; void intercambia(int &x, int &y); void intercambia(double &x, double &y); void intercambia(char &x, char &y); void intercambia(int &x, int &y) { int tmp; tmp = x; x = y; y = tmp; void intercambia(double &x, double &y) { double tmp; tmp = x; x = y; y = tmp; void intercambia(char &x, char &y) { char tmp; tmp = x; x = y; y = tmp; int main() { int i1 = 3, i2 = 7; double d1 = 12.5, d2 = 35.9; char c1 = 'a', c2 = 'b'; cout << i1 << " " << i2 << endl; cout << d1 << " " << d2 << endl; cout << c1 << " " << c2 << endl; intercambia(i1, i2); intercambia(d1, d2); intercambia(c1, c2); cout << i1 << " " << i2 << endl; cout << d1 << " " << d2 << endl; cout << c1 << " " << c2 << endl; return 0; Página 510 Licencia CC (Creative Commons) Este tipo de licencias ofrecen algunos derechos a terceras personas bajo ciertas condiciones. Este documento tiene establecidas las siguientes: Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría. No comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales. Compartir igual (Share alike): La explotación autorizada incluye la creación de obras derivadas siempre que mantengan la misma licencia al ser divulgadas. Pulsa en la imagen de arriba a la derecha para saber más. Página 511