Вы находитесь на странице: 1из 41

ELEMENTOSDECOMPUTACIN

Claudio Trinidad Urbn


Ingeniero Sistemas INTEC Maestra Alta Gerencia INTEC Email: claudiot@gmail.com 809 850 1460

Agenda
Evaluacin. ImportanciadelaProgramacinde Computadoresenlaenseanzadela Ingeniera. Algoritmos NotacionesAlgortmicas Expresiones ConceptosGenerales

Evaluacin

Primera Evaluacin Segunda Evaluacin Tercera Evaluacin TrabajoPrctico Examenfinal

Puntos Prctica 5 5 5 15

Puntos Prueba 10 10 15 15 Totalnota teora Nota Laboratorio Totalpuntos

Total 15 15 20 15 15 80 20 100

Fecha 3ra.Semana 5ta.Semana 8va.Semana 10ma.Semana 11va.Semana

Notas:
Lasnotasdelasprcticasdelastresprimeras evaluacionesestarndependiendodeldesempeoen laspruebas.Siustedobtienemenosdeun90%,su notadeprcticaserunporcentajeigualaldesu prueba,siobtieneenlaprueba90%oms,sunotade prcticaser100%. Paratomaslaspruebasesimprescindiblequehaya entregadolasprcticas,delocontrarionopodr tomarlo. Paraaprobarlaasignaturadebeobteneralmenosun 70%enlapartetericayenlaparteprctica (Laboratorio). Siobtienemenosdel70%delospuntosencualquiera deloscomponentes(teoraolaboratorio)reprueba automticamentelaasignatura.

Bienvenidos

Justificacindelaprogramacinde computadores

Resolucindeproblemas
Laresolucindeunproblema(medianteunacomputadora) serefierealprocesoconsistenteenpartirdeladescripcinde unproblema(habitualmenteenlenguajenatural,yexpresada entrminospropiosdeldominiodelproblema)ydesarrollar unprogramadecomputadoraqueresuelvadichoproblema. Laresolucindeunproblemaexigealmenoslossiguientes pasos:
DefinicinoAnlisisdelProblema. DiseodelAlgoritmo. TransformacindelAlgoritmoenunprograma. EjecucinyValidacindelprograma.

Noscentraremosenlosdosprimerospasos,quesonlosms difcilesdelproceso.Unavezanalizadoelproblemay obtenidounalgoritmoqueloresuelve,sutransformacina unprogramadecomputadoraesunatareademera traduccin.


8

SistemasdeProcesamientodelainformacin

Datos Informacin Sistema

Entrada (datos)

Proceso

Salida (Informacin)

Algunostrminos
Computadora(ordenador,enlajergainformticausualenEspaa):Dispositivoque aceptadatos,quepermiteprocesarlosdeacuerdoconunprogramaalmacenadoyque generaunosresultados. Datos:Representacinformalizadadehechos,conceptos,caractersticas,etc.,queson susceptiblesdesercomunicados,interpretadosoprocesadospormedioshumanoso automticos. Informacin:Significadoqueelhombreasignaalosdatospormediodelas convencionesutilizadasensurepresentacin.Informacin=datosprocesadosy organizados. Procesamientodedatos(deinformacin):Realizacinsistemticadeoperaciones (clculos,ordenaciones,etc.)sobrelosdatosconelfindeobtenerinformacin organizada,significativaytil. Sistema(deprocesamientodedatos,SPD):Conjuntoorganizadoderecursoshumanos, deequipamiento,etc.,queinteraccionanconelfindecumplirunconjuntodefunciones especficas(procesamientodedatos). Programa(decomputadora):Secuenciadeinstrucciones,cadaunadelascuales especificalasoperacionesquedeberealizarlacomputadoraparalaresolucindeun problema. Lenguajedeprogramacin:Lenguajeartificialqueseutilizaparaexpresarprogramasde computadora.Cadacomputadora,segnsudiseo,"entiende"unciertoconjuntode instruccioneselementales(lenguajemquina).Noobstante,parafacilitarlatareadel programador,sedisponetambindelenguajesdealtonivelmsfcilesdemanejary quenodependendeldiseoespecficodecadacomputadora.Losprogramasescritosen unlenguajedealtonivelnopodrnserejecutadosporunacomputadoramientrasno seantraducidosallenguajepropiodesta.
10

