51
Prof. Esp. Ing. José María Sola Universidad Tecnológica Nacional Facultad Regional Buenos Aires Departamento de Ingeniería en Sistemas de Información K1051 2018

AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Prof.Esp.Ing.JoséMaríaSola

UniversidadTecnológicaNacionalFacultadRegionalBuenosAires

DepartamentodeIngenieríaenSistemasdeInformación

K1051

2018

Page 2: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Mar22,Jueves

Page 3: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Agendaparaestaclase� BienvenidosalaUniversidadyalCurso� Presentacióninicial,conozcámonos� ElcontextodeAED�  Intervalo�  SobrelaCátedraylaAsignatura�  Laaprobaciónylaregularización� PlataformadelCurso� Primercontactoconlaprogramación� Trabajo#0

Prof. Esp. Ing. José María Sola 3

Page 4: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Conozcámonos

Page 5: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

DocentesdelCurso� ProfesoraCargo

�  Esp.Ing.JoséMaríaSola� Auxiliares

�  Srta.ElizabethSosa�  Sr.MatíasNicolásAlbacetti�  Sr.JoelEdgardoPeralta

Prof. Esp. Ing. José María Sola 5

Page 6: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EnlaClaseyHorarios� Primerasfiladebancolibresparaelproyectoryparaotromaterial(sielaulanotieneproyectorintegrado)

� Entrarysalirporpuertatrasera(sielaulalatiene)� Celular,ensilencioovibrador� Horariosdelcurso

�  5horascátedraconintervalode15minutos�  3horasreloj+intervalode15o20minutos

�  19:00a�  Intervalo20:30o20:45

�  23:00� Consultaspresenciales,antesydespuésdeclase.

Prof. Esp. Ing. José María Sola 6

Page 7: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software
Page 8: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

AnálisisdelTítulodelaCarrera–IngenieríaenSistemasdeInformación�  Ingeniería

�  Aplicacióntecnología—cienciaytécnicas—pararesoluciónproblemas

�  Construccióndesoluciones�  Sistema

�  Conjuntodeelementosrelacionadosconobjetivocomún

�  Información�  Datosprocesados�  Materiaprimaparatomade

decisiones�  Datovalorsintáctico�  Informaciónvalorsemántico.

�  SistemadeInformación�  Sistemamanualoautomático

con�  personas,máquinasométodosque�  procesainformación

�  recolecta,transmite,almacenadistribuye,presentaymanipula

�  informaciónparasususuarios�  entiempoyforma

�  Engeneral,lossistemasdeinformacióntienengrandespartesimplementadasconSistemasSoftware

�  LaprogramaciónylaconstruccióndeSistemasSoftware.

Prof. Esp. Ing. José María Sola 8

Page 9: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

RoldelaMateriaenlasAcAvidadesdelIngenieroenSistemasdeInformación

Organización

SistemadeInformación

Proyecto

Problema(Necesidad)

Desarrollo

Análisis Diseño Implementación

Solución

Prof. Esp. Ing. José María Sola 9

Page 10: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

LasAsignaturasParalelas� MatemáticaDiscreta�  SistemasyOrganizaciones

Prof. Esp. Ing. José María Sola 10

Page 11: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  Objetivos�  Aplicarmétodosinductivos,

deductivosyrecursivosenlaresolucióndesituacionesproblemáticasydemostracionesmatemáticas

�  Comprenderlosconceptosyprocedimientosnecesariospararesolverrelacionesderecurrencia

�  Aplicarpropiedadesyfuncionesdefinidasenlosnúmerosenterosyenterosnonegativos

�  Caracterizardistintasestructurasalgebraicas,enfatizandolasqueseanfinitas

ylasálgebrasdeBoole�  Aplicarpropiedadesdegrafos,

dígrafosyárbolesenlaresolucióndesituacionesproblemáticas

�  ContenidosMínimos�  LógicaProporcionalClásicay

dePredicadosdePrimerOrden�  TeoríadeNúmeros�  InducciónMatemática�  RelacionesdeRecurrencia�  EstructurasAlgebraicasFinitas

