abril 25, jueves 2019 k1051 clase #03.pdffuente; en general, medido en líneas de código (lines of...
TRANSCRIPT
![Page 1: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/1.jpg)
Abril 25, Jueves
Prof. Esp. Ing. José María Sola 80
![Page 2: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/2.jpg)
Agenda para esta clase� Resolución de Problemas
� Léxico & Notaciones Algorítmicas para Secuencias
� Trabajo #1 — Resolución de Problemas — Adición
� Intervalo
� Modelo Computacional
� Estilos
� Eficiencia: Espacio & Tiempo
� Introducción a Tipos: En Matemática y en C++
� Trabajo #2 — Ejemplos de Valores y Operaciones de Tipos de Datos
Prof. Esp. Ing. José María Sola 81
![Page 3: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/3.jpg)
![Page 4: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/4.jpg)
� Modelo de procesamiento� Entrada� Proceso� Salida (y Errores)� Modelo IPO
� Arquitectua de Von Neumann (1945)� John Von Neumann (1903-
1957)� Computadora con unidad
central de procesamiento que almacena programas y datos en memoria
� Ejemplos� Hola.cpp� Adición.cpp
Modelo Computacional
Prof. Esp. Ing. José María Sola 83
InputDatos
(entrada)
OutputResultados
(Salida)Proceso, requiere recursos
![Page 5: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/5.jpg)
� Unidad Central de Procesamiento� Registros
� IR: Registro de instrucción� PC ó IP: Contador de Programa ó Instruction Pointer
� CA: Aritmético Lógica� CC: Unidad de Control Central
� M: Memoria (Principal)� Datos� Programas
� Lenguaje Máquina
� I: Entrada � O: Salida
� Teclado� Pantalla
� R: Memoria Secundaria� Pros y Cons de Memoria Principal y Secundaria
� Costo� Eficiencia� Tamaño� Persistencia
Componentes de la Arquitectura von Neumann
Prof. Esp. Ing. José María Sola 84
![Page 6: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/6.jpg)
Prof. Esp. Ing. José María Sola 85
![Page 7: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/7.jpg)
//1int a;cin >> a;int b;cin >> b;cout << a+b;
//2int a, b;cin >> a >> b;cout << a+b;
//3int a;int b;int c;cin >> a;cin >> b;c = a+b;cout << c;
//4int a;cin >> a;int b;cin >> b;int c = a+b;cout << c;
//5int a;cin >> a;int b;cin >> b;b = a+b;cout << b;
� Legibilidad
� Claridad
� Mantenibilidad
� Los adjetivos "idad" son los atributos de calidad del desarrollo
� Más: https://en.wikipedia.org/wiki/List_of_system_quality_attributes#Quality_attributes
Comparación Subjetiva
Prof. Esp. Ing. José María Sola 86
![Page 8: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/8.jpg)
Prof. Esp. Ing. José María Sola 87
![Page 9: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/9.jpg)
Recursos Utilizados –Comparación Objetiva
Recurso
Espacio Tiempo
Dur
ante
La traducción del Programa
de memoria secundaria que ocupa el programa fuente; en general, medido en líneas de código (lines of code, LOC).
requerido por el compilador para la traducción del programa en lenguaje de alto nivel a lenguaje máquina.
La Ejecución del Proceso
de memoria principalutilizada para alojar el código compilado del proceso y de memoria principal y secundaria utilizada como área de trabajo.
requerido para finalizarla ejecución del proceso.
Prof. Esp. Ing. José María Sola 88
![Page 10: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/10.jpg)
//1int a;int b;cin >> a;cin >> b;cout << a+b;
//2int a, b;cin >> a >> b;cout << a+b;
//3int a;int b;int c;cin >> a;cin >> b;c = a+b;cout << c;
//4int a;int b;cin >> a;cin >> b;int c = a+b;cout << c;
//5int a;int b;cin >> a;cin >> b;b = a+b;cout << b;
� Tiempo� Las declaraciones no
insumen tiempo de ejecución, salvo cuando tienen incialización de una variable automática
� Cantidad de operaciones (aproximación)� >>� <<� +� =
� Notación O Grande� Eje x: cantidad de datos, n� Eje y: tiempo de
procesamiento, t� Funciones
� O(n): Lineal� O(1): Constante
� Espacio� Cantidad de variables
Comparación Objetiva
Prof. Esp. Ing. José María Sola 89
![Page 11: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/11.jpg)
En Matemática y en C++
![Page 12: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/12.jpg)
¿Qué es un Tipo de Dato?� Buscar una definición
� Buscar ejemplos
� Representación
� Valores que almacena
� Operaciones que se pueden realizar
� Definición� Un tipo de dato, o simplemente tipo, es un conjunto de
valores y un conjunto de operaciones sobre esos valores.
Prof. Esp. Ing. José María Sola 91
![Page 13: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/13.jpg)
Tipos de Datos – Conjunto de ValoresNiveles de abstracción y EjemplosMatemática C++ Microprocesador (general)
Con-junto
Valores Tipo de Dato
Valores Representación electrónica
! V F bool true
falseRegistro: Bit (0 ó 1)
Σ A B Ñ ! … (finito) ≈ ASCII
char 'a' 'A'
'1' '+' '@' '\'' …
Registro: Byte (8 bits)
N Semirecta unsigned 0 1 2 96
…Registro: Word (n bytes)
Z Recta int 1 -2 1024
…Registro: Word (n bytes)
R Recta double 1.5 1.0
1e5 …Registro: Floating point 80-bits
Σ* A ABA AÑABA …
string "a" "aA"
"abab" "" …
Bloque contiguo de memoriaprincipal
Prof. Esp. Ing. José María Sola 92
![Page 14: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/14.jpg)
Tipos de Datos – Conjunto de OperacionesNiveles de abstracción y EjemplosMatemática C++
Tipo (Algunas) Operaciones Tipo (Algunas) Operaciones
! = ≠ Ú Ù ¬ bool == != or and not
Σ = ≠ char
unsignedint
== != <= >= + - * / -
%
N, Z= ≠ ≤ ≥ + - • / - resto
R = ≠ ≤ ≥ + - • / - double == != <= >= + - * / -
Σ* = ≠ • | | string == != <= >= + length
Prof. Esp. Ing. José María Sola 93
![Page 15: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/15.jpg)
Tipos de Datos Más Abstractos� Ejemplos Comunes
� String
� Date
� Money o Currency
� Números Complejos
� Compuestos
� ¿Qué carácterística comparten?
� No tienen representación directa en máquina� Un int puede ser almacenado en un registros del
microprocesador, un string no.
� No son estándar en los lenguajes de programaciónProf. Esp. Ing. José María Sola 94
![Page 16: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/16.jpg)
Ejemplos de Valores y Operaciones de Tipos de Datos
Prof. Esp. Ing. José María Sola 95
![Page 17: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/17.jpg)
Trabajo #2 – Ejemplos de Valores y Operaciones de Tipos de Datos� Carpeta: 02-EjemploTipos
� EjemploTipos.cpp
![Page 18: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/18.jpg)
Términos de la clase #Definir cada término con la bibliografía� Modelo Computacional
� Arquitectura de John von Neumann
� Recursos� Memoria para datos y
programas� Registros� Memoria principal� Memoria secundaria
� Estilos� Legibilidad� Claridad� Mantenibilidad� Atributos de calidad
� Eficiencia: Espacio & Tiempo� Tiempo� Espacio� Durante la traducción del
programa
� Duratne la ejecuón del proceso
� Notación O Grande� O(n)� O(1)
� Introducción a Tipos� Definción� !� Σ= ASCII� N� Z� R� Σ*� bool� char� unsigned� int� double� string
� Representación literal o constante de valores
� Bit� byte� word� Floating-point� Bloque de memoria� Operaciones� Resto� Módulo� Norma o Longitud de una
cadena� Operadores binarios� Operadores unarios� Tipo de Datos Más
Abstractos
03
Prof. Esp. Ing. José María Sola 97
![Page 19: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/19.jpg)
Tareas para la próxima clase1. Trabajo #2 — Ejemplos de Valores y Operaciones de
Tipos de Datos
Prof. Esp. Ing. José María Sola 98
![Page 20: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/20.jpg)
![Page 21: Abril 25, Jueves 2019 K1051 Clase #03.pdffuente; en general, medido en líneas de código (lines of code, LOC). requerido porel compilador para la traduccióndel programa en lenguaje](https://reader034.vdocumento.com/reader034/viewer/2022042021/5e78dd97030a817bda39f97d/html5/thumbnails/21.jpg)