AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y...

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

Transcript of AED 2018 K1051 2018 K1051 Clase #01.pdf · Formar e informar acerca de metodologías, técnicas y...

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