Des Car Gable

25
Servicio Nacional de Aprendizaje - SENA Fundamentos de la programación Hola aprendices, mi nombre es Épsilon y junto a nuestra amiga Iris los estaremos acompañando durante el curso Metodología de la programación de sistemas informáticos. Hola amigos, soy Iris la compañera de Épsilon, voy a estarlos acompañando en este recorrido de aprendizaje recopilando y entregándo los contenidos sobre la programación que esperamos les deje una sólido conocimiento. Para empezar este recorrido de aprendizaje vamos a acercarnos a los Fundamentos de la programación, en los que haremos una breve revisión de los elementos básicos del computador, los conceptos generales de programación, su relación con los algoritmos y su forma de representarlos. Esperamos que esta aventura de conocimiento sea de gran utilidad. ¡Bienvenidos!

description

informatica,lenguaje de orogramacion,seudocodigo

Transcript of Des Car Gable

Servicio Nacional de Aprendizaje - SENAFundamentos de la programacinHolaaprendices,minombreespsilon yjuntoanuestraamigaIrislosestaremos acompaando durante el curso Metodologa de la programacin de sistemas informticos.Holaamigos,soyIrislacompaeradepsilon, voyaestarlosacompaandoenesterecorridode aprendizaje recopilando y entregndo los contenidos sobrelaprogramacinqueesperamoslesdejeuna slido conocimiento. Para empezar este recorrido de aprendizaje vamos a acercarnos a los Fundamentos de la programacin, en los que haremos una breve revisin de los elementos bsicos del computador, los conceptos generales de programacin, su relacin con los algoritmos y su forma de representarlos.Esperamosqueestaaventuradeconocimientosea de gran utilidad. Bienvenidos!Servicio Nacional de Aprendizaje - SENABajo este panorama es importante identifcar qu es un computador, cules son sus componentes, cul es su organizacin fsica, los dispositivos internos y externos. De igual forma, reconocer qu es un algoritmo, qu es un programa y cules son las caractersticas y las tcnicas de representacin de estos.Amododedefinicin,podemosdecirquelos fundamentos de programacin son los mtodos, las tcnicas, las herramientas y las estructuras elementales quenospermitenrepresentarlasolucindeun problema.Fundamentos de programacinConceptos generalesde programacinOrganizacinfsica delcomputadorQu es computador?Software y hardwareAlgoritmosy programaProceso deprogramacinTcnica derepresentacinde algoritmosMapa de contenidoServicio Nacional de Aprendizaje - SENAEnlaactualidad,lacomputadoraesunaherramientautilizadapararepresentar cualquier situacin de la realidad en forma de datos, los cuales son procesados para generar informacin. Estos datos, y el procedimiento, que se utilizan para generar la informacin, ingresana la computadora en forma de un programa que se encuentra constituido por una seriede instrucciones detalladas. Podemos defnir al algoritmo, como un procedimiento por medio del cual se resuelve un problema. Dicho procedimiento es una secuencia ordenada de instrucciones que se ejecuta en un tiempo y con un uso de recursos fnito, esto quiere decir, que se debeestablecerunpuntoinicialyunpuntodecierre,yenconsecuencia,esuna serie nica y fcilmente identifcable.Vamosa ver la televisin pero el televisor no enciende, a continuacin elaboremos un diagrama que nos permita decidir si se enva el aparato a servicio tcnico o no.Servicio Nacional de Aprendizaje - SENAPara llevar a cabo esta secuencia de instrucciones en la computadora, utilizamos un programa, tambin llamado software, que es un conjunto de cdigos o instrucciones secuenciales que describen o defnen la realizacin de alguna accin en la computadora y para escribir los programas se utilizan los lenguajes de programacin. Los programas de las computadoras actuales son secuencias de instrucciones que se codifcan como secuencias de dgitos numricos y para ser elaborados se lleva a cabo una secuencia cronolgica que comienzan con la ubicacin y defnicin del problema y posteriormente establece el programa que lo soluciona.Conceptos generales de programacinElcomputadorsehaconvertidohoyendaenuna herramienta indispensable para realizar cualquier tipo de trabajo, en el hogar, la industria, el estudio, etc. Actualmentesedestacaporsugrancapacidad dealmacenamientodedatosyprocesamientode informacin que hoy en da son necesarios para generar resultados en muy poco tiempo. En el desarrollo de un programa, el computador interpreta las instrucciones que se le dan y las ejecuta gracias a la secuencia dada por el programador, las cuales deben cumplir reglas que estn escritas en el lenguaje de programacin, este proceso es la manera de comunicarle a la mquina lo qu debe hacer.Servicio Nacional de Aprendizaje - SENAEl papel de los programadores es esencial en la solucin del problema planteado, traduciendo el problema en lenguaje de programacin entendible para la mquina el cual se convierte en cdigo ejecutable o programa fnal.Pero esto no sera posible sin el computador, por esta razndelimitemosques,culessonsuspartesy culfuncionalidadbsica.Losinvitamosaexplorar los iconos de contenido.Qu es un computador?Un computador es un componente electrnico que sirve para procesar informacin y dar los resultados esperados. Es una herramienta esencial en muchos campos de aplicacin.Los elementos bsicos que componen el computador para su funcionamiento son: la unidad central de procesamiento (CPU), la unidad de memoria o memoria central, la unidad lgica y aritmtica (ALU) y las unidades de entrada ysalida. COMPUTADORASOFTWAREDatos de salida Datos de entradaFigura 1. Elementos que componen el computadorFuente: Prieto y Torres (2005)Servicio Nacional de Aprendizaje - SENAHardware y softwareTodos los componentes fsicos o tangibles que conforman el computador al igual que los dispositivos de entrada y salida se conocen como hardware.El conjunto de programas o instrucciones que permiten el correcto funcionamiento del computador se le denomina software. El software es la parte lgica que conforma el computador para la realizacin de tareas especfcas, entre ellos tenemos el sistema operativo que permite funcionar correctamente al resto de programas.Organizacin fsica del computadorAprendices, por lo general la mayora de computadores grandes o pequeos,constan fundamentalmente de tres componentes principales entre ellos tenemos: la UnidadCentraldeProceso(CPU)oprocesador,la memoria principal y el programa.Con ayuda de Iris ampliemos un poco ms.Launidadcentraldeproceso(CPU)eselcerebrodelcomputador,sufuncin escontrolarelperfectofuncionamientodetodosloscomponentesyejecutarlas instrucciones aritmticas y lgicas. La memoria es utilizada para que los programas delcomputadorpuedaniniciaroseejecutenyquedenadisposicindelusuario. Veamos una representacin grfca en la fgura 2.Servicio Nacional de Aprendizaje - SENAProcesador (CPU)ProgramaSalida de datos Entrada de datosMemoria principalUnidad de control, UCUALFigura 2. Organizacin fsica del computadorFuente: Prieto y Torres (2005)Lamemoriaprincipalconocidacomomemoriadeacceso aleatorioRAM(Random AccessMemory)permitelaejecucin delasaplicacionesdelcomputadoryguardatemporalmentelas instrucciones solicitadas por el usuario. Una de sus caractersticas es que no permite almacenar datos de forma permanentemente, si el computador se apaga se pierde de esta memoria la informacin que no se haya guardado.Otro tipo de memoria que utiliza el computador es la denominada memoria ROM (Read Only Memory), esta memoria es de solo lectura y es utilizada por el sistema para iniciar la BIOS, el programa donde se guarda toda la confguracin de los componentes internos como discos duros, memorias, unidades de CD, DVD, puertos USB, etc. lo que permite dar inicio al equipo de cmputo una vez todas sus unidades estn funcionando correctamente.Servicio Nacional de Aprendizaje - SENALa memoria cach es un tipo especial de memoria reservada que utilizalamemoriaprincipal,lacual,guardainformacinaaltas velocidadesypuedeserledaposteriormenteporlosprogramas que se hayan utilizado y acceder nuevamente cuando se requiera.Lasunidadesdeentradaseutilizanparaingresardatosenel computador para su procesamiento. Para hacerlo se utilizan diversos dispositivos como teclados, mouse, lectores de cdigo de barras, memorias USB, etc.La unidad de salida permite presentar los resultados despus de realizar el procesamiento de los datos al exterior a travs de diversos dispositivos de salida como la pantalla, la impresora, la memoria USB, el DVD, etc.Sialafgura2seaadenlos dispositivosdeentradaysalida descritosanteriormente,tenemos laestructuratpicadeunsistema de computacin con su unidad de procesamiento.UCP ProcesadorUnidad de controlMemoria centralUnidad aritmtica y lgicaDispositivos de entradaDispositivos de salidaDispositivos de entrada /salidaMemoria externa(almacenamiento permanente)Figura 3. Estructura tpica de un sistema de computacinFuente: Prieto y Torres (2005)Servicio Nacional de Aprendizaje - SENAAlgoritmos y programaUn algoritmo es un conjunto de instrucciones ordenadas, defnidas y fnitas con el cual se realiza una tarea en la solucin de un problema determinado.Entrelospasosparalarealizacindeunalgoritmo siempredebeexistirunpuntodeinicioyunpunto determinacinofn,debensernicosydefcil identifcacin.Las personas que realizan diariamente tareas asociadas con acciones que buscan alcanzar un resultado o la solucindeunproblema,ejecutantareassiguiendo unospasosdemaneraordenadayadecuada,que comparadosconunalgoritmo,sonexactamentelo mismo.Un ejemplo prctico de la vida diaria es abrir y cerrar una puerta. Como es lgico, lo hemos hecho infnidad devecesynoponemosatencinalospasosque debemos seguir para poder realizar esta actividad sin contratiempos. A continuacin, haremos un algoritmo con todos los pasos que se siguen para terminar con un objetivo, en este caso, hacer un plato internacional mexicano.Haganclicenlosconosdecontenidoparaqueles ample la informacin.Servicio Nacional de Aprendizaje - SENAEjemploAcontinuacin,encontramosunejemploque fuetomadoprestadoensutotalidaddeltexto Fundamentos de programacin de Cair (2006). Nuestratareaesconstruirunalgoritmopara prepararChilesmoritarellenosconsalsade nuez. Primero veamos los ingredientes y luego el algoritmo que nos ayudar a preparar este delicioso plato.Ingredientes:150 g de chiles morita (unos 20)2 cucharadas de aceite12 dientes de ajo1 cebolla cortada en aros fnos2 tazas de vinagre de vino tintoSal10 granos de pimienta negra11/2 cucharadas de organo seco185 g de piloncillo ralladoRelleno:1 cucharada de aceite1/2 cebolla fnamente picada2 dientes de ajo fnamente picados1/2 taza (125 g) de tomate fnamente picado1/4 taza (30 g) de almendras peladas y picadas1/4 taza (30 g) de uvas pasas sin semillas1 pechuga entera de pollo cocida y fnamente desmenuzada1 cucharadita de sal1/2 cucharada de pimienta recin molidaSalsa:2 huevos, separadas las claras de las yemas3/4 taza (90 g) de harinaAceite para frer3/4 taza (90 g) de nueces1 taza de crema de leche espesa, no azucaradaServicio Nacional de Aprendizaje - SENAAlgoritmo (preparacin): Lave los chiles y squelos bien. Caliente el aceite en una sartn grande y saltee los chiles, los ajos y la cebolla. Aada el vinagre, la sal, los granos de pimienta, el organo y el piloncillo, y contine salteando durante 10 minutos. Retire del fuego, deje que se enfre la mezcla y pongala en una cazuela, preferentemente de barro, tapada. Refrigere 24 horas. Para preparar el relleno, caliente el aceite en una sartn y saltee la cebolla durante cinco minutos o hasta que est transparente. Agregue los ajos, el tomate, las pasas, las almendras y dos cucharadas de vinagre en el que se cocieron los chiles. Mezcle bien y aada el pollo, la sal y la pimienta. Cueza a fuego lento durante ocho minutos, sin dejar de mover. Reserve. Muela el ajo, la pimienta y un poco de sal y nteselos a las pechugas. Con unos guantes (para evitar que se irrite la piel) corte cada chile a lo largo. Quteles las semillas y desvnelos. Ponga el relleno a cada chile con una cucharita. No ponga mucho para evitar que se desparrame al frer los chiles. Bata las claras al punto de turrn (de nieve). Agregue una a una las yemas sin agitar demasiado (para evitar que las claras pierdan volumen). En una sartn grande, caliente entre 2 y 3 cm de aceite y djelo al fuego hasta que est muy caliente. Ponga la harina en un plato y revuelque en ella cada chile hasta queestcubierto;sumrjaloenelhuevobatidoeinmediatamentepongaloenel aceite. Fra cada chile hasta que se dore por un lado y luego dele vuelta para que se dore el otro lado. En un procesador de alimentos o similar, haga un pur con las nueces y la crema con una pizca de sal. Sirva los chiles con un poco de la crema de nuez encima de ellos (el resto se presenta en una salsera). (Cair, 2006)Servicio Nacional de Aprendizaje - SENAEnlasiguientefgurasepuedenobservarclaramentelasetapasaseguirpara solucionar el problema planteado.PROBLEMAAnlisis delproblemaEtapa 1Construccindel algoritmoEtapa 2Verificacindel algoritmoEtapa 3Figura 4. Etapas para la solucin de un problemaFuente: Cair (2006)Caractersticas del algoritmoExisten unas caractersticas que debe cumplir el algoritmo, este debe ser:Preciso: los pasos a realizar en el algoritmo deben ser clarosDeterminado: debe arrojar los resultados esperadosFinito: independientemente de lo complejo que sea, el algoritmo debe tener longitud fnitaPor defnicin, un algoritmo debe cumplir con tres partes fundamentales: entrada, procesoysalida.Enelalgoritmodelarecetadecocinadelejemplo1,citado anteriormente, se tiene lo siguiente:Entrada: ingredientes y utensilios empleadosProceso: preparacin de la recetaSalida: plato terminadoServicio Nacional de Aprendizaje - SENAAlgoritmos cualitativos y algoritmos cuantitativosUn algoritmo se dice que es cualitativo cuando sus instrucciones dadas son descritas por medio de palabras y no incluye clculos numricos, por ejemplo cambiar una llanta de un automvil o hacer una llamada telfnica, como en nuestro siguiente ejemplo.Ejemplo 2Una persona desea realizar una llamada telefnica a travs de su telfono celular. El algoritmo sera el siguiente:1. Inicio2. Marca el nmero de telefnico3. Presiona el botn para llamar4. Hablar5. Terminar la llamada6. FinMientrasquelosalgoritmoscuantitativossonunaseriedepasosoinstrucciones ordenadasylgicosqueinvolucranclculosmatemticosparallevaracabouna solucin.Ejemplo 3Realizar un algoritmo para encontrar el rea de un tringulo:1. Inicio2. Defnir variables rea, base, altura : real3. Solicitar base y altura4. Calcular rea = base * altura /25. Imprimir rea6. FinServicio Nacional de Aprendizaje - SENAProgramaUnprogramaosoftwarede computadoraesunconjuntode instruccionesencaminadasala realizacin de una tarea o actividad especfca.Elprogramapuedeclasifcarse segnlasfuncionesqueeste realiza:unejemplodeelloesun softwaredesistemaquesirve paraqueelcomputadorfuncione correctamente;otro,unsoftware deaplicacinparaqueelusuario realicetareascotidianas,por ejemplo,unprocesadordetexto comoWord,unprogramapara elaborarhojaselectrnicascomo Excel,ounsoftwareparallevar acabopresentacionescomo PowerPoint, etc.Porltimoydegranimportancia, destaquemosquehoyendalos programassecodifcanusando lenguajes de programacin.En la fgura 5 se observan las partes fundamentales de un programa.Entrada de datosSalida de datosPROCESOFigura 5. Partes de un programaFuente: Cair (2006)Servicio Nacional de Aprendizaje - SENAProceso de programacinQueinteresantetodoloquenoshascontadohasta este momento Iris. As que los programas se hacen con un lenguaje de programacin, por qu no nos cuentas cmo es este interesante proceso.Elaborar un programa para computador implica varias etapas, en cada una de ellas se realiza una seria de pasos ordenados con el fn de dar solucin al problema propuesto.Para llevar a feliz trmino la solucin se debe tener en cuenta los siguientes puntos:Definicin y anlisis del problemaCodificacin delprogramaDiseo dealgoritmoImplantacin delprogramaMantenimiento del programaServicio Nacional de Aprendizaje - SENADefnicin y anlisis del problemaEsteprocesoiniciacuandosepresentalanecesidadderesolverunproblema especfco, es la parte ms crtica por ello debemos entender el problema que se quiere solucionar.Diseo de algoritmoEn esta etapa se procede a disear la parte lgica para la solucin del problema, a travs de tcnicas existentes de representacin de algoritmos, entre las ms conocidas tenemos el diagrama de fujo y el pseudocdigo. Codifcacin del programaEn esta etapa se realiza el cdigo fuente utilizando un lenguaje de programacin. El cdigo fuente debe ser compilado para que pueda se entendible por la mquina.Implantacin del programaFinalmente despus de haber realizado las anteriores etapas, el programa se instala para poner en funcionamiento la solucin planteada en la primera etapa.Mantenimiento del programaEn el caso de detectar fallas o algn cambio en el desarrollo de la solucin al problema, se realizan ajustes necesarios para producir los resultados esperados.Servicio Nacional de Aprendizaje - SENATcnicas de representacin de algoritmospsilon y aprendices, es importante tener en cuenta que existen varias tcnicas para representar un algoritmo, parahacerloseutilizanformas,mtodosescritos, grfcos, etc.Los mtodos ms usados son: Diagramas de fujo Pseudocdigo Veamos en qu consisten estos mtodos:Diagrama de fujoUn diagrama de fujo es una representacin grfca y lgica de un problema, para el diseo se utilizan smbolos simples y aprobados universalmente, de tal manera que cualquier persona puede interpretarlos por su sencillez; los diagramas de fujo se conectan con fechas denominadas lneas de fujo que indican la secuencia de operacin.Es importante destacar que el diagrama de fujo es una herramienta til en la etapa de anlisis y diseo de software de mediana complejidad.Los siguientes son los smbolos bsicos para la creacin de diagramas de fujo para representar la solucin a crear. A continuacin se muestran algunos de los smbolos ms utilizados:Servicio Nacional de Aprendizaje - SENAIndica el inicio o el fnal del diagrama de fujoSmbolo de proceso, indica la asignacin de un valor a memoria o la ejecucin de un procesoIndica la entrada y salida de datosSmbolo de decisin, indica la realizacin de una comparacin de valoresRepresenta la continuidad del diagrama en otra pginaIndica repeticinLneas de fujo que indican la secuencia en la que se realizan las operacionesIndica el envo de datos a la impresoraRepresenta la continuidad del diagrama dentro de la misma pginaAntes de continuar tengamos en cuenta algunas recomendaciones para elaborar un diagramas de fujo:- Use solamente lneas horizontales y verticales- Use conectores solo cuando sea necesario- No deje lneas sin conectar- Evite cruce de lneas- Redacte el texto escrito que va dentro de los smbolos de manera clara y concisaServicio Nacional de Aprendizaje - SENAParamayorclaridad,observemos cmoserepresentaunproblema en un diagrama de fujo:Serequiereobtenerelsalario netodeuntrabajador,paraello, sedebecapturarelnombre,las horastrabajadasyelvalordela hora. Adicional, se debe realizar un descuento correspondiente al 10% por impuestos.Tengamosencuentaquepara elaborareldiagramaconlos smbolosrespectivosyobtener sucorrectaelaboracin,existen algunosprogramas,yasean libresodepropiedad,quese pueden adquirir para realizar estos diagramas. Algunosdeellosson: SmartDraw, DFD, Microsoft Offce VisioProfessional2010,GPL, Pseint, entre otros.InicioLeer nombre, horasprecioCalcular jornal bruto =horas * precioCalcular neto bruto =bruto - 0.10 * bruto Escribir nombre, horas, bruto, netoFinFigura 6. Diagrama de fujo del ejemplo 4Fuente: SENAPseudocdigoEl pseudocdigo es una tcnica para diseo de programas (algoritmos) que permite defnir las estructuras de datos, las operaciones que se aplican a los datos y la lgica que tendr el programa de computadora para solucionar un determinado problema.Se utiliza un lenguaje muy parecido a nuestro idioma, pero que respeta las directrices y los elementos de los lenguajes de programacin. Veamos un ejemplo.Servicio Nacional de Aprendizaje - SENAEjemplo 5Escribir el requerimiento planteado en el ejemplo 4, salario neto, utilizando pseudocdigo.1. Inicio2. Lea nombre, horas, valor_hora3. Neto = salario-(salario*10%)4. Imprima nombre, salario, neto5. FinalHemosllegadoalfnaldeesteprimerrecorridode aprendizaje. Esperamos que los contenidos sean de gran utilidad. Hasta pronto!Servicio Nacional de Aprendizaje - SENACD-ROM (Compact Disk - Read Only Memory): disco compacto de slo lectura. Tiene una capacidad de almacenamiento de hasta 650 megabytes.Controlador: programa que comanda los perifricos conectados a la computadora.CPU(CentralProcessingUnit):enespaolunidadcentralde procesamiento, es el procesador que contiene los circuitos lgicos que realizan las instrucciones de la computadora.DVD (Digital Versatile Disc): en espaol Disco Verstil Digital, en susiniciossussiglassetomaroncomoDiscodeVideoDigital. Disco que posee gran capacidad de almacenamiento y sirve para almacenar cualquier tipo de informacin incluidos datos, video o msica.Gigabyte (GB): unidad de medida de una memoria. 1 gigabyte = 1024 megabytes = 1.073.741.824 bytes.Hardware:todosloscomponentesfsicosdelacomputadoray sus perifricos.Lenguaje de programacin: sistema de escritura para la descripcin precisa de algoritmos o programas informticos.GlosarioServicio Nacional de Aprendizaje - SENAMemoria cach: pequea cantidad de memoria de alta velocidad que incrementa el rendimiento de la computadora almacenando datos temporalmente.Microprocesador (microprocessor): es el chip ms importante de una computadora. Su velocidad se mide en MHz (Megahertz).Monitor:unidaddevisualizacin,comnmenteconocidacomo pantalla.Perifrico: todo dispositivo que se conecta a la computadora. Por ejemplo: teclado, monitor, mouse, impresora, escner,, etc.Procesador (processor): conjunto de circuitos lgicos que procesa las instrucciones bsicas de una computadora.RAM (Random Acces Memory): en espaol memoria de acceso aleatorio. Memoria donde la computadora almacena datos que le permiten al procesador acceder rpidamente al sistema operativo, las aplicaciones y los datos en uso. Tiene estrecha relacin con la velocidad de la computadora. Se mide en megabytes.GlosarioServicio Nacional de Aprendizaje - SENAROM (Read Only Memory): en espaol memoria de slo lectura. Memoriaincorporadaquecontienedatosquenopuedenser modifcados. Permite a la computadora arrancar. A diferencia de la RAM, los datos de la memoria ROM no se pierden al apagar el equipo.SistemaOperativo(OS):programaqueadministralosdems programas en una computadora.Software:trminogeneralquedesignalosdiversostiposde programas usados en computacin.USB (Universal Serial Bus): es una interfase de tipo plug & play entre una computadora y ciertos dispositivos, por ejemplo, teclados, telfonos, escneres e impresoras.GlosarioServicio Nacional de Aprendizaje - SENACair,O.(2006).Fundamentosdeprogramacin.PiensaenC. Mxico: Pearson Educacin.Prieto, A. & Prieto, B. (2005). Conceptos de Informtica. Coleccin Schaum. Madrid: McGraw-Hill.Prieto, A. & Torres, J. (2005). Introduccin a la informtica, 3 ed., Madrid: McGraw-Hill.FuentesServicio Nacional de Aprendizaje - SENALder lnea de produccinAlba Luca RamrezExperta TemticaLaudytMara Lambrao PrezAsesora pedaggicaAda Marcela SnchezSandra Maritza Prez R.GuionistaCarlos Andrs HuertasSandra Maritza Prez R.Diseo grfcoSandra Liliana GiralEdmundo WattsJose Mario AlzateProgramacinUrlieson LenGabriel LenCrditos