Correo: fannikaro@gmail.com Contenido UNIDAD 1. Concepto fundamentales. UNIDAD 2. Algoritmos y estructuras de datos. UNIDAD 3. Tcnicas de programacin. UNIDAD 4. Estructura de datos en funciones y procedimientos. UNIDAD 5. Estructuras dinmicas y estticas de almacenamiento de datos. UNIDAD 6. Arreglo unidimensionales, arreglo multidimensionales y manejo de arreglos.
UNIDAD 3 TCNICAS DE PROGRAMACIN Tcnicas de programacin Introduccin a la programacin en C++ Pasos para desarrollar un programa C++ Como escribir, compilar y enlazar un primer programa en C++
Introduccin a la programacin en C++ El lenguaje C++ facilita un mtodo de diseo de programas estructurado y disciplinado. Para realizar un programa se necesita un editor de texto y un compilador Un ejemplo sencillo para introducir el lenguaje Escribir un programa que imprima el siguiente texto Bienvenido al curso de programacin
Introduccin a la programacin en C++ Paso extra Compilan cdigo fuente En cdigo objeto Compilador Introduccin a la programacin en C++ Programacin de procesamiento Programacin estructurada Programacin orientada a objetos
Programacin de Procesamiento Serie de procedimientos que actan sobre datos Procedimiento= funcion o mtodo Necesidad de organizar relaciones
Programacin de Estructurada Concibe programa informtico como conjunto de tareas Las tareas complejas pueden subdividirse en componentes Cada componente es fcilmente entendible
Programacin Orientada a Objetos Poder agrupar los datos con las funciones que los manipulan Poder reutilizar las funciones en distintas situaciones. Los objetos tienen atributos y mtodos. Ejemplo Anlisis Entradas No tiene Proceso No tiene Salida Escribir Hola mundo
Algoritmo Algoritmo escribir un texto 1. Comienzo 2. Escribir (Hola mundo) 3. Fin
Codificacin en C++ 1. // Programa que muestra un texto en pantalla 2. // Curso de Programacin 3. # include <iostream> 4. using namespace std; 5. main(){ 6. cout << Hola mundo; 7. }
Las lneas 1 y 2 que comienzan con // indica que son comentarios del programa, sirven para documentar los programas. La lnea 3 es una directiva del preprocesador <iostream> que es utilizada cuando se manejan datos de entrada y salida La lnea 5 es la funcin main que comienza la ejecucin del programa. La lnea 6 solicita a la computadora que imprima en pantalla la cadena contenida entre las comillas.
Compilar y correr el programa Para compilar g++ nombre_programa.cpp o nombre_ejecutable Por ejemplo g++ ImprimeTextp.cpp o ImprimeTexto Para correr el programa ./nombre_ejecutable Por ejemplo ./ImprimeTexto
Suma de dos enteros Realizar un programa que lea dos nmeros enteros y que los sume Anlisis Entradas Numero1 => Entero Numero2 => Entero Proceso Suma=Numero1+Numero2 Salida Escribir La suma de los nmeros ledos es = Suma Algoritmo suma Var Numero1,Numero2,Suma 1. Comienzo 2. Escribir Introduzca el primer nmero a sumar 3. Leer(Numero1) 4. Escribir (Introduzca el segundo nmero a sumar 5. Leer(Numero2) 6. Suma = Numero1 + Numero2 7. Escribir ( La Suma de los nmeros es, Suma) 8. Fin
Codificacin del programa // // SumaEnteros.cpp // // #include <iostream> Using namespaces std; main(){ int Numero1; //Primer nmero int Numero2; //Segundo nmero int Suma; //Variable donde se almacena los nmeros cout << "\n"; cout << Introduzca el primer nmero a sumar \n"; cin >> Numero1; cout << Introduzca el segundo nmero a sumar \n"; cin >> Numero2; Suma = Numero1 + Numero2; cout << "La suma de los nmeros es =" << Suma <<"\n"; }
Datos, tipos de datos y operaciones primitivas El objetivo de toda computadora es el manejo de la informacin o datos. Estos datos pueden ser: Cifras de ventas de un supermercado Los nombres de los empleados de una empresa Las nota de un estudiante de la seccin de programacin La temperatura de clima en una regin Datos, tipos de datos y operaciones primitivas Un dato es la expresin general que describe los objetos con los cuales opera una computadora. Las computadoras pueden trabajar con varios tipos de datos. Los datos de entrada se transforman por el programa, despus de las etapas intermedias, en datos de salida. En el proceso de la solucin de problemas el diseo de la estructura de datos es tan importante como el diseo de algoritmo y del programa que se basa en el mismo. Tipos de datos Datos simples Estndar Numrico Entero (integer) Real (real) Carcter (char) Lgico (boolean) Definido por el programador Subrango (subrange) Enumerativo (enumerated) Tipos de datos Datos estructurados Estticos Arrays (vector/matriz) Registro Archivo (fichero) Conjunto Cadena (string) Dinmicos Lista pila cola Lista enlazada rbol Grafo Constantes y Variables Una constante es un dato que permanece sin cambios durante todo el desarrollo del algoritmo o durante la ejecucin del programa.
Constantes reales vlidas 1.234 -0.1436
Constantes reales no validas 1,752.63 82 Constantes reales en notacin cientfica 3.374562E2 equivale a 3.374562x10 2 Carcter valido b + 4 ; Cadena de caracteres Juan Romero Constantes lgicas Verdad (true) Falso (false) Constante y Variables Una variable es un objeto o dato cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del programa. Una variable que es de un cierto tipo puede tomar nicamente valores de ese tipo. Una variable (identificador) se identifica por los siguiente atributos: nombre que lo asigna y tipo que describe el uso de la variable. No se deben utilizar como nombres de identificadores palabras reservadas del lenguaje de programacin Ejemplo de variables Nombre Nombre_apellido A510 Expresiones Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Cada expresin toma un valor que se determina tomando los valores de las variables y constaste implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operando y operadores.
Expresiones Segn sea el tipo de objetos que manipulan, las expresiones se clasifican en: Aritmticas => el resultado es de tipo numrico Lgicas => el resultado es de tipo lgico Carcter => el resultado es de tipo carcter
Operaciones aritmticos Operacin C++ Operador aritmtico Expresin algebraica Expresin en C++ Suma + F+7 F+7 Resta - P-C P-C Multiplicacin * bm b*m Division / x/y x/y Modulo % r mod s r % s Expresiones aritmticas Expresin Resultado Expresin Resultado 10.5/3.0 3.5 10 div 3 3 0.25 18 div 2 9 2.0/4.0 0.5 30 div 30 1 6/1 6.0 6 div 8 0 30/30 1.0 10 mod 3 1 6/8 0.75 10 mod 2 0 Expresiones Aritmticas: Reglas de prioridad Las operaciones que estn encerradas entre parntesis se evalan primero. Si existen diferentes parntesis anidados (interiores unos a otros), las expresiones ms internas se evalan primero. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad Operadores exponencial (^, o bien **) Operadores *,/,\ Operadores div y mod Operadores +,- En caso de coincidir varios operadores de igual prioridad en una expresin o sub-expresin encerrada entre parntesis, el orden de prioridad en este caso es de izquierda a derecha. Expresiones Lgicas (booleanas) Un segundo tipo de expresiones es la expresin lgica o booleana, cuyo valor es siempre verdadero o falso. Expresin lgica es una expresin que slo puede tomar estos dos valores, verdad y falso. Las expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas, utilizando los operadores lgicos not, and y or, y los operadores relacionales (de relacin o comparacin) =,<,>,<=,>=,<> Expresiones Lgicas: Operadores de relacin Los operadores relacionales o de relacin permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de relacin sirven para expresar las condiciones en los algoritmos. El formato general para las comparaciones es Expresin 1 operador de relacin Expresin 2
Operador Significado < Menor que > Mayor que = Igual gue <= Menor o igual que >= Mayor o igual que <> O != Distinto de Expresiones Lgicas: Operadores de relacin Los operadores de relacin se pueden aplicar a cualquiera de los cuatro tipos de datos estndar: entero, real, lgico, carcter. La aplicacin a valores numricos es evidente. Los ejemplos siguientes son significativos: N1 N2 Expresin lgica Resultado 3 6 3<6 Verdadero 0 1 0>1 Falso 4 2 4=2 Falso 8 5 8<=5 Falso 9 9 9>=5 Verdadero 5 5 5<>5 Falso Expresiones Lgicas: Operadores lgicos Los operadores lgicos o booleanos bsicos son not (no), and (y) y or (o)
Operador lgico Expresin lgica Significado no (not) no p (not p) Negacin de p y (and) p y q (p and q) Conjuncin de p y q o (or) p o q (p or q) Disyuncin de p y q Expresiones Lgicas: Operadores lgicos Las definiciones de las operaciones no, y, o se resumen en unas tablas conocidas como tablas de verdad
a no a Verdad Falso Falso Verdad no (6>10) es verdad ya que (6>10) es falso Expresiones Lgicas: Operadores lgicos a B a o b Verdad Verdad Verdad Verdad Falso Verdad Falso Verdad Verdad Falso Falso Falso a o b son verdad cuando, a, b o ambas son verdad a B a y b Verdad Verdad Verdad Verdad Falso Falso Falso Verdad Falso Falso Falso Falso a y b solos si a y b son verdad La operacin de asignacin La operacin de asignacin es el modo de darle valores a la variable. La operacin de asignacin se representa con el smbolo u operador . La operacin de asignacin se conoce como instruccin o sentencia de asignacin cuando se refiere a un lenguaje de programacin
La operacin de asignacin El formato general de una operacin de asignacin es: Nombre de la variable expresin Ejemplos A0 la variable A toma el valor de 0 M8<5 la variable M toma el valor de falso XMaria asigna la cadena de caracteres a la variable tipo cadena
Entrada y Salida Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Estas entrada se conoce como operacin de lectura (read). Los datos de entrada se introducen al procecesador mediante dispositivos de entrada. La salida puede aparecer en dispositivo de salida. La operacin de salida se denomina escritura (write) El formato es el siguiente:
Leer (variable o lista de variables de entrada)
Escribir (variables o listas de expresiones de salida)