yAlgebradeBoole�  Grafos,dígrafosyárboles.

MatemáAcaDiscreta

Prof. Esp. Ing. José María Sola 11

Page 12: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

AEDenlaCarrera

Asignatura

Área

CarreraIngenieríaenSistemasdeInformación

Programación

AED Otras

Otras

Otras

Prof. Esp. Ing. José María Sola 12

Page 13: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

ÁreaProgramación� Objetivos

�  Formareinformaracercademetodologías,técnicasylenguajesdeprogramación,comoherramientasbásicasparaeldesarrollodesoftwareyelestudiodedisciplinasquepermitancrearnuevastecnologías

� Asignaturas(640hs)�  1.MatemáticaDiscreta(96hs)�  2.AlgoritmosyEstructurasdeDatos(160hs)�  3.SintaxisySemánticadelosLenguajes(128hs)�  4.ParadigmasdeProgramación(128hs)�  5.GestióndeDatos(128hs).

Prof. Esp. Ing. José María Sola 13

Page 14: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  IntegraciónHorizontal:Paralelas�  ÁreadeProgramación

�  MatemáticaDiscreta�  Computación

�  ArquitecturadeComputadoras�  SistemasdeInformación

�  SistemasyOrganización

�  Integraciónvertical:Posteriores�  ÁreadeProgramación

�  SintaxisySemánticadeLenguajes�  ParadigmasdeProgramación

�  Computación�  SistemasOperativos

�  SistemasdeInformación�  AnálisisdeSistemas

�  Abstracción:conceptofundamental�  Separación,dejardeladolos

detallesparaenfocarenloimportante

�  TipodeDato:�  ConjuntodeValoresyconjuntode

operacionessobreeseconjuntodevalores

�  OrientaciónaObjetos�  Objeto:entidadcon

comportamientoyquemantieneunestado.

IntegraciónconotrasAsignaturasyConceptosPrincipales

Prof. Esp. Ing. José María Sola 14

Page 15: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software
Page 16: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software
Page 17: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

AnálisisdelNombredelaAsignatura–AlgoritmosyEstructurasdeDatos� Algoritmos

�  Pasospararesolverunproblemageneral�  Datosdeentrada�  Listadepasos�  Salidaresultante

� Datos�  Valoresdeunconjunto� Datum� DatoversusInformaciónversusConocimiento

� Estructura�  Relacionesentreentidadesparaalmacenardatos

� TipodeDatosProf. Esp. Ing. José María Sola 17

Page 18: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

GeneralidadesdeAEDOrdenanza1150/2007�  Departamento IngenieríaenSistemasdeInformación�  Bloque TecnologíasBásicas�  Área Programación�  Nivel 1�  Horas/semana 5�  Horas/Año 160�  Correlatividades

�  Anteriores:Ninguna�  Siguientes

�  Debeestarregularizadaparacursar�  AnálisisdeSistemas(2do)�  SintaxisySemánticadelosLenguajes(2do)�  ParadigmasdeProgramación(2do)�  SistemasOperativos.(2do,acordeaordenanza1150/2007)

�  Debeestaraprobadaparacursar�  DiseñodeSistemas(3ro)�  GestióndeDatos(3ro)�  Ecnomía(3ro)�  RedesdeInformación(4to,acordeaordenanza1150/2007)�  Legislación(4to)

Prof. Esp. Ing. José María Sola 18

Page 19: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Objetivos ContenidosMínimos�  Identificarproblemas

algorítmicos�  Conocerelproceso

dediseñoeimplementacióndesoftware

�  Aplicarlasherramientasfundamentalesrepresentativasdelosprocesos,integrandolasintaxiselementaldeunlenguajedeprogramaciónenellaboratorioasociado

�  ConceptodeDato�  TiposdeDatosSimples�  TipoAbstractodedatos�  EstructurasdeControlBásicas:secuencial,

condicional,cíclica�  EstrategiasdeResolución�  EstructurasdeDatos:registros,arreglosyarchivos�  Abstraccionesconprocedimientosyfunciones�  PasajedeParámetros�  EstructurasdeDatoslineales(Pilas-Colas)�  AlgoritmosdeBúsqueda,Recorridoy

