Captulo 2 - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Captulo 2

Description:

A nosotros los humanos nos gusta representar la data de una forma , ... Programas escritos por diferentes personas pueden generar problemas con nombres repetidos ... – PowerPoint PPT presentation

Number of Views:72
Avg rating:3.0/5.0
Slides: 26
Provided by: anacgonz
Category:
Tags: captulo | personas

less

Transcript and Presenter's Notes

Title: Captulo 2


1
Capítulo 2
  • Data Design and Implementation

2
Data
  • Los objetos que son manipulados
  • la información que es manipulada por la
    computadora

3
Data abstraction
  • A nosotros los humanos nos gusta representar la
    data de una forma , sin embargo sabenos que
    internamente en la máquina la data se representa
    de otra forma.
  • Collection of bits that can be turned on or off.

4
Data abstraction
  • Separation of a datas logical properties from
    its implementation
  • El concepto mental que nos creamos
  • el modelo que utilizamos para pensar sobre un
    concepto.
  • distance rate time

5
Data Encapsulation
  • Es la separación de la representación de la data
    de la aplicación que usa la data al nivel lógico.

6
Encapsulated C Data Type int
TYPE int
Representation of int as 16 bits twos
complement Implementation of
Operations
Value range INT_MIN . . INT_MAX
Operations prefix - prefix
infix - infix infix / infix
infix Relational Operators infix
(inside)
7
Abstract Data Type (ADT)
  • Un tipo de data cuyas propiedades( dominio y
    operaciones ) son especificadas
    independientemente de cualquier tipo de
    implementación.

8
Composite Data Type
  • Un tipo de data compuesto es un tipo
    quealmacena una colección de componentes de
    data individuales bajo el nombre de una sola
    variable.Y permite que los componentes
    individuales sean accesados.

9
Two Forms of Composite Data Types
STRUCTURED
UNSTRUCTURED
The organization determines method used to
access individual data components.
Components are not organized with respect to
one another.
EXAMPLES EXAMPLES arrays classes and structs
9
10
C Built-In Data Types
Simple
Composite
Integral
Floating
array struct union class
char short int long enum
float double long double
11
Two-Dimensional Array at the Logical Level
  • A two-dimensional array is a structured composite
    data type made up of a finite, fixed size
    collection of homogeneous elements having
    relative positions and to which there is direct
    access.
  • Array operations (creation, storing a value,
    retrieving a value) are performed using a
    declaration and a pair of indexes (called row and
    column) representing the components position in
    each dimension.

12
(No Transcript)
13
EXAMPLE -- To keep monthly high temperatures for
50 states in a two-dimensional array.
const int NUM_STATES 50 const int
NUM_MONTHS 12 int stateHighs NUM_STATES
NUM_MONTHS 0
1 2
. . stateHighs 2 7
. 48
49
0 1 2 3 4 5 6 7 8 9
10 11
66 64 72 78 85 90 99 115 98 90 88 80
row 2, col 7 might be Arizonas high for August
14
Finding the average high temperature for Arizona
int total 0 int month int average
for ( month 0 month lt NUM_MONTHS month
) total total stateHighs 2
month average
int ( total / 12.0 0.5 )
15
const int NUM_STATES 50 const int
NUM_MONTHS 12 int stateHighs NUM_STATES
NUM_MONTHS
STORAGE
rows columns
  • In memory, C stores arrays in row order. The
    first row is followed by the second row, etc.

Base Address
8000
8024
8048
. . .
12 highs for state 0 12 highs for state 1
etc. Alabama
Alaska first row
second row
16
Implementation Level View
stateHighs 0 0 stateHighs 0 1
stateHighs 0 2 stateHighs 0 3
stateHighs 0 4 stateHighs 0 5
stateHighs 0 6 stateHighs 0 7
stateHighs 0 8 stateHighs 0 9
stateHighs 0 10 stateHighs 0 11
stateHighs 1 0 stateHighs 1 1
stateHighs 1 2 stateHighs 1 3
. . .
Base Address 8000
To locate an element such as stateHighs 2
7 the compiler needs to know that there are 12
columns in this two-dimensional array. At what
address will stateHighs 2 7 be
found? Assume 2 bytes for type int.
17
NamespacesIntroduction
  • En nuestros programas muchas veces necesitamos
    usar diferentes librerías.
  • Programas escritos por diferentes personas pueden
    generar problemas con nombres repetidos
  • Esto motivó añadir el mecanismo de namespace.

18
Namespaces
  • Es un área del programa que puede tener nombre o
    no.
  • Una colección de definiciones de nombres , tal
    como definición de clases y declaración de
    variables.
  • Un namespace se parece un poco a una clase en el
    sentido que puede ser accesado mediante
    cualificación.
  • Es diferente en el sentido que puede distribuirse
    en diferentes archivos.
  • Si hay un nombre idéntico en otra clase , es
    posible, proveer acceso a nombres de otros
    namespaeces evitando el conflicto de nombres.

19
  • Uso de includeltiostream.hgt
  • ahora ANSI C includeltiostreamgtusing
    namespace std
  • std contiene las definiciones de las librerías
    standard de C.

20
Multiple Names
  • Multiple namespace
  • What if name defined in both?
  • Error
  • Can still use both namespaces
  • Must specify which namespace used atwhat time

21
Ejemplo de uso de namespace en un programa
22
using Declarations
  • Can specify individual names fromnamespace
  • ConsiderNamespaces NS1, NS2 existEach have
    functions fun1(), fun2()
  • Declaration syntaxusing Name_SpaceOne_Name
  • Specify which name from eachusing
    NS1fun1using NS2fun2

23
using Definitions and Declarations
  • Differences
  • using declaration
  • Makes ONE name in namespace available
  • Introduces names so no other uses of name
    areallowed
  • using directive
  • Makes ALL names in namespace available
  • Only potentially introduces names

24
Qualifying Names
  • Can specify where name comes from
  • Use qualifier and scope-resolution operator
  • Used if only intend one use (or few)
  • NS1fun1()
  • Specifies that fun() comes from namespaceNS1
  • Especially useful for parametersint
    getInput(stdistream inputStream)
  • Parameter found in istreams std namespace
  • Eliminates need for using directive or declaration

25
Otro ejemplo donde se usan archivos diferentes
Write a Comment
User Comments (0)
About PowerShow.com