Algoritmo
Conjuntodeinstruccionesque especificanlasecuenciaordenadade operacionesarealizarpararesolver unproblema.Enotraspalabras,un algoritmoesunmtodoofrmula paralaresolucindeunproblema. Convienedestacarqueunalgoritmo esindependientetantodellenguaje deprogramacinenqueseexprese comodelacomputadoraenlaquese ejecute. Lasprincipalescaractersticasque debetenerunalgoritmoson:
Debesercomprensibleypreciso(sin ambigedades),eindicarelordende realizacindecadapaso. Debeserpredecible.Siseaplica partiendodelamismasituacininicial, debeobtenersesiempreelmismo resultado. Debeserfinito.Elalgoritmodebe terminarenalgnmomento(debetener unnmerofinitodepasos).

Elementosdeunalgoritmos
Sonvarioslaspiezasquecomponenun algoritmotpico.Heaquunalistadelosms relevantes:
Identificadores Constantes Variables Instruccionesyclusulas Documentacin
12

Elementosdeunalgoritmos(cont.)
identificadores
Losidentificadoresloscreaelprogramadorparanombrarobjetoscreados porlenelalgoritmo,comolasvariablesylossubalgoritmos. Parcrearunidentificadorsedebenseguirciertasreglas,quevarandeuna nomenclaturaalgortmicaaotra,ydeunlenguajedeprogramacinaotro. Lasdosmscomunesson:
Empiezanconunaletra Soncombinacionesdeletrasydgitos(exceptoporsubrayadocomoseparador) Algunasrecomendacionesadicionalesson: Evitarelsubrayadocomoseparadoryempezarcadaideaconunaletramayscula envez Evitarnombresmuylagos Usarnombresdescriptivos,asociadosconelobjetoencuestin Usarunprefijoqueindiqueeltipodedato Evitarelusodeacentos

13

Elementosdeunalgoritmos(cont.)
constantes
Unaconstanteesunvalorfijoenelalgoritmo,porlocualnorequiereserdefinido, sinoqueseasumeconocido,predefinido.Elusomscomndelasconstantesesenla inicializacineincrementodevariables. Ejemplosdeconstantesson:
5 3.1415926 mimammeama

variables
Unavariablepuedeservisualizadacomounlugardelamemoriadelamquinaen dondesepuedeguardarunvalordeunciertotipo.Cadavariabletieneasociadoun tipoodominio,unadimensinyunaestructura. Eltipoodominioserefierealtipodevalorquepuedealojar,locualnormalmentese haceapuntandoaunconjuntodedatospredefinidoointrnsecoallenguaje,comolos nmerosenteros,losreales,loscaracteres(alfanumrica).Ashablamosdequeuna variableesentera,real,carcter. Ladimensindeunavariableserefiereasisolamentepuedealojarunavaloralavez, osipuedealojarvariossimultneamente.Podemosdecir,entonces,queunavariable esescalaroqueesvectorial(arreglo).

14

Elementosdeunalgoritmos(cont.)
instrucciones
Unainstruccinesunaorden,ypuedetenerunaovariaslneas,estoes,ser simpleocompleja. Lasinstruccionestambinpuedenserllamadasestructuras,ydesdeeste puntodevistaseclasificanende:
secuencia Controly/oseleccin repeticin

Lasinstruccionesbsicasson:
inicio/fin declaracin(odefinicin) asignacin(yclculo) lectura/escritura si mientras/accinmientras invocacin(desubrutina) aceptacin/retorno(deparmetros) comentario(explicacin)

15

Estructuradeunalgoritmo
Laestructuradeunalgoritmovaraconla nomenclaturaonotacinutilizada,peroheaqu elesquemamsrecomendable,conlas divisionesdeunalgoritmoenorden:
cabecera declaracin inicializacin cuerpo(accin) finalizacin pie