Ordenamiento�  ArchivosdeAccesoSecuencialyAleatorio:

organizacionesyaccesos.�  ProcesamientoBásico�  Recursividad�  NocionesdeComplejidadComputacional�  NocióndeOrdendeComplejidad.

ProgramaSintéAcodeAEDOrdenanza1150/2007

Prof. Esp. Ing. José María Sola 19

Page 20: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

LosTemasdeAED

TiposdeDatos

Algoritmos

ResolucióndeProblemas

C++(subconjunto)

Prof. Esp. Ing. José María Sola 20

AED

Page 21: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

LaCátedra� Dr.Mg.OscarBruno,ProfesorAsociadoOrdinario

�  CoordinadordelaCátedra� @orbruno�  droscarbruno.wordpress.com

Prof. Esp. Ing. José María Sola 21

Page 22: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software
Page 23: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

DinámicadeTrabajo�  Indicacióndelecturasyejerciciosobligatoriosparasiguienteclase

� Profundizacióndeconceptosenclase� Claseinteractivayparticipativa

�  Serecomiendaseguirlaclaseconlabibliografíaytomarapuntesalapar

� Ejerciciosdeaplicaciónenclase� Consultas

� Duranteclase,yjustoantesdeiniciaryfinalizarlaclase�  Enotroshorarios,atravésdelForoenYahooGroups.

Prof. Esp. Ing. José María Sola 23

Page 24: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Aprobación–ExamenFinal� Requisitoparaaprobación

�  Regularizaciónyaprobacióndelexamenfinaló�  AprobaciónDirecta

� Examenfinal�  Cuatrooportunidades

Prof. Esp. Ing. José María Sola 24

Page 25: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

RequisitosparalaRegularización(i.e.,Firma)

�  Bedelía:75%deAsistencia�  Cátedra:Evaluaciones

�  Frecuentes,Grupalesóindividuales,deaplicaciónyconceptuales�  DosconjuntosdeEvaluaciones

�  #1Trabajos:nopresenciales�  #2Exámenes:presenciales�  Fechasestablecenduranteelcurso�  Cadaconjuntotienesunota�  DosrecuperatoriosporevaluaciónenDicyFeb

