29
Abril 12, Jueves Prof. Esp. Ing. José María Sola 69

Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Abril12,Jueves

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

Page 2: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Agendaparaestaclase� ResolucióndeProblemas�  Léxico&NotacionesAlgorítmicas� Trabajo#1--ResolucióndeProblemas—Adición�  Intervalo� ModeloComputacional� Estilos� Eficiencia:Espacio&Tiempo�  IntroducciónaTipos:EnMatemáticayenC++� Trabajo#2

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

Page 3: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

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

Page 4: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

� Dominios� DominiodelProblema

�  “Qué”�  Obstáculoaunobjetivo�  AnálisisdelProblemas

� DominiodelaSolución�  “Como”�  Planparalograrel

objetivo�  SíntesisenunDiseño

�  Proceso�  SolucionaProblema

�  Qué�  EstableceForma,método

�  Cómo�  EntradadeDatos�  SalidadeResultados�  SecuenciadeAccionesoPasos�  Secuencia≠Conjunto�  (1,2,3)≠{1,2,3}�  (1,2,3)≠(1,3,2)�  (1,2,3)≠(1,2,2,3)�  {1,2,3}={3,2,2,1}.

Problema,SoluciónyProcesos

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

Page 5: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos
Page 6: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

�  Léxico� Definelasentidadesquemanipulaelalgoritmo

� Usanotaciónmatemática,nousaunlenguajedeprogramación

�  Elléxicoesindependientedelasnotacionesalgorítmicoas

� Textual:Pseudocódigo� Visual:Chapin/Lindsay/UTNFRBA

� Visual:Nassi-Shneiderman(NS)�  Estandarizada

� Visual:DiagramadeFlujo�  Estandarizada

� Textual:C++�  Estandarizada.

Léxico&NotacionesAlgorítmicas

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

Page 7: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Leer a. Leer b. Mostrar a+b.

Secuencia:ComparacióndeNotacionesAlgorítmicas

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

Textual: C++

Textual: Pseudocódigo

a

b

a+b

C

F

Visual: Chapin / Lindsay / UTN FRBA

Visual: Diagrama de Flujo

Visual: Nassi-Shneiderman

int main(){ int a, b; std::cin >> a; std::cin >> b; std::cout << a + b;

}

Page 8: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

ResolucióndeProblemas—Adición

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

Page 9: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Trabajo#1–ResolucióndeProblemas—Adición� Carpeta:01-Adición

�  Readme.md�  Etapa#1:AnálisisProblema

�  Transcripcióndelproblema�  RefinamientoeHípótesisdetrabajo�  ModeloIPO

�  Etadap#2:DiseñodelaSolución�  Léxico�  RepresetnacionesdelAlgoritmo

�  RepresentaciónTextualy�  RepresentaciónVisual

�  Adición.cpp

Page 10: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos
Page 11: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos
Page 12: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

�  Modelodeprocesamiento�  Entrada�  Proceso�  Salida(yErrores)�  ModeloIPO

�  ArquitectuadeVonNeumann(1945)�  JohnVonNeumann

(1903-1957)�  Computadoraconunidad

centraldeprocesamientoquealmacenaprogramasydatosenmemoria

�  Ejemplos�  Hola.cpp�  Adición.cpp

ModeloComputacional

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

Input Datos

(entrada)

Output Resultados

(Salida) Proceso, requiere recursos

Page 13: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

�  UnidadCentraldeProcesamiento�  Registros

�  IR:Registrodeinstrucción�  PC:ContadordePrograma

�  CA:AritméticoLógica�  CC:UnidaddeControlCentral

�  M:Memoria(Principal)�  Datos�  Programas

�  LenguajeMáquina�  I:Entrada�  O:Salida

�  Teclado�  Pantalla

�  R:MemoriaSecundaria�  ProsyConsdeMemoriaPrincipalySecundaria

�  Costo�  Eficiencia�  Tamaño�  Persistencia

ComponentesdelaArquitecturavonNeumann

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

Page 14: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

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

Page 15: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

//1 int a; cin >> a; int b; cin >> b; cout << a+b; //2 int a, b; cin >> a >> b; cout << a+b; //3 int a; int b; int c; cin >> a; cin >> b; c = a+b; cout << c;

//4 int a; cin >> a; int b; cin >> b; int c = a+b; cout << c; //5 int a; cin >> a; int b; cin >> b; b = a+b; cout << b;

�  Legibilidad� Claridad� Mantenibilidad�  Losadjetivos"idad"sonlosatributosdecalidaddeldesarrollo.

ComparaciónSubjeJva

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

Page 16: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

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

Page 17: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

RecursosUJlizados–ComparaciónObjeJva

RecursoEspacio Tiempo

Dur

ante

LatraduccióndelPrograma

dememoriasecundariaqueocupaelprogramafuente;engeneral,medidoenlíneasdecódigo(linesofcode,LOC).

requeridoporelcompiladorparalatraduccióndelprogramaenlenguajedealtonivelalenguajemáquina.

LaEjecucióndelProceso

dememoriaprincipalutilizadodurantelaejecucióndelprocesodememoriasecundariautilizadacomoáreadetrabajo.

requeridoparafinalizarlaejecucióndelproceso.

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

Page 18: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

//1 int a; int b; cin >> a; cin >> b; cout << a+b; //2 int a, b; cin >> a >> b; cout << a+b; //3 int a; int b; int c; cin >> a; cin >> b; c = a+b; cout << c;

//4 int a; int b; cin >> a; cin >> b; int c = a+b; cout << c; //5 int a; int b; cin >> a; cin >> b; b = a+b; cout << b;

�  Tiempo�  Lasdeclaracionesnoinsumen

tiempodeejecución,salvocuandotienenincializacióndeunavariableautomática

�  Cantidaddeoperaciones(aproximación)�  >>�  <<�  +�  =

�  NotaciónOGrande�  Ejex:cantidaddedatos,n�  Ejey:tiempodeprocesamiento,t�  Funciones

�  O(n):Líneal�  O(1):Constante

�  Espacio�  Cantidaddevariables

ComparaciónObjeJva

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

Page 19: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

EnMatemáticayenC++

Page 20: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

¿QuéesunTipodeDato?� Buscarunadefinición� Buscarejemplos� Representación� Valoresquealmacena� Operacionesquesepuedenrealizar� Definición

� Untipodedato,osimplementetipo,esunconjuntodevaloresyunconjuntodeoperacionessobreesosvalores.

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

Page 21: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

TiposdeDatos–ConjuntodeValoresNivelesdeabstracciónyEjemplosMatemática C++ Microprocesador(general)

Con-junto

Valores TipodeDato

Valores Representaciónelectrónica

! VF bool true false

Registro:Bit(0ó1)

Σ ABÑ!…(finito)≈ASCII

char 'a' 'A' '1' '+' '@' '\'' …

Registro:Byte(8bytes)

N Semirecta unsigned 0 1 2 96 …

Registro:Word(nbytes)

Z Recta int 1 -2 1024 …

Registro:Word(nbytes)

R Recta double 1.5 1.0 1e5 …

Registro:Floatingpoint80-bits

Σ* AABAAÑABA…

string "a" "aA" "abab" "" …

Bloquecontiguodememoria

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

Page 22: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

TiposdeDatos–ConjuntodeOperacionesNivelesdeabstracciónyEjemplosMatemática C++

Tipo (Algunas)Operaciones Tipo (Algunas)Operaciones

! =≠ ∨ ∧ ¬ bool == != or and not

Σ =≠ char unsigned int

== != <= >= + - * / - %

N,Z

=≠ ≤ ≥ + - • / - resto

R =≠ ≤ ≥ + - • / - double == != <= >= + - * / -

Σ* =≠ • | | string == != <= >= + length

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

Page 23: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

TiposdeDatosMásAbstractos� EjemplosComunes

�  String� Date� MoneyoCurrency� NúmerosComplejos�  Compuestos

�  ¿Quécarácterísticacomparten?� Notienenrepresentacióndirectaenmáquina

� Unintpuedeseralmacenadoenunregistrosdelmicroprocesador,unstringno.

� NosonestándarenloslenguajesdeprogramaciónProf. Esp. Ing. José María Sola 91

Page 24: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

EjemplosdeValoresyOperacionesdeTiposdeDatos

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

Page 25: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Trabajo#2–EjemplosdeValoresyOperacionesdeTiposdeDatos� Carpeta:02-EjemploTipos

�  EjemploTipos.cpp

Page 26: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Términosdelaclase#DefinircadatérminoconlabibliograWa�  ResolucióndeProblemas

�  DominiodelProblema�  Análisis�  DominiodelaSolcuión�  SíntesisenunDiseño�  DefinicióndeProceso�  Secuenciavs.Conjunto

�  Léixco&NotacionesAlgorítmicas�  Léxico�  Pseudocódigo�  Lindsay/Chapin/UTNFRBA�  Nassi–Shneiderman(NS)�  DiagramadeFlujo�  C++

�  ModeloComputacional�  ArquitecturadeJohnvon

Neumann�  Recursos�  Memoriaparadatosyprogramas�  Registros�  Memoriaprincipal�  Memoriasecundaria

�  Estilos�  Legibilidad�  Claridad�  Mantenibilidad

�  Atributosdecalidad�  Eficiencia:Espacio&Tiempo

�  Tiempo�  Espacio�  Durantelatraduccióndel

programa�  Duratnelaejecuóndelproceso�  NotaciónOGrande�  O(n)�  O(1)

�  IntroducciónaTipos�  Definción�  !�  Σ=ASCII�  N�  Z�  R�  Σ*�  bool�  char�  unsigned�  int�  double�  string�  Representaciónliteraloconstante

devalores�  Bit

�  byte�  word�  Floating-point�  Bloquedememoria�  Operaciones�  Resto�  Módulo�  NormaoLongituddeunacadena�  Operadoresbinarios�  Operadoresunarios�  TipodeDatosMásAbstractos

03

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

Page 27: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos

Tareasparalapróximaclase1.  Trabajo#1—ResolucióndeProblemas—Adición2.  Trabajo#2—EjemplosdeValoresyOperacionesde

TiposdeDatos

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

Page 28: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos
Page 29: Abril 12, Jueves · O(n): Líneal ... No son estándar en los lenguajes de programación Prof. Esp. Ing. José María Sola 91 . Ejemplos de Valores y Operaciones de Tipos de Datos