Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

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

Tema: Plantillas en C++.

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

Programación 1 Problemas del Composición condicional

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

Programación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa

Fundamentos de la programación

Cátedra I Informática Autor I Carlos Bartó

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas

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

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

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

LABORATORIO #1 INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C++

Arboles Binarios de Búsqueda en C++

Estructuras Enlazadas AyED UTN-BA

Programación Orientada o Objetos

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

Tema 6: Memoria dinámica

PROGRAMACIÓN ORIENTADA A OBJETOS

Lenguaje de Programación: C++ Directivas al preprocesador

Laboratorio 5 Tema 7. Tipos de Datos Estructurados: Arreglos, Registros y Archivos

INTRODUCCIÓN A LA POO EN C++

Declaración. Introducción. Definición o implementación. Llamada. Un programa en C consta de una o más funciones.

Introducción rápida a la programación (estructurada ) con C++

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

Funciones y paso de parámetros

Vectores y Matrices. Dept. Ciencias de la Computación e I.A. Universidad de Granada

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

Elementos de un programa en C

Implementación de las Clases Pila, Cola, Lista y Arbol

Programación orientada a objetos II

Una clasificación de los tipos de datos existentes en los diferentes lenguajes de programación se presenta a continuación:

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:

Programación orientada a objetos I

Introducción a C++. Asignatura Estructuras de Datos Curso 2017/2018 ETSISI UPM

Introduccion a C++ y Fortran 90/95

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

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones.

Programación Estructurada

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:

UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof:

Fundamentos Programación Orientada a Objetos ( POO ) - Parte I Desarrollo de Software

Fundamentos de la programación

ALMACENAMIENTO PERSISTENTE DE DATOS

Examen escrito de Programación 1

8- LEX-Expresiones regulares

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

Tema 2: Clase y objetos en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Examen Principios de Programación Febrero 2012

Construcciones del Lenguaje Java

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

Estructuración del programa en partes más pequeñas y sencillas

Introducción al laboratorio de Programación I

Funciones: Pasos por Referencia Recursividad

Universidad Don Bosco (UDB) Facultad de Ingeniería / Escuela de Computación

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Tipos de datos y operadores en C++

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

Entrada y salida de datos en C y C++

Curso de Java Introducción a la Programación II

Tema: Clases y Objetos en C++.

Introducción a la Programación orientada a objetos con C++

Introducción a la. Programación con

INTRODUCCIÓN AL LENGUAJE C++

Sobre Carga de Operadores

Examen de Fundamentos de la Programación (Modelo 1)

Tema: Punteros a Objetos. Puntero this.

Programación en C++/Funciones

Programación en C++ L.I Gerardo Benavides Pérez

Transcripción:

Macros LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

Macros tipo objeto #define IDENTIFICADOR VALOR Permiten definir identificadores que son automáticamente reemplazados por un fragmento de código. Son especialmente útiles para definir constantes: #define PI 3.14159265358979323846 #include <iostream> #define PI 3.14159265358979323846 using namespace std; double areacirculo(double r) { return PI * r * r; int main() { cout<<areacirculo(10)<<endl; #define MAX_L 10001 return 0;

Macros tipo función #define IDENTIFICADOR( ) EXPRESION Permiten definir identificadores y parámetros que son automáticamente reemplazados por un fragmento de código. Son especialmente útiles para hacer magia!! Operador Condicional (?) Permite similar un if-else en una sola línea: cout << (x > 0? "positivo" : "negativo") <<endl; #include <iostream> #define debug(x) cout<<#x<<" = "<<X<<endl; #define minimo(a, b) ((a) < (b)? (a) : (b)) using namespace std; int main() { int x = 5, y = 4; debug(x); debug(y); debug(x + y); debug(minimo(x, y)); return 0;

Estructuras LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