�  AlFinalizarelcursoevaluaciónindividualoraloescrita("coloquio”)basadaentrabajos�  NotaFinal:promedioentreconjunto#1Exámenesyconjunto#2Trabajos.

Prof. Esp. Ing. José María Sola 25

Page 26: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

AprobaciónDirecta� Nohabersidoreincorporado� Notafinalmayoroiguala8(muybueno)� Nohaberrecuperadoningúnparcialosólounexamenparcial.

�  Sedebecumplirentiempoyformacontodoslostrabajos

� HaydosinstanciasdedeterminacióndelestadodeAprobaciónDirecta:�  EnNoviembre,antesdefinalizarlacursada� DuranteDiciembre

� QuieneslleguenalossegundosrecuperatoriosdeFebrero-Marzo,nologranlaaprobacióndirecta.

Prof. Esp. Ing. José María Sola 26

Page 27: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Herramientasparafacilitarlacursada

Page 28: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

ClasesPresenciales

josemariasola.wordpress.comHomepagedel

curso

Bibliografía�droscarbruno.wordpress.com�josemariasola.wordpress.com

YahooGroupsUTNFRBAAED

Foroparaconsultasyanuncios

GitHubResoluciones

Individualesydelcadaequipo

GoogleCalendarCaledariocondetalle

deactividades

PlataformadelCurso

Prof. Esp. Ing. José María Sola 28

Page 29: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

josemariasola.wordpress.com� HomepagedelCurso� Papers� Referencia� Trabajos� Equipos� Calendario� ResúmenesdeClases(seactualizaconpocafrecuencia)� AccesoaForo� AccesoaGitHub.

Prof. Esp. Ing. José María Sola 29

Page 30: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Bibliogra\a�  Obligatoria

�  https://droscarbruno.wordpress.com/algoritmos-desarrollo-de-temas/

�  Recomendada�  SobreProgramación

�  [Avanzado]Kernighan,B;Pike,R.Laprácticadelaprogramación.2000.Pearson:México

�  [Inicial]GarcíaMolina,J;MontoyaDato,F;otros.Unaintroducciónalaprogramación:unenfoquealgorítmico.2005.Thomson:España

�  SobreelLenguajeC++�  [Avanzado]Stroustrup,B.ElLenguajedeProgramaciónC++.2013.

AddisonWesley�  [Inicial]Deitel,H;Deitel,E.CómoprogramarenC/C++.1994.Prentice

Hall:México�  Otrosartículosalolargodelcurso,publicadosdesdelapáginadelcurso.

Prof. Esp. Ing. José María Sola 30

Page 31: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

GrupoYahooUTNFRBAAEDh`ps://groups.yahoo.com/group/UTNFRBAAED

Prof. Esp. Ing. José María Sola 31

Page 32: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  Objetivos�  Forodelcurso�  Canaldecomunicación�  Materialesdelectura�  Consultas�  Enunciados�  Anunciosparticularesdelcursoy

generales�  Antesdecadaclasesedeberevisarsi

haynovedadesenelgrupo�  Periododesuscripción

�  durantelastresprimerassemanasdelcuatrimestre

�  Siyaestáinscriptonoesnecesarioreinscribirse

�  Cuentadee-mail(decualquierdominio)connombreyapellido,asociadaalusuarioYahoo

�  Requisitosparasuscripción�  UsuarioYahooconnombrey

apellido�  Cuentadee-mail(decualquier

dominionoesnecesarioseaYahoo)connombreyapellido,asociadaalusuarioYahoo

�  Desdelapáginadesuscripción,completarformulariocon�  nombreyapellido,�  legajoy�  códigodecurso

�  Comunicación�  Elsubject(asuntodelmensaje)

debecomenzarconelcódigodecursoydebeserdescriptivo

�  Sedebefirmarconnombreyapellido

�  NoestánpermitidoslosOff-Topic�  Reglasparaelusodelgrupo

YahooenlasecciónFiles(archivos)delpropiogrupo.

GrupoYahooUTNFRBASSLh`ps://groups.yahoo.com/group/UTNFRBASSL

Prof. Esp. Ing. José María Sola 32

Page 33: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  SistemadeControldeVersiones(VCS)�  Gestióndecambios

sobreproductoosuconfiguración

�  Ejemplos:Git,Mercurial,ySubversion

�  Git�  VCSdistribuido,2005

porLinusTorvaldsparaelkerneldeLinux

�  GitHub�  Servicioque

implementaGit�  Otrossimilares:

Bitbucket,GitLab,Gitorious,CloudForge

�  ¿PorquéGitHubenelCurso?�  Tienepepositorios

públicos,yprivadosparauniversidades

�  Es,paramuchos,elprimercontactoconunVCSdistribuido,yconlenguajesdemarcalivianos,comomarkdown

�  Esmáseficientequetrabajosimpresos

�  Poseeinterfacesweb,deescritorio,ymóvil

�  ¿Paraqué?�  Avancedecadaestudiante

ydecadaequipo.�  Interacciónentrealumnos

yconlacátedrasimilararedsocial

�  Seguimientodecorreccionesymejoras

�  Repositoriosduranteelcurso�  Primerasclases

�  Repositorioindividual�  Luego,usodela

Organizaciónutn-frba-aed�  Paralosmiembrosdel

cursoasignamosunarepositorioprivado,dentroutn-frba-aed,acadaequipo

�  https://github.com/orgs/utn-frba-aed/

�  PrimerosPasosenGitHub1.  Leerguía"Git101”2.  CrearUsuario3.  CrearRepositorio.

GityGitHubh`ps://github.com/orgs/utn-frba-aed

Prof. Esp. Ing. José María Sola 33

•  https://josemariasola.wordpress.com/aed/git/

Page 34: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

LenguajesyHerramientasdeDesarrollo

Page 35: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  Lenguaje�  Lenguajedeprogramación

�  Definecomportamiento�  LenguajeóCódigoMáquina

�  LenguajedeBajoNivel�  Binario

�  0101010101010101010101�  Assembler(Mnemónicos)

�  ADDBC�  ADDAB

�  LenguajeC++�  UnlenguajedeAltoNivel

�  a=a+b+c;ó�  a+=b+c;

�  Compilador�  Traduce,bajadenivelde

abstracción.

¿QuéesProgramar?

Page 36: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Historia ConjuntosdeinfinitosprogramasválidosdeC++yC

�  1970's�  C�  CWithClasses

�  1980's�  ComienzastandardC�  C++

�  1990's�  StandardC90�  StandardC++98

�  2000's�  StandardC99�  StandardC++03

�  2010's�  StandardC11�  StandardC++11,14,17.

C++

C

SobrelosLenguajesCyC++

(representa probabilidad)

Prof. Esp. Ing. José María Sola 36

Page 37: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

/* Hello World JMS 20130411 */ #include <iostream> int main() { std::cout << "Hello, World!\n"; }

�  Propósito�  Comentarioencabezado

�  Qué�  Títulodescriptivo

�  Quién�  NúmerodeEquipoe

integrantes

�  Cuándo�  Seactualizóporúltimavez

"Hello,World!"

Prof. Esp. Ing. José María Sola 37

Page 38: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Procesobásicoparadesarrollarprogramas1.   Escribirelprogramaconuneditordetexto(e.g.,vi,

Notepad,TextPad,Sublime,TextMate,Notepad++,Notepad2).EsconvenciónparalosarchivosfuentedeC++laextensiónsea.cpp(e.g.,hello.cpp)

2.   Compilarelarchivofuenteparaproducirelprogramaobjeto(e.g.,c++hello.c)……yVincular(link)elprogramaconlasbibliotecasparacrearelprogramaejecutable;generalmenteocurrejuntoconelpuntoanterior.

3.   Ejecutarelprograma(e.g.,hello.exeó./a.out)4.  ¿Erroren2ó3?Volvera1yrepetir.

Prof. Esp. Ing. José María Sola 38

Page 39: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EjemplodesdelíneadecomandoMacOSXC++141.  Desdelalíneadecomando

1.  >vihello.cpp crearelfuente2.  >c++hello.cpp-std=c++14-Weverything

crearelejecutable enrealidad:Preprocesador�Compilador�Linker

3.  >./a.out ejecutarHello,World! salida

2.  Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3

Prof. Esp. Ing. José María Sola 39

Page 40: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EjemplodesdelíneadecomandoCompiladorMicrosok1.  Desdelalíneadecomando

1.  >notepadhello.cpp crearelfuente2.  >clhello.cpp crearelejecutable

enrealidad:Preprocesador�Compilador�Linker3.  >hello.exe ejecutar

Hello,World! salida2.  Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3

Prof. Esp. Ing. José María Sola 40

Page 41: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EjemplodesdelíneadecomandoCompiladorBorland1.  Desdelalíneadecomando

1.  >notepadhello.cpp crearelfuente2.  >bcc32hello.cpp crearelejecutable

enrealidad:Preprocesador�Compilador�Linker3.  >hello.exe ejecutar

Hello,World! salida2.  Sihayunerrorenelpaso2ó3,volveral1yrepetir2y3

Prof. Esp. Ing. José María Sola 41

Page 42: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

� ConIDE(IntegratedDevelopmentEnviroment,EntornoIntegradodeDesarrollo)�  Ejemplos

�  AppleXcode�  MicrosoftVisualC++

ExpressEdition�  Eclipse

�  SinIDE�  Editor�  Compilador. CompiladordeC/C++

ConIDE·Editor·Depurador·GestordeProyectosydeconfigu-raciones·Ayuda·ymás…

SinIDERequiereeditor

HerramientasdeDesarrollo:SobreelCompiladoryelIDE

Prof. Esp. Ing. José María Sola 42

Page 43: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EjemploconIDEMicrosokVisualStudioExpressforWindowsDesktop

Prof. Esp. Ing. José María Sola 43

Page 44: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

EjemploconIDEAppleXCode

Prof. Esp. Ing. José María Sola 44

Page 45: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

�  ConIDEyLíneadeComandos�  MicrosoftVisualStudio

Community2017�  https://www.visualstudio.com/vs/

features/cplusplus/�  AppleXcode

�  https://developer.apple.com/xcode�  CodeLite

�  https://codelite.org�  EclipseIDEforC/C++Developers

�  http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/oxygen3

�  Code::Blocks�  http://www.codeblocks.org/

downloads/�  Dev-C++

�  http://orwelldevcpp.blogspot.com

�  SinIDE,soloLíneadeComandos�  GNUCCompiler(ahoraGNU

CompilerCollection)�  http://gcc.gnu.org/install/

binaries.html�  ParaplataformasWindows

�  http://mingw-w64.org/doku.php

�  Clang�  http://releases.llvm.org/

download.html�  EmbarcaderoFreeC++Compiler

�  https://www.embarcadero.com/free-tools/ccompiler

LinksaCompiladoresC/C++Usarunosdeestoscompiladoresocualquierotro,siempreycuandoseloconfigureparaC++17(ú11ó14)

Prof. Esp. Ing. José María Sola 45

Page 46: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

hello.cpp:"Hello,World!"

Prof. Esp. Ing. José María Sola 46

Page 47: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Trabajo#0—"Hello,World!"enC++�  Enunciadoenjosemariasola.wordpress.com�  SecuenciasdeTareas

�  SolicitarinscripciónalGrupoYahooUTNFRBAAED,unpardedíasparalaaprobación�  SinoposeeunacuentaGitHub,crearla�  CrearunrepositoriopúblicollamadoAED�  Escribirelarchivoreadme.mdqueactúacomofrontpagedelrepositoriopersonal�  Crearlacarpeta00-CHelloWorld.�  Escribirelarchivoreadme.mdqueactúacomofrontpagedelaresolución.�  Seleccionar,instalar,yconfiguraruncompiladorC++17�  Probarcompiladorconhello.cqueenvíeastdoutlalíneaHello,World!osimilar�  Ejecutarelprograma,ycapturarsusalidaenunarchivodetextooutput.txt�  PublicarenrepositoriopersonalAED\00-CppHelloWorld:readme.md,hello.cpp,y

output.txt�  InformarporemailaUTNFRBASSL@yahoogroups.com1elusuariousuarioGitHub.

�  Restricciones�  Lafechayhoralímitedeentregasepublicaenelcalendario�  LaevaluaciónsehaceconlopublicadoenGitHub.

Prof. Esp. Ing. José María Sola 47

Page 48: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Términosdelaclase#Definircadatérminoconlabibliogra\a�  Contexto

�  Comportamiento�  Software�  Ingeniería�  Sistema�  Información�  IngenieríaenSistemasdeInformación�  SistemadeInformación�  Proyecto�  Problema(Necesidad)�  Solución�  Desarrollo�  Análisis�  Diseño�  Implementación�  Organización�  Abstracción�  OrientaciónaObjetos

�  AED�  Algoritmo�  Dato�  Estructura

�  EstructuradeDatos�  TiposdeDatos

�  Plataforma�  ISCV(SistemadeControldeVersiones)�  Git�  GitHub�  Repositorio

�  Pogramación�  LenguajedeProgramación�  Códigomáquina�  Assembler�  C�  C++�  Editor�  Compilador�  Líneadecomando�  IDE(IntegratedDevelopmentEnviroment,

EntornoIntegradodeDesarrollo)

01

Prof. Esp. Ing. José María Sola 48

Page 49: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software

Tareasparalapróximaclase1.  RealizarTrabajo#0"Hello,World!”.

Prof. Esp. Ing. José María Sola 49

Page 50: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software
Page 51: AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y lenguajes de programación, como herramientas básicas para el desarrollo de software