Logica.conceptos Básicos y Metodologías(2012)

download Logica.conceptos Básicos y Metodologías(2012)

of 17

Transcript of Logica.conceptos Básicos y Metodologías(2012)

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    1/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    CONCEPTOS BSICOS Y METODOLOGA PARA LA SOLUCIN DE PROBLEMASPOR MEDIO DE COMPUTADORAS.

    Introduccin

    La computadora no solamente es una mquina que puede realizar procesos para

    darnos resultados, sin que tengamos la nocin exacta de las operaciones que realiza para

    llegar a esos resultados. Con la computadora adems de lo anterior tambin podemos

    disear soluciones a la medida, de problemas especficos que se nos presenten. Mas

    aun, si estos inolucran operaciones matemticas comple!as "#o repetitias, o requieren

    del mane!o de un olumen mu" grande de datos.

    $l diseo de soluciones a la medida de nuestros problemas, requiere como en

    otras disciplinas una metodologa que nos ensee de manera progresia, la forma de

    llegar a estas soluciones.

    % las soluciones creadas por computadora se les conoce como programas " no

    son ms que una serie de operaciones que realiza la computadora para llegar a un

    resultado, con un grupo de datos especficos. Lo anterior nos llea al razonamiento de

    que unprograma nos sire para solucionar un problema especfico.

    Computadora: $s un dispositio electrnico utilizado para procesar informacin " obtener

    resultados. Los datos " la informacin se pueden introducir en la computadora como

    entrada &input' " a continuacin se procesan para producir una salida &output'.

    Programa: $s el con!unto de instrucciones escritas en alg(n lengua!e de programacin "que e!ecutadas secuencialmente resuelen un problema especifico.

    Pg.:1

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    2/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Definicin de Lenguaje

    Lenguaje) $s una serie de smbolos que siren para transmitir uno o mas mensa!es&ideas' entre dos entidades diferentes. % la transmisin de mensa!es se le conoce

    com(nmente como comunicacin.La comunicacin es un proceso comple!o que requiere una serie de reglas simples, peroindispensables para poderse llear a cabo. Las dos principales son las siguientes)

    * Los mensa!es deben correr en un sentido a la ez.

    * +ebe forzosamente existir elementos) $misor, -eceptor, Medio deComunicacin " Mensa!e.

    Lenguajes de Programacin

    $s un con!unto de smbolos, caac!""s # "$las %&o$amas'que les permiten a laspersonas comunicarse con la computadora.

    Los lengua!es de programacin tienen un co()*(!o +" (s!*cco("sque nos permitenrealizar operaciones de entrada#salida, clculo, manipulacin de textos,lgica#comparacin " almacenamiento#recuperacin.

    Los lengua!es de programacin se clasifican en)

    **Lenguaje Maquina: on aquellos cu"as instrucciones son directamente entendiblespor la computadora " no necesitan traduccin posterior para que la C/0 pueda

    comprender " e!ecutar el programa. Las instrucciones en lengua!e maquina se expresanen trminos de la unidad de memoria mas pequea el bit &dgito binario 1 o 2'.

    **Lenguaje de Bajo Nivel (nsam!lador": $n este lengua!e las instrucciones seescriben en cdigos alfabticos conocidos como mnemotcnicos para las operaciones "direcciones simblicas.

    **Lenguaje de #lto Nivel: Los lengua!es de programacin de alto niel &3%4C, pascal,cobol, frotran, etc.' son aquellos en los que las instrucciones o sentencias a lacomputadora son escritas con palabras similares a los lengua!es 5umanos &en general eningles', lo que facilita la escritura " comprensin del programa.

    Pg.:2

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    3/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    M"!o+olo$a &aa la sol*c-( +" &obl"mas &o m"+o +" com&*!a+oa

    Definicin del Pro!lema

    $sta fase est dada por el enunciado del problema, el cual requiere una definicin clara "precisa. $s importante que se conozca lo que se desea que realice la computadora6 mientras

    esto no se conozca del todo no tiene muc5o caso continuar con la siguiente etapa.

    #n$lisis del Pro!lema

    0na ez que se 5a comprendido lo que se desea de la computadora, es necesario definir)Los datos de entrada.Cual es la informacin que se desea producir &salida'Los mtodos " frmulas que se necesitan para procesar los datos.0na recomendacin mu" practica es el que nos pongamos en el lugar de la computadora "analicemos que es lo que necesitamos que nos ordenen " en que secuencia para producir losresultados esperados.

    Dise%o del #lgoritmo

    0n al$o!moes una s"" +" &asos o$a(a+os /*" +"scb" "l &oc"soque se debeseguir, para dar solucin a un problema especfico.Las caractersticas de un buen algoritmo son)+ebe tener un punto particular de inicio.+ebe ser definido, no debe permitir dobles interpretaciones.+ebe ser general, es decir, soportar la ma"ora de las ariantes que se puedan presentar enla definicin del problema.+ebe ser finito en tamao " tiempo de e!ecucin.&Ms aba!o se traba!a con este tema'

    Codificacin

    La codificacin es la operacin de escribir la solucin del problema &de acuerdo a la lgica deldiagrama de flu!o o pseudocodigo', en una serie de instrucciones detalladas, en un cdigoreconocible por la computadora, la serie de instrucciones detalladas se le conoce comocdigo fuente, el cual se escribe en un lengua!e de programacin o lengua!e de alto niel.

    Prue!a & Depuracin

    Los errores 5umanos dentro de la programacin de computadoras son muc5os " aumentanconsiderablemente con la comple!idad del problema. $l proceso de identificar " eliminarerrores, para dar paso a una solucin sin errores se le llama depuracin.La depuracin o prue!a resulta una tarea tan creatia como el mismo desarrollo de lasolucin, por ello se debe considerar con el mismo inters " entusiasmo.

    Documentacin$s la gua o comunicacin escrita es sus ariadas formas, "a sea en enunciados,procedimientos, dibu!os o diagramas.% menudo un programa escrito por una persona, es usado por otra. /or ello la documentacinsire para a"udar a comprender o usar un programa o para facilitar futuras modificaciones&mantenimiento'.

    Mantenimiento

    e llea acabo despus de terminado el programa, cuando se detecta que es necesario 5aceralg(n cambio, a!uste o complementacin al programa para que siga traba!ando de maneracorrecta. /ara poder realizar este traba!o se requiere que el programa este correctamente

    documentado.

    Pg.:3

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    4/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    D"0(c-( +" Al$o!mo

    La palabra algoritmo se deria de la traduccin al latn de la palabra rabe al75o8arizmi,nombre de un matemtico " astrnomo rabe que escribi un tratado sobre manipulacinde n(meros " ecuaciones en el siglo 49.

    0n al$o!moes una s"" +" &asos o$a(a+os /*" +"scb" "l &oc"soque sedebe seguir, para dar solucin a un problema especfico.

    L"($*a)"s Al$o!mcos

    $s una s"" +" smbolos # "$lasque se utilizan para describir de manera explcita unproceso.

    T&os +" L"($*a)"s Al$o!mcos

    'r$ficos: $s la representacin grfica de las operaciones que realiza un algoritmo&diagrama de flu!o'.

    No 'r$ficos: -epresenta en forma descriptia las operaciones que debe realizarun algoritmo &pseudocdigo'.

    T1CNICAS PARA LA 2ORMULACIN DE ALGORITMOS

    Las dos 5erramientas utilizadas com(nmente para disear algoritmos son)

    Da$ama +" 2l*)o

    Ps"*+oc-+$o

    Da$ama +" 2l*)o

    0n diagrama de flu!o es la representacin grfica de un algoritmo. :ambin se puede decirque es la representacin detallada en forma grfica de como deben realizarse los pasos en lacomputadora para producir resultados.

    $sta representacin grfica se da cuando arios smbolos &que indican diferentes procesos enla computadora', se relacionan entre si mediante lneas que indican el orden en que se debene!ecutar los procesos.

    Los smbolos utilizados 5an sido normalizados por el instituto norteamericano denormalizacin &%;4'.< %2$. +" la s$*"(!" &3$(a'

    Ps"*+oc-+$o

    Mezcla de lengua!e de programacin " espaol &o ingles o cualquier otro idioma' que seemplea, dentro de la programacin estructurada, para realizar el diseo de un programa. $nesencial, el pseudocdigo se puede definir como un lengua!e de especificaciones dealgoritmos.

    $s la representacin narratia de los pasos que debe seguir un algoritmo para dar solucin aun problema determinado. $l pseudocdigo utiliza palabras que indican el proceso a realizar.b?, un alor entero tal como @A. $l tipo de dato determina la naturaleza delcon!unto de alores que puede tomar una ariable.

    Los T&os +" Da!os Sm&l"s5

    Datos Numricos: /ermiten representar alores escalares de forma numrica, estoinclu"e a los n(meros enteros " los reales. $ste tipo de datos permiten realizaroperaciones aritmticas comunes.

    Datos Lgicos: on aquellos que solo pueden tener dos alores &cierto o falso' "aque representan el resultado de una comparacin entre otros datos &numricos oalfanumricos'.

    Datos #lfanumricos ()tring": $s una secuencia de caracteres alfanumricos que

    permiten representar alores identificables de forma descriptia, esto inclu"e nombresde personas, direcciones, etc. $s posible representar n(meros como alfanumricos,pero estos pierden su propiedad matemtica, es decir no es posible 5acer operaciones

    con ellos. $ste tipo de datos se representan encerrados entre comillas.

    E6s!"( !amb7( los Da!os Es!*c!*a+os o D"0(+os &o "l Us*ao, como ser6 Los%rreglos &Bectores, Matrices', -egistros, %rc5ios " %puntadores'

    Pg.:6

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    7/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    E6&"so("sLas expresiones son combinaciones de constantes, ariables, smbolos de operacin,parntesis " nombres de funciones especiales. /or e!emplo) a&b @'#c

    Cada expresin toma un alor que se determina tomando los alores de las ariables "constantes implicadas " la e!ecucin de las operaciones indicadas.

    0na expresin consta de operadores " operandos. eg(n sea el tipo de datos quemanipulan, se clasifican las expresiones en)

    %ritmticas

    -elacionales

    Lgicas

    O&"a+o"s # O&"a(+o

    *peradores: on elementos que relacionan de forma diferente, los alores de una oms ariables "#o constantes. $s decir, los operadores nos permiten manipular alores.

    T&os +" O&"a+o"s5

    A!m7!cos

    R"laco(al"s

    L-$cos

    *peradores #ritmticos: Los operadores aritmticos permiten la realizacin deoperaciones matemticas con los alores &ariables " constantes'.

    Los operadores aritmticos pueden ser utilizados con tipos de datos enteros o reales. iambos son enteros, el resultado es entero6 si alguno de ellos es real, el resultado es real.

    uma< -estaD Multiplicacin# +iisinMod Modulo &residuo de la diisin entera'

    $!emplos) $xpresin -esultadoE # F @.A2F mod E A F D A 2

    Pg.:7

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    8/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    /rioridad de los =peradores %ritmticos

    :odas las expresiones entre parntesis se eal(an primero. Las expresiones con

    parntesis anidados se eal(an de dentro a fuera, el parntesis ms interno seeal(a primero.

    +entro de una misma expresin los operadores se eal(an en el siguiente orden.

    2.< G $xponenciacin

    F.< D, #, mod Multiplicacin, diisin, modulo.

    @.< , < uma " resta.

    Los operadores en una misma expresin con igual niel de prioridad se eal(an de

    izquierda a derec5a.

    *peradores +elacionales:

    e utilizan para establecer una relacin entre dos alores.

    Compara estos alores entre si " esta comparacin produce un resultado de certeza

    o falsedad &erdadero o falso'.

    Los operadores relacinales comparan alores del mismo tipo &numricos o

    cadenas'

    :ienen el mismo niel de prioridad en su ealuacin.

    Los operadores relacinales tiene menor prioridad que los aritmticos.

    =peradores -elacionalesH Ma"or queI Menor queH J Ma"or o igual queI J Menor o igual queI H +iferenteJ 4gual

    $!emplos)i a J 21 b J F1 c J @1a b H c Kalsoa < b I c Berdaderoa < b J c Kalsoa D b I H c Berdadero

    *peradores Lgicos:

    $stos operadores se utilizan para establecer relaciones entre alores lgicos.

    $stos alores pueden ser resultado de una expresin relacional.

    %nd =r =;ot ;egacin

    Pg.:8

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    9/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Pg.:9

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    10/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    I+"(!0ca+o"s

    Los identificadores representan los datos de un programa &constantes, ariables'.

    0n identificador es una secuencia de caracteres que sire para identificar una posicin en

    la memoria de la computadora, que nos permite acceder a su contenido.

    $!emplo) ;ombre) ;um*5rs6 CalifF

    R"$las &aa 0oma *( I+"(!0ca+o

    +ebe comenzar con una letra &% a , ma"(sculas o min(sculas' " no deben contener

    espacios en blanco.

    Letras, dgitos " caracteres como la subra"a &*' estn permitidos despus del primer

    carcter.

    La longitud de identificadores puede ser de 5asta N caracteres.

    Co(s!a(!"s # 8aabl"s

    Co(s!a(!"5 0na constante es un dato numrico o alfanumrico que no cambia durante

    la e!ecucin del programa. $!emplo) pi J @.22O

    8aabl"5 $s un espacio en la memoria de la computadora que permite almacenar

    temporalmente un dato durante la e!ecucin de un proceso, su contenido puede cambiar

    durante la e!ecucin del programa. /ara poder reconocer una ariable en la memoria de la

    computadora, es necesario darle un nombre con el cual podamos identificarla dentro de

    un algoritmo. $!emplo)

    area J pi D radio G F6 Las ariables son) el radio, el rea " la constante es pi

    Pg.:10

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    11/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Por su Contenido

    ,aria!le Numricas: on aquellas en las cuales se almacenan alores numricos,

    positios o negatios, es decir almacenan n(meros del 1 al P, signos & "

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    12/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    ESTRUCTURAS ALGORITMICAS

    Las estructuras de operacin de programas son un grupo de formas de traba!o, que

    permiten, mediante la manipulacin de ariables, realizar ciertos procesos especficos que

    nos lleen a la solucin de problemas. $stas estructuras se clasifican de acuerdo con su

    comple!idad en)

    Es!*c!*as S"c*"(cal"s

    La estructura secuencial es aquella en la que una accin &instruccin' sigue a otra en

    secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de lasiguiente " as sucesiamente 5asta el fin del proceso. 0na estructura secuencial se

    representa de la siguiente forma)

    4nicio%ccion2%ccionF..%ccion;

    Kin

    As$(ac-(: La asignacin consiste, en el paso de alores o resultados a una zona

    de la memoria. +ic5a zona ser reconocida con el nombre de la ariable que recibe el

    alor. La asignacin se puede clasificar de la siguiente forma)

    )imples: Consiste en pasar un alor constate a una ariable &aJ2A'

    Contador: Consiste en usarla como un erificador del n(mero de eces que se realizaun proceso &aJa2'

    #cumulador: Consiste en usarla como un sumador en un proceso &aJab'

    Pg.:12

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    13/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    D" !aba)o) +onde puede recibir el resultado de una operacin matemtica que

    inolucre muc5as ariables &aJcbDF#'.

    Lectura: La lectura consiste en recibir desde un dispositio de entrada &p.e!. el teclado'

    un alor. $sta operacin se representa en un pseudocodigo como sigue)

    Leer a, b

    +onde RaS " RbS son las ariables que recibirn los alores

    Esc!*a) Consiste en mandar por un dispositio de salida &p.e!. monitor o impresora'

    un resultado o mensa!e. $ste proceso se representa en un pseudocodigo como sigue)

    $scribe R$l resultado es)S, -

    +onde R$l resultado es)S es un mensa!e que se desea aparezca " - es una ariableque contiene un alor.

    Pro!lemas )ecuenciales

    9'uponga que un indiiduo desea inertir su capital en un banco " desea saber cuantodinero ganara despus de un mes si el banco paga a razn de FT mensual.4nicioLeer cap*ingan J cap*in D 1.1F4mprimir ganKin

    :'0n endedor recibe un sueldo base ms un 21T extra por comisin de sus entas, elendedor desea saber cuanto dinero obtendr por concepto de comisiones por las tresentas que realiza en el mes " el total que recibir en el mes tomando en cuenta susueldo base " comisiones.4nicioLeer sb, 2, F, @tot*ta J 2 F @com J tot*ta D 1.21tpag J sb com4mprimir tpag, comKin

    ;'0na tienda ofrece un descuento del 2AT sobre el total de la compra " un cliente deseasaber cuanto deber pagar finalmente por su compra.4nicioLeer tcd J tc D 1.2Atp J tc < d4mprimir tpKin

    Pg.:13

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    14/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Es!*c!*as +" Co(+co(al"s

    Las estructuras condicionales comparan una ariable contra otro&s' alor&es', para que en

    base al resultado de esta comparacin, se siga un curso de accin dentro del programa.

    Cabe mencionar que la comparacin se puede 5acer contra otra ariable o contra una

    constante, seg(n se necesite. $xisten dos tipos bsicos, las simples " las m(ltiples.

    Las estructuras condicionales se les conocen como R:omas de decisinS. Las cuales

    permiten elegir entre dos opciones o alternatias posibles en funcin del cumplimiento o

    no de una determinada condicin. e representa de la siguiente forma)

    i IcondicinH entonces%ccin %

    4;=%ccin 3

    Kin

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    15/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Pro!lemas Condicionales / Pro!lemas )electivos )imples2' 0n 5ombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tieneen inersin en el banco. $l decidir reinertir los intereses siempre " cuando estos excedan a UE111, " enese caso desea saber cuanto dinero tendr finalmente en su cuenta.

    4nicio

    Leer p*int, capint J cap D p*intsi int H E111 entonces

    capf J cap intfin

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    16/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    Es!*c!*as Cclcas

    e llaman problemas repetitios o cclicos a aquellos para cu"a solucin es necesario

    e!ecutar un mismo con!unto de acciones una cantidad de eces.

    2oma +" la "s!*c!*a

    0acer/Mientras: $sta es una estructura que repetir un proceso durante R;S eces,

    donde R;S puede ser fi!o o ariable. /ara esto, la instruccin se ale de una condicin que

    es la que debe cumplirse para que se siga e!ecutando. Cuando la condicin "a no se

    cumple, entonces "a no se e!ecuta el proceso. La forma de esta estructura es la siguiente)

    Vacer mientras IcondicinH

    %ccion2

    %ccionF

    )

    )

    %ccion;

    Kin

  • 7/23/2019 Logica.conceptos Bsicos y Metodologas(2012)

    17/17

    Universidad Tecnolgica Nacional - Facultad Regional del Neuqun

    Ing. Qumica - Fundamentos de Informtica

    :' Leer F1 n(meros e imprimir cuantos son positios, cuantos negatios " cuantos neutros.Sol*c-( A4niciocpos J 1cneg J 1cneu J 1x J 2Vacer mientras xI F2

    Leer numi num J 1 entonces

    cneu J cneu 2fin