PDF de programación - 2. Elementos de un programa - Fundamentos de Programación I

Imágen de pdf 2. Elementos de un programa - Fundamentos de Programación I

2. Elementos de un programa - Fundamentos de Programación Igráfica de visualizaciones

Publicado el 26 de Septiembre del 2020
752 visualizaciones desde el 26 de Septiembre del 2020
765,8 KB
41 paginas
Creado hace 11a (11/09/2012)
Fundamentos de Programación I

2. Elementos de un programa

Luis Rodríguez Baena ([email protected])

Universidad Pontificia de Salamanca
Escuela Superior de Ingeniería y Arquitectura

Datos y tipos de datos

 Los datos constituyen los elementos básicos sobre

los que trabajará un algoritmo.
● La elección de un tipo de dato determinará el algoritmo

utilizado para procesarlos.
 Algoritmos + estructuras de datos = programas (Nicklaus Wirth).

● Por ejemplo:

 Si un programa procesa una lista de alumnos…

○ Requerirá un algoritmo con una estructura repetitiva que repita el
mismo proceso para todos los alumnos hasta que finalice la lista.

 Si un programa necesita hacer distinción entre las personas

solteras o casadas…
○ Requerirá de un algoritmo con una estructura selectiva que permita
hacer la distinción entre los dos estados posibles que puede tomar el
estado civil de una persona.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

2

Datos y tipos de datos (II)

 Dato: unidad mínima de información con la que puede

trabajar un programa.
● El concepto de “información mínima” puede cambiar de un programa

a otro en función de los tipos de datos que maneje.
 Por ejemplo, mientras que FORTRAN puede trabajar con números complejos,

las primeras versiones de BASIC sólo podían trabajar con números reales.

 Tipo de dato: conjunto de valores distintos que puede tomar

un dato.
● La mayoría de los lenguajes tienen un conjunto de tipos de datos

similar.

● Cada lenguaje puede nombrarlos o almacenarlos de forma distinta.
● Aunque el procesador sólo trabaja con datos binarios, los lenguajes

de alto nivel realizan una abstracción de la información.
 El tipo de dato indica al programa como tiene que interpretar esa secuencia

de bits.
○ Por ejemplo, la secuencia de bits 0000000001000001 puede ser interpretada por

un programa como…

− El valor numérico decimal 65 si se considera como un tipo de dato numérico.
− El carácter A, si se considera como un tipo de dato carácter.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

3

Clasificación de los tipos de datos

Tipos de datos

Simples

Estructurados

Enteros

Reales

Carácter

Cadena

Numéricos

Lógicos

Alfanuméricos

Punteros

Subrango

Enumerados

Conjuntos

Arrays

Registros /
estructuras

Cadena

Archivos

Estándar

Definidos por el

usuario

Estáticos

Dinámicos

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

4

Datos simples

 Un dato simple es aquel que no se puede subdividir

en otros más pequeños.
● Por el contrario un dato estructurado estaría compuesto de

otros datos que serán a su vez simples o estructurados.

 Datos estándar (datos primitivos o integrados).

● Datos que son directamente soportados por el lenguaje de

programación.

 Vamos a considerar los siguientes tipos de datos

estándar.
● Numéricos.
● Lógicos.
● Carácter.
● Cadena.
● Punteros.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

5

Datos simples (II)

 Datos numéricos.

● Entero.

 Podrá contener cualquier valor numérico entero.
 En C, según su tamaño en bytes pueden ser int, short, long.

● Real.

 Cualquier valor numérico con parte decimal.
 En C podrán ser float y double.

 Datos carácter.

● Podrán contener cualquier carácter válido.
● En C se corresponde con el tipo de dato char y se puede considerar también como un dato

entero.

 Datos lógicos.

● Sólo podrán contener los valores si/no, verdad/falso.
● En C no existen de forma directa y las expresiones lógicas devuelve 0 si es falsa o 1 si es

verdadera.
 El archivo de cabecera stdbool.h contiene especificaciones que enmascaran esto.

● Podrán contener una secuencia de caracteres.
● En C no existen directamente y se consideran arrays de caracteres terminados en un carácter

 Datos de tipo cadena.

nulo.

 Datos de tipos puntero.

● Contienen exclusivamente direcciones de memoria dónde se almacenen otros datos.
● Se ven en profundidad en la asignatura de Fundamentos II

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

6

Datos simples (III)

 Datos definidos por el usuario.

● El usuario (programador) decide el conjunto de valores que

puede almacenar el tipo de dato.

● Es necesario indicar el nombre del tipo y el conjunto de

valores.

● Según la forma en que se especifica el conjunto de valores.

 Datos enumerados.

○ Se enumeran de forma explícita cada uno de los valores que puede contener.

− Ejemplos:

díaSemana = {lunes,
• Una dato de tipo diaSemana podrá contener cualquiera de estos valores.

martes,miércoles,jueves,viernes,sábado,domingo}