16

Notaciones
Cmoesposibleprogramar?Porquesedisponedeuna notacinalgortmicaquepermite:
Describirlasoperacionespuestasenjuego(acciones). Describirlosobjetosmanipuladosporelalgoritmo (datos/informaciones). Controlarlarealizacindelasacciones,indicandoelmodode organizacindeestasaccioneseneltiempo(mediantelasprimitivas decomposicinodecontrol).

Debesubrayarsequelanotacinalgortmicanoesenningn casounlenguajedeprogramacin.Loesencialdela notacinalgortmicaesquelasaccioneselegidasseanlas necesariasysuficientesparaexpresartodoalgoritmo.

17

Notaciones(cont.)
Prosa
Laprosaconsisteenutilizarellenguajecotidiano, informal,paraexpresarlosdistintospasosdeun algoritmo.Porejemplo,paraescribirlosprimeros 100nmerosnaturalespodramosescribirenprosa:
1.hacerNiguala1 2.escribiraN 3.sumar1aN 4.SiNesmenoroigualque100,volveralnea2 5.fin

18

Ejercicio
Determinarlasumadeloscubosdelosdgitosdeunnmero enterode3cifrasodigitos.
1. 2. 3. 4. 5. 6. 7. Ejemplo234,2^3+3^3+4^3=99 LeerN HacerCigualaNentre100 (C=N/100) HacerUigualaNmod10 (U=NMOD10) HacerDiguala(Nentre10)mod10 (D=(N/10)mod10) HacerresultadoigualaC^3+D^3+U^3 Escribirresultado Fin.
19

ejercicio
Dadounacantidaddekilmetros,convertirlosa metros,pulgadas,piesyyarda.
1. LeerKm 2. Hacermtigualakm*1000 3. Hacerpgiguala(mt*100)/2.54 4. Hacerpiesigualapg/12 5. Haceryardaigualapies/3 6. Escribirmt,pg,pies,yarda 7. Fin

20

Ejercicioconprosa
Escribaunalgoritmoquesolicitedosnmeros enterosydigasiunoesdivisordelotro.Ejemplo 15y5,donde5esdivisorde15.
1Leera 2Leerb 3Sia>=b,Siamodb=0,Escribirbesdivisordea,sinoEscribirb noesdivisordea, 4Sib>=a,Sibmoda=0,Escribiraesdivisordeb,sinoEscribira noesdivisordeb, 5Fin.

21

Notaciones(cont.)
Smbolosmasutilizadosenlaconstruccindediagramas deflujos.
Lnea de flujo Proceso Entrada/salida Caja de decisin Inicio/Fin Disco Magntico Conector Proceso Predefinido Comentario
22

Proceso Manual Entrada Manual Salida Pantalla Documento

Notaciones(cont.)
INICIO

Diagramadeflujo
Undiagramadeflujoesun algoritmorepresentado grficamente,utilizando ciertossmbolos estandarizados,loque facilitamuchola comprensindelalgoritmo, sibienconmuchas limitaciones.

Leer X

N1

Escribir N

NN+1

Si

N<=X No

FIN

23

Notaciones(cont.)
LAE(LenguajeAlgortmicoEstructurado)
Ellaeesunaherramientadidcticaquepermiteredactarenespaol(similarala prosa),usandounaspocasreglasestructuradasparaaadirciertorigoryclaridadala redaccindealgoritmos,ypoderabordardemaneraexplcitaconceptoscomola modularidadylaencapsulacin,particularmenteenfatizandolaestructuracin(no goto).
Unaversinlaeparaescribirlosprimeros10nmerosnaturalespodraser: Tareaprimeros10Naturales comento,escribolosprimeros10nmerosnaturales Defino N,nmeronatural findefino AsignoaN,1 MientrasN<=10 Escriboa,N AsignoaN,N+1 finmientras fintarea

24

EjemplodeAlgoritmoenLAE
NmerosPrimos NmerosPares NmerosPerfectos

25

