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

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1

Programación 1 Tema 4. Diseño de programas elementales

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

Ámbito y Funciones. Lenguaje de Programación Estructurado. Siempre imaginé el Paraíso como algún tipo de biblioteca.

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:

TEMA CÁLCULO DE DISTANCIA ENTRE DOS PUNTOS

Lenguaje de Programación

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

Introducción a C++ Índice

Programación Orientada o Objetos

Impresión por pantalla. 3. Indicar la salida por pantalla (2 puntos-20 minutos)

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

Fundamentos de la programación

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

Tipos de Datos Simples Contenido del Tema

Templates. template <class T> T max(const T &t1, const T &t2) { return ((t2 > t1)? t2 : t1); }

INTRODUCCIÓN A LA POO EN C++

Taller #1 (versión del 18 de septiembre de 2009) Programación básica y aproximación al paradigma orientado a objetos

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

Expresiones, variables y tipos. Funciones y paso de. Facultad de Ingeniería. Universidad del Valle

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

Sobrecarga de Operadores II

Introduccion a C++ y Fortran 90/95

Unidad IV: Funciones

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:

Tema 2. Tipos y Estructuras Básicas

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

Fundamentos de la programación

Introducción 1. Fundamentos C++ //programa para imprimir texto #include <iostream>

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

Abstracción. Encapsulamiento. Polimorfismo. Objeto. método / objeto / clase / módulo. Separación de las propiedades de un

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

Objetos y memoria dinámica

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.

Dr. Oscar Ricardo droscarbruno.wordpress.com

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++

REPRESENTACIÓN DE DATOS

GESTIÓN DE MEMORIA DINÁMICA

Tema 5: Herramientas de programación y diseño modular

26 de Octubre del 2013

Introducción al lenguaje C

Sobre Carga de Operadores

2. Problema de Algoritmia (5 puntos - 15 minutos)

Plantillas (Templates)

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

Tema: Punteros a Objetos. Puntero this.

Programación de Ordenadores

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)