unidad 3 introduccion a programacion

Upload: olvin-jesus-martinez-vega

Post on 07-Jul-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    1/19

    3.1 Desarrollo histórico del lenguaje estructurado

    Probablemente habremos escuchado hablar de distintos lenguajes de programación:Pascal, Basic, Fortran, Cobol, C, C++, Visual Basic, Java, Perl, Python, etc Podr!amos

    hacer una lista de hasta "# ó $# lenguajes %ue son de amplio uso hoy en d!a &aun%uealgunos destacan por n'mero de usuarios sobre los dem(s)

    *os primeros lenguajes de programación ueron creados al mismo tiempo%ue aparec!an los primeros computadores, hacia -.# /e trataba delenguajes denominados 0de bajo nivel1 cuya escritura era muy complejaPosteriormente surgieron lenguajes %ue eran m(s (ciles de escribir y de

    interpretar /e considera como primer lenguaje de alto nivel a Fortran, un lenguaje %uesurgió hacia inales de los a2os 3#, dise2ado para programación cient! ica y c(lculonum4rico 5l contrario %ue otros lenguajes %ue cayeron en desuso, Fortran haevolucionado y continuó siendo usado &incluso lo es hoy en d!a, aun%ue no sea tanpopular como lo ue en el pasado) 6e modo orientativo, este podr!a ser un es%uema sobrela evolución de los lenguajes

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    2/19

    7ste es%uema es meramente orientativo: es imposible re lejar la diversidad de lenguajes ysu evolución en un gr( ico tan simpli icado 8ambi4n los datos relativos a echas son

    orientativos

    Fortran puede decirse %ue introdujo los undamentos de la programación moderna, alintroducir muchos de los conceptos %ue hoy nos parecen b(sicos y %ue usanpr(cticamente todos los lenguajes de programación

    8ras Fortran surgieron otros lenguajes &C9B9*, 5lgol # y muchos otros)

    ;o hay %ue suponer %ue lo 'nico v(lido sea la programación orientada a objetos por ser lo

    m(s moderno 5l contrario, much!sima programación de la %ue se hace hoy en d!a sebasa en lenguajes o código no orientado a objetos 5dem(s, la misma programaciónorientada a objetos se basa en conceptos muy antiguos de programación &programaciónestructurada, modular, etc )

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    3/19

    8ener en cuenta %ue algunos lenguajes %ue nacieron en los a2os # han perdido vigenciay ya no se usan, mientras %ue otros se han ido moderni

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    4/19

    Corresponde a la ejecución repetida de una instrucción mientras %ue se cumple unadeterminada condición

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    5/19

    3.2 Estructura general de un programa

    *a mejor orma de aprender un lenguaje es programando con 4l 7l programa m(s sencillo%ue se puede escribir en C es el siguiente:

    main(){

    }

    Como podemos imaginar, este programa no hace nada, pero contiene la parte m(simportante de cual%uier programa C y adem(s, es el m(s pe%ue2o %ue se puede escribiry %ue se compila correctamente 7n 4l se de ine la unción main, %ue es la %ue ejecuta elsistema operativo al llamar a un programa C 7l nombre de una unción C siempre vaseguida de par4ntesis, tanto si tiene argumentos como si no *a de inición de la unciónest( ormada por un blo%ue de sentencias, %ue esta encerrado entre llaves DE

    >n programa algo m(s complicado, pero %ue hace algo, es el siguiente:#include

    main(){

    /* Este es mi primer programa en C*/

    printf(" ien!enido a la programaci n en lengua e C$n")%

    return &%

    }

    Con 4l visuali

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    6/19

    *a inclusión de comentarios en un programa es una saludable pr(ctica, como loreconocer( cual%uiera %ue haya tratado de leer un listado hecho por otro programador opor s! mismo, varios meses atr(s Para el compilador, los comentarios son ine?istentes,por lo %ue no generan l!neas de código, permitiendo abundar en ellos tanto como sedesee 7n el lenguaje C se toma como comentario todo car(cter entre los s!mbolos: I I

    Cada sentencia de programa %ueda inalin programa en C es simplemente un ichero de caracteres %ue contiene un conjunto deinstrucciones %ue un programa especial, elcompilador o traductor , se encarga detrans ormar en un código %ue la computadora puede ejecutar &código objeto) 7n general,un programa suele estar compuesto de tres partes:

    • el encabezamiento , %ue especi ica las declaraciones globales de los datos y sustipos, %ue vamos a manejar a lo largo del programaK

    • la función principal , %ue se suele llamar main, y de ine la estructura delprograma

    • las funciones o subrutinas auxiliares , %ue reali

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    7/19

    }

    Cuando la envergadura del programa es grande se suele ragmentar el programa envarias partes, incluyendo cada parte en un ichero separado 7l lenguaje C de ine elm4todo %ue debemos seguir para separar las di erentes partes del programa;ormalmente colocaremos en cada ichero todas las subrutinas y unciones %ue seencarguen de una tarea del programa Por tanto, un programa C puede estar ormado pordi erentesmódulos o fuentes 7s conveniente mantener los uentes de un tama2o nomuy grande, para %ue la compilación sea r(pida 8ambi4n, al dividirse un programa enpartes, se puede acilitar la legibilidad del programa y su estructuración *os di erentes

    uentes son compilados de forma separada 'nicamente los uentes %ue han sidomodi icados desde la 'ltima compilación , y despu4senlazados o combinados entre ellosy con las bibliotecas necesarias para ormar el programa en su versión ejecutable,mediante un programa denominado enlazador &linker )

    *os comandos necesarios para compilar, enla

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    8/19

    3.3 Palabras Reser adasC utilina variable no puede llamarse igual %ue una palabra reservada Ccuenta con .@ palabras reservadas, estas son:

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    9/19

    3.! Representación de datos b"sicos7n el lenguaje C estandari

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    10/19

    est(ndar C-- se agregan: los valores lógicos &verdadero o also) y los n'meroscomplejos

    7stos tipos de datos son parte del lenguaje, y por ello se los considera primitivos L(sadelante veremos %ue con el uso de estructuras y uniones es posible crear tiposcompuestos de datos a partir de estos tipos primitivos

    7nteros*os enteros son el tipo de dato m(s primitivo en C /e usan para representar n'merosenteros Pero siempre se pueden encontrar otras aplicaciones para los n'meros enteros7n general se pueden usar para representar cual%uier variable discreta

    *os tipos de datos enteros son: short , int , long y long long , cada uno representandoun n'mero entero de un tama2o o capacidad determinado /eg'n el compilador y laplata orma de hardMare, cada uno de estos tipos de dato puede ocupar desde bytehasta @ bytes en memoria &para m(s detalles busca en la re erencia)

    5dem(s, el lenguaje C hace la distinción de si el entero es con signo (signed ) o sin signo(unsigned ). 7n caso de %ue no se declare si es con signo o sin signo, se toma con signo

    5lgunos ejemplos de declaraciones de enteros:

    int a% unsigned int a% signed long a% signed long long a , &&&&&&&%8odos los n'meros son representados en memoria mediante una cadena de bits 7n elcaso de los n'meros con signo, el bit m"s significati o es el %ue se usa pararepresentar el signo *a representación de los n'meros negativos se reali

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    11/19

    *a orma de declarar una variable lotante es escribiendo en una l!nea uno de los tipos dedatos lotantes y a continuación el nombre de la variable y tal ve< alg'n valor %ue se les%uiera dar

    5lgunos ejemplos:

    float a% dou'le a , e -% dou'le a , -. % float a , e01% dou'le a , 023%Nay %ue tener en cuenta %ue aun%ue los valores lotantes son m(s convenientes paraalgunas aplicaciones, hay casos en los %ue se pre ieren los enteros 7sto se debe a %uelos n'meros lotantes no necesariamente tienen soporte de hardMare, en particular en lasplata ormas integradas >na alternativa %ue se utili

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    12/19

    char a , 4s4% unsigned char a , 3%Como puedes ver, se le puede asignar un n'mero a una variable char , ya %ue se trata deun tipo entero 7n muchas situaciones se utili

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    13/19

    3.( Declaración de ariables) *onstantes) Procedimientos+ %unciones

    ,dentificadores) -ariables + *onstantes

    5lgunos de los principales componentes de un programa son los Adenti icadores, lasvariables y las constantes

    Adenti icadores: /e emplean para asignarle un nombre a una clase, objeto, atributo, etc Ose puede emplear en el, cual%uier secuencia de caracteres al ab4ticos en may'sculas omin'sculas, num4ricos, los caracteres de subrayado &guión bajo), el de dólar & ) y no sepermiten los espacios en blanco como separadores de palabras

    *onstantes>na constante es una partida de datos %ue permanecen sin cambios en el programa

    &durante el desarrollo y ejecución)-ariables>na variable es una partida de datos cuyo valor puede cambiar en el programa &durante eldesarrollo y ejecución)

    *os di erentes tipos de variables dependen del lenguaje de programación, por lo generalestas suelen ser enteras, reales, car(cter, lógicas y de cadena

    8anto las variables como las constantes tienen un nombre o identi icador generalmentecon ormado por caracteres al anum4ricos &ciertos lenguajes de programación admiten elcar(cter de subrayado QRS como v(lido en los identi icadores), y el primero de 4stos debeser una letraPara poder usar una variable en C++, primero debemos declararla especi icando cual delos tipos de datos presentados arriba %ueremos %ue sea *a sinta?is para declarar unanueva variable es escribir el especi icador de tipo de dato %ue %ueremos &como int, short,

    loat ) seguido por un identi icador de variable Por ejemplo:

    int aKloat mynumberK

    /on declaraciones validas de variables *a primera declara una variable de tipo int con elidenti icador a *a segunda declara una variable de tipo loat con el identi icadormynumber >na ve< declaradas, las variables a y mynumber pueden ser usadas dentrodel resto de su conte?to en el programa

    /i necesita declarar algunas variables del mismo tipo y %uiere ahorrarse escritura, puededeclarar todas estas en la misma l!nea separando los identi icadores con comas & , ) Porejemplo:

    int a, b, cK

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    14/19

    declara tres variables &a, b y c) de tipo int , y tiene e?actamente el mismo signi icado %uesi hubi4ramos escrito:

    int aKint bKint cK

    ,nicialización de ariablesCuando declaramos una variable local, su valor es indeterminado por de ecto Pero ustedpodr!a %uerer %ue una variable almacene un valor en concreto al momento de sudeclaración Para hacer esto, usted tiene %ue ane?ar un signo igual seguido por el valordeseado en la declaración de la variable:

    type identi ier T initialRvalue K

    Por ejemplo, si %ueremos declarar una variable entera int llamada a %ue contenga el valor# al momento en el cual es declarada, podr!amos escribir:

    int a T #K 5dicionalmente a esta orma de iniciali

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    15/19

    con un s!mbolo # &caracter cero) O para e?presar un n'mero he?adecimal tenemos %ueprecederlo con los s!mbolos #? &cero, ?) Por ejemplo, las siguientes constantes literalesson todas e%uivalentes entre si:=3 II decimal # $ II octal #?.b II he?adecimal

    8odas representan el mismo numero: =3 &setenta y cinco ) e?presado como un n'merobase #, octal y he?decimal, respectivamente

    0 meros Punto %lotante7stos e?presan n'meros con decimales yIo e?ponentes 7stos pueden incluir un puntodecimal, un s!mbolo e &%ue e?presa Gpor # a la n esima potenciaG, donde n es elsiguiente valor entero) o ambos$ . 3- II $ . 3- #"e"$ II #" ? #"$ e - II ? # - $ # II $ #

    estos son cuatro n'meros v(lidos con decimales e?presados en C++ 7l primer n'mero esPA, el segundo es el numero de 5vogadro, el tercero es la carga el4ctrica de un electrón&un n'mero e?tremadamente pe%ue2o) todos ellos apro?imados y el 'ltimo es el n'mero$ e?presado como un literal num4rico en punto lotante

    *onstantes declaradas constCon el pre ijo const usted puede declarar constantes con un tipo especi ico e?actamenteigual a como har!a con una variable:

    const int Midth T ##Kconst char tab T Ht Kconst

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    16/19

    3.4 5peraciones aritm6ticas) lógicas + relacionales7l lenguaje C permite manejar una gran variedad de operadores como lo son: 9peradoresaritm4ticos, lógicos, de asignación, relacionales

    5peradores 7ritm6ticos

    5perador 0ombre Descripción 8entido

    + /uma /uma dos n'meros 6e i

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    17/19

    ]T Layor oigual %ueCompara dos valores y devuelveverrdadero si el i

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    18/19

    3.9 Dise:o) Edición) *ompilación + Ejecución deprogramas.

    Definición del problema + dise:o de la solución

    6esarrollar un programa, incluso para programas tan sencillos como los %ue sevan a reali

  • 8/18/2019 Unidad 3 Introduccion a Programacion

    19/19

    *ompilación + ensamblado del programa

    7l programa %ue hemos editado es código uente y no puede ser ejecutadodirectamente por ning'n computador: es necesario traducirlo a código m(%uinaPara ello necesitamos un compilador o un intérprete 7?isten lenguajes de

    programación, como C, en %ue el código uente es traducido por un compilador acódigo m(%uina y se genera un archivo directamente ejecutable *a igura "muestra el proceso completo de generación de un programa ejecutable en C apartir del código uente 9tros lenguajes, como Java, se compilan a un lenguajeintermedio &%ue en el caso de Java se denominabytecode ) %ue posteriormente esinterpretado y ejecutado por un programa especial %ue se denomina int4rprete

    5dem(s, los programas habitualmente no se encuentran en un 'nico archivo, sinodistribuidos en muchos, %ue deben ensamblarse para dar lugar a un programaejecutable *a obtención de un programa ejecutable implica, por un lado, latraducción de los archivos en código uente a archivos con código objeto y, porotro, el ensamblado de los archivos con código objeto

    Ejecución) prueba + depuración del programa

    6ependiendo del lenguaje y de la plata orma de ejecución %ue utilicemos, paraejecutar un programa puede bastar con escribir su nombre como un comando enuna consola o hacer doble clic en un icono o puede ser necesario utili