TareaNumeroPar Comento,Programaquedeterminasiunnmeroespar. Defino n,NumeroEnteroPositivo. FinDefino Escriboa,Introduzcaunnmero. Leoa,n. Si(nmodulo2=0) Escriboa,Elnmeroespar. Sino Escriboa,NoesPar. FinSi FinTarea.
26

NmerosParesenLAE

Nmeros Primos en LAE TareaNumeroPrimo


Comento,Programaquedeterminasiunnmeroesprimo. Defino n,NumeroEnteroPositivo. x,n. FinDefino Asignoa,x,2. Escriboa,Introduzcaunnmero. Leoa,n. Mientras((x<n)y(nmodulox<>0)) Asignoa,x,x+1. FinMientras. Si(n=x) Escriboa,Elnmeroesprimo. Sino Escriboa,NoesPrimo. FinSi. FinTarea.
27

TareaNumeroPrimo Comento,Programaquedeterminasiunnmeroesprimo. Defino n,NumeroEnteroPositivo. x,n. Pri,n. FinDefino Asignoa,x,2. Asignoa,Pri,0. Escriboa,Introduzcaunnmero. Leoa,n. Mientras((x<=n/2)y(Pri=0)) Si(nmodulox=0) Pri=1. FinSi Asignoa,x,x+1. FinMientras. Si(Pri=0) Escriboa,Elnmeroesprimo. Sino Escriboa,NoesPrimo. FinSi. FinTarea.

NmerosPrimosenLAE(modif.)

28

TareaNumeroPerfecto Comento,Programaquedeterminasiunnmeroesperfecto. Defino n,NumeroEnteroPositivo. x,n. s,n FinDefino Asignoa,s,0. Asignoa,x,1. Escriboa,Introduzcaunnmero. Leoa,n. Mientras(x<n) si(nmodulox)=0 Asignoa,s,s+x finSi Asignoa,x,x+1. FinMientras. Si(n=s) Escriboa,Elnmeroesperfecto. Sino Escriboa,Noesperfecto. FinSi. FinTarea.

NmeroPerfectoenLAE

29

ClculodeRaces

Tareaecuacion comento,algoritmoparacalcularlasraices Defino a,b,c,x1,x2,numerosreales FinDefino Escribo(DemeelvalordeA:) Leer(a) Escribo(DemeelvalordeB:) Leer(b) Escribo(DemeelvalordeC:) Leer(c) Si(a<>0)y(b^24*a*c>=0) x1=(b+sqrt(b^24*a*c))/(2*a) x2=(bsqrt(b^24*a*c))/(2*a) Escribo(Lasraicesson:,x1,x2) Sino Escribo(Nosepuedencalcularlasraices) FinSi FinTarea
30

LenguajesdeProgramacin
TiposPrincipales:
Mquina:escritosenleguajedirectamente inteligiblesporlamquina(computadora),yaque suscadenassoncadenasbinariasqueespecifican unaoperacinylasposiciones(direccin)de memoriaimplicadasenlaoperacin. Bajonivel(ensamblador):masfcildeentenderque eldemquina,perolasinstruccionessonconocidas comonemotcnicos(mnemonics) Altonivel:escritosenlenguajecasinaturalparaque laspersonasescribanyentiendanelprogramade unamaneramuchomasfcil.
31

LenguajesdeProgramacin
Loslenguajesdeprogramacinpuedenserclasificadosdeacuerdoadiversos criterios: Lenguajesinterpretados Lenguajescompilados Paradigmadeprogramacin
Programacinorientadaaobjetos Programacinestructurada Programacinlgica Programacinfuncional

NiveldeAbstraccin
Lenguajesdebajonivel Lenguajesdealtonivel

Generacin
Primerageneracin Segundageneracin Tercerageneracin Cuartageneracin Quintageneracin

32

EjemplodeLenguajesdeProgramacin
Ada ActionScript ASP ASP.NET BASIC BCPL C C++ C# COBOL Delphi Ensamblador FORTRAN Java JavaScript Modula Pascal Perl PHP RPG VisualBasic
33