○ En C se puede hacer algo parecido con las constantes enumeradas.

 Datos subrango.

○ Son un subconjunto de algún tipo de dato ya definido.
○ Ejemplos:

sigloXX = 1900..1999
semanaLaboral = lunes..viernes

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

7

Datos estructurados

 Datos compuestos de otros datos.

● Se podrán tratar tanto individualmente como en su conjunto.

 Según su forma de almacenamiento en memoria podrán ser:

 Se reserva un espacio fijo para almacenarlos y siempre ocupan la misma

● Estáticos.

posición de memoria.

● Dinámicos.

del programa.

 El espacio que ocupan y su posición pueden variar a lo largo de la ejecución

 En la asignatura de Fundamentos de Programación I se

tratarán la siguientes estructuras de datos estáticas:
● Arrays.
● Registros.
● Cadenas.

 Se pueden considerar también un dato estructurado puesto que están

compuestas de datos más simples (caracteres).
 Otros datos estructurados estáticos son:

● Archivos (se verán en Fundamentos de Programación II).
● Conjuntos.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

8

Constantes

 Enteras.

signo -.

 Reales.

 Datos que no cambian su valor a lo largo de la

ejecución del programa.

 Constantes literales.

● Representación de la información que contiene el dato.
● Según el tipo de información que contengan pueden ser.

○ Formadas por los dígitos de 0 a 1 y pueden estar precedidas por el

○ Representación en coma fija.

− Formadas por los dígitos de 0 a 1, el punto decimal y pueden estar

precedidas por el signo – .

• Por ejemplo, 567.56 o -34.678.

○ Representación en coma flotante.

− Además de la mantisa, van seguidas por la base (representada por la

letra E) y el exponente.

• Por ejemplo, 2.34E02 (sería 2,34 x 102) o 1.034E-21 (sería 1,034 x 10-21).

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

9

Constantes (II)

 Constantes literales (continuación…).

● Lógicas.

○ C no tiene este tipo de constantes, aunque el archivo de cabecera stdbool.h

 Representas mediante las palabras reservadas verdad o falso.
define las constantes true y false que valen 1 y 0 respectivamente..
 Cualquier carácter del juego de caracteres utilizado encerrado entre

● Carácter.

comillas.
○ C distingue entre constantes de carácter y de cadena.

− En C el delimitador de caracteres es la comilla simple.

● Cadena.

 Secuencia de caracteres del juego de caracteres utilizado encerrado entre

comillas.
○ En C, el delimitador de cadenas es la comilla doble.

 Constantes simbólicas.

● Constantes a las que se asigna un nombre nemotécnico
● El compilador sustituirá todas las apariciones de ese nombre por

(identificador).

su valor asignado en la declaración de la constante.
 En C se pueden declarar mediante el modificador const.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

10

Variables

 Datos que pueden variar su contenido a lo largo de la

ejecución de un programa.

 El nombre de la variable es un identificador válido.
 Las variables primitivas se almacenan en una zona de

memoria que se reserva al arrancar el programa (pila) y
queda inaccesible cuando termina.
● Cuando en el programa se indica que se va a utilizar, por ejemplo,

una variable entera.
 Antes de la ejecución del programa se busca una zona de memoria lo

suficientemente grande como para almacenar un dato entero.

 A esa zona de la memoria se le asigna un identificador (un nombre).
 Mientras que se ejecuta el programa al utilizar ese identificador se estará

haciendo referencia a esa zona de memoria.

 Al terminar el programa, el identificador “desaparece”, por lo que no se

puede utilizar esa zona de memoria, ya que no se puede hacer referencia
a ella.

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

11

Expresiones

 Modifican los datos presentes en el algoritmo.
 Conjunto de variables, constantes, operadores y llamadas a funciones

que siempre devuelven un valor.
● El valor será de un tipo determinado que depende de los operadores y los

operandos de la función.

● Según el tipo de dato que devuelven habrá expresiones:

 Numéricas.
 Lógicas.
 De cadena.

 En un algoritmo, las expresiones algebraicas comunes tendrán que ser

traducidas a expresiones algorítmicas:



2

a

c


5



2

d

b

Universidad Pontificia de Salamanca. Escuela Superior de Ingeniería y Arquitectura
(CC) Luis Rodríguez Baena, 2012

12

Expresiones aritméticas

 Dan como resultado un valor de tipo numérico.
 Están compuestas de operandos numéricos y operadores aritméticos.
 El lenguaje algorítmico UPSAM utiliza los siguientes operadores aritméticos:

Operador

Significado

Ejemplo

**

+

-

*
/
mod

div

Exponenciación

2 ** 3 equivale a 23

Suma aritmética
Resta. Como operador unario (con un solo
operando) actuará como el signo neg
  • Links de descarga
http://lwp-l.com/pdf18269

Comentarios de: 2. Elementos de un programa - Fundamentos de Programación I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad