Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Abril12,Jueves
Prof. Esp. Ing. José María Sola 69
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
Prof. Esp. Ing. José María Sola 71
� 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
� 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
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;
}
ResolucióndeProblemas—Adición
Prof. Esp. Ing. José María Sola 76
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
� 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
� 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
Prof. Esp. Ing. José María Sola 82
//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
Prof. Esp. Ing. José María Sola 84
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
//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
EnMatemáticayenC++
¿QuéesunTipodeDato?� Buscarunadefinición� Buscarejemplos� Representación� Valoresquealmacena� Operacionesquesepuedenrealizar� Definición
� Untipodedato,osimplementetipo,esunconjuntodevaloresyunconjuntodeoperacionessobreesosvalores.
Prof. Esp. Ing. José María Sola 88
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
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
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
EjemplosdeValoresyOperacionesdeTiposdeDatos
Prof. Esp. Ing. José María Sola 92
Trabajo#2–EjemplosdeValoresyOperacionesdeTiposdeDatos� Carpeta:02-EjemploTipos
� EjemploTipos.cpp
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
Tareasparalapróximaclase1. Trabajo#1—ResolucióndeProblemas—Adición2. Trabajo#2—EjemplosdeValoresyOperacionesde
TiposdeDatos
Prof. Esp. Ing. José María Sola 95