Compilacin
Compilacineselprocesoporelcualsetraducenprogramasencdigo fuenteaprogramasencdigoobjeto.Elprogramaquerealizaesta traduccinsellamacompilador.Elarchivodecdigoobjetoquese obtieneconlacompilacinestrepresentadonormalmenteencdigode mquina,aunquetambinpuedeseruncdigointermediobinario multiplataforma(bytecode). Paraconseguirelprogramaejecutablefinalapartirdetodoslosarchivos decdigoobjetosedebeutilizarunprogramallamadomontadoryun enlazador(linker).Esteprocesodemontajetienecomoresultadoun archivoejecutablequecontieneelprogramaencdigomquinalisto paraserejecutadoconlaayudadelsistemaoperativo.Elprocesode enlazamientoarreglalasreferenciasarutinasexternas.

34

InterpretacindeCdigo
Eninformtica,unintrpreteesunprogramacapazdeanalizaryejecutar otrosprogramas,escritosenunlenguajedealtonivel.Losintrpretes suelencontraponersealoscompiladores,yaquemientrasquelos segundosseencargandetraducirunprogramadesdesudescripcinen unlenguajedeprogramacinalcdigomquinadelsistemadestino,los primerosslorealizanlatraduccinamedidaqueseanecesarioy normalmente,noguardanelresultadodedichatraduccin. Losprogramasinterpretadossuelensermslentosqueloscompilados debidoalanecesidaddetraducirelprogramamientrasseejecuta,peroa cambiosonmsflexiblescomoentornosdeprogramacinydepuracin (loquesetraduce,porejemplo,enunamayorfacilidadparareemplazar partesenterasdelprogramaoaadirmduloscompletamentenuevos),y permitenofreceralprogramainterpretadounentornonodependiente delamquinadondeseejecutaelintrprete,sinodelpropiointrprete (loqueseconocecomnmentecomomquinavirtual).

35

EjemplosdeLenguajesInterpretes
ASP(hastalaversin3) JavaScript(todaslasplataformas) Logo(LinuxWindowsMac) Lush(LispparagrficosLinux) Perl(MundoUnixyengeneralparatodaslas demsplataformas) PHP Python(todaslasplataformas) VBScript(MicrosoftWindows)
36

TipodeDatos
Conceptopropiodelainformtica,msespecficamentedeloslenguajesde programacin,aunquetambinseencuentrarelacionadoconnocionessimilares delasmatemticasylalgica.
Podemosdefiniruntipodedatoapartirdelosvalorespermitidosylasoperaciones quesepuedanllevaracabosobrel. Amenudo,unmismotipodedatoseimplementardeformasdiversas.

Tiposdedatos
Tipossimples
TipoOrdinal
Tipospredefinidos Tipodedatonumrico Tipodedatocaracter Tipodedatolgico Tiposdefinidosporelusuario Tipodedatoenumerado Tipodedatosubrango

TipoNoOrdinal
Tipodedatoreal Tipodedatopuntero

Tiposcompuestosocomplejos
CadenadeCaracteres Estructuradedatos
37

Expresiones
Combinacionesde constantes,variables, smbolosdeoperacin, parntesisynombrede funcionesespeciales. LasExpresionesse clasificanen:
Aritmticas Relacionales Lgicas Carcter

Aqu los parntesis indican el orden de clculos y representa la funcin raz cuadrada.

38

Expresiones
OperadoresAritmticos
^ * + div Exponenciacin Multiplicacin Suma DivisinEntera / Divisin Resta %,mod Mdulo(resto)

Operadoresderelacin
< Menorque = Igual >= Mayoroigual > Mayorque <= Menoroigual <>,!= Diferente

OperadoresLgicos and,&& Y not,! Negacin

or,|| O

39

Ordendeprioridaddelosoperadores
1. 2. 3. 4. 5. 6. 7. 8. 9. Parntesis(primerolosmsinternos) Signo Potencia Producto,divisinymdulo Sumayresta Relacionales Negacin Conjuncin Disyuncin

40

Conviertaexpresionesalgebraicasaexpresionesalgorimicas

41

Вам также может понравиться