Estructuras Permiten agrupar variables de distinto tipo Generalmente las variables están relacionadas entre si, y en conjunto representan una entidad mayor Permiten organizar un programa incorporando principios básicos de orientación a objetos Ejemplos: Alumno, Polinomio, Poligono, Cuota, Curso #include <iostream> #include <cmath> #define MAX_G 100 using namespace std; struct Polinomio { int grado; int coef[max_g]; ; int main() { Polinomio P; return 0;

Estructuras 1. Definición: #define MAX_G 100 struct Polinomio { int grado; int coef[max_g]; ; 2. Declaración: int main() { Polinomio P; return 0; 3. Acceso: Polinomio P, A, B; P.grado = A.grado + B.grado; for(int i=0; i<=p.grado; i++) P.coef[i] = 0; También pueden ser consideradas como tipos de datos compuestos

Paso por valor y referencia LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

Envío de parámetros a funciones y procedimientos PASO POR VALOR Se envía una copia del parámetro Dentro de la función se puede modificar la copia del parámetro, sin modificarse el parámetro original Cuando los parámetros son tipos de datos complejos, realizar la copia puede ser costoso Por defecto en C/C++ PASO POR REFERENCIA Se envía una referencia al parámetro Al tratarse de la misma referencia al parámetro, cualquier cambio se reflejara dentro y fuera de la función El paso por referencia es siempre rápido ya que no se hace ninguna copia! Por defecto en Java. En C++ se debe usar el operador &

Tipos primitivos: int, double, char PASO POR VALOR int sumar(int a, int b) { return a + b; PASO POR REFERENCIA void incrementar(int &a) { a++; void intercambiar(int &a, int &b) { int tmp = a; a = b; b = tmp; int main() { int a = 3, b = 5; intercambiar(a, b); cout<<a<<" "<<b<<endl; return 0;

Arreglos y Cadenas CADENAS SIEMPRE PASO POR REFERENCIA void leer(char nombre[]){ cin>>nombre; int main() { char nombre[100]; leer(nombre); cout<<"hola "<<nombre<<endl; int return 0; ARREGLO SIEMPRE PASO POR REFERENCIA void leer(int P[], int n){ for(int i=0; i<n; i++) cin>>p[i]; int main() { int A[5]; leer(a, 5); return 0;

Estructuras Por defecto en C++ se envían por valor Las estructuras pueden tener muchos datos dentro de ellas; por este motivo, como buena práctica se debe procurar utilizar referencias siempre que sea posible. void leerpolinomio(polinomio &P) void imprimirpolinomio(polinomio &P) Polinomio multiplicar(polinomio &A, Polinomio &B)

Operadores de Estructuras 1. Multiplicación de Polinomios #define MAX_G 100 struct Polinomio { int grado; int coef[max_g]; ; Polinomio operator *(const Polinomio &A, const Polinomio &B) { // Implementacion // return PolinomioProducto int main() { Polinomio P1, P2; // Leer P1 y P2 Polinomio C = P1 * P2; Podemos definir los operadores * / + - para nuestras estructuras return 0;

Ejercicios LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

1. Ordenamiento por Metodo de Burbuja Implementar utilizando la funcion intercambiar(int &a, int &b)

2. Implementar funciones para Polinomios void leerpolinomio(polinomio &P) void imprimirpolinomio(polinomio &P) Polinomio multiplicar(polinomio &A, Polinomio &B) Polinomio: int grado, int coef[max_g]

3. Implementar Operadores para Fechas struct Fecha{ int dia, mes, anio; ; Fecha operator +(const Fecha &F, int d) Fecha operator -(const Fecha &F, int d) int operator -(const Fecha &F1, const Fecha &F2)

4. Implementar funciones para Matrices void leermatriz(matriz &M) void transponermatriz(matriz &M) Matriz: int R, int C, int X[MAX_R][MAX_C] Matriz multiplicar(matriz &A, Matriz &B) void imprimirmatriz(matriz &M) Reto: Matriz inversa(matriz &M) (asumir matriz cuadrada)