Title: Tema 1: Introducci
1Tema 1 Introducción
- Introducción a la informática
- Introducción a los ordenadores
- Introducción a la programación
2Tema 1 Introducción
- Introducción a la informática
- Información
- Ideas o hechos transmitidos entre personas
- Vallas publicitarias, prensa, clases...
- Datos
- Componentes básicos de la información
codificación - Eslogan, titular,...
- Informática
- Conjunto de ciencias, técnicas o actividades que
se dedican al estudio, tratamiento y
almacenamiento de los datos por medios
automáticos. - Sistema binario
- Representación de la información en base 2
- La información se codifica como una secuencia de
símbolos binarios 0 y 1.
3Tema 1 Introducción
- Tipos y codificación de la información
- Codificación
- Proceso que consiste en representar la
información mediante una combinación de símbolos
determinada dos informaciones distintas tienen
dos combinaciones distintas. - Información analógica
- La manera en que existe la información en el
mundo real carta, fotos, una cinta de música. - Información digital
- Si en vez de utilizar papel, lápiz, magnetófonos,
etc. se utiliza un ordenador, la información pasa
a ser digital - La información analógica se traduce a
codificación binaria - Ejemplo telégrafo y código morse
4Tema 1 Introducción
- Confirmo asistencia a boda. Llegaré Valencia
sábado mañana temprano - escribiré en código Morse la siguiente secuencia
de símbolos - - - - - - - -
- - - - - - - - -
- - - - etc...
5Tema 1 Introducción
- Si se utilizara la codificación binaria
- 01000011 01001111 01000110 01001001 01010010
01001101 01001111 - 01000001 01010011 01001001 01010011 ...
- Esta codificación es transparente para el usuario
- Del mismo modo que el texto se puede codificar
imágenes y sonido, e incluso animaciones.
6Tema 1 Introducción
- Unidades de medida de la información
- Información analógica
- libro en páginas, fotografía en cm, cinta en
minutos - Información digital
- Cada elemento de información (1,0) se llama bit
(binary digit) - Un conjunto de 8 bits es un byte (sería como una
letra) - Con un byte podemos conseguir 256 combinaciones
distintas 28 - 1024 bits/bytes 1 Kbit/Kbytes 210 bits/bytes
- 1024 Kbits/Kbytes 1 Megabit/Megabyte 220
bits/bytes - 1024 Mbits/Mbytes 1 Gigabit/Gigabyte 230
bits/bytes
7Tema 1 Introducción
- Ocupación orientativa de distintos tipos de
información -
8Tema 1 Introducción
- Introducción a los ordenadores
- Ordenador conjunto de sistemas mecánicos y
electrónicos diseñado para la gestión automática
de los datos y que puede ser programado - Hardware Parte física de un ordenador pantalla,
teclado, impresora, discos, etc - Software Parte lógica de un ordenador sistema
operativo, entorno gráfico, datos, etc - Hardware y software
- Un ordenador tiene elementos de ambos grupos ya
que el hardware no sería operativo sin el
software
9Tema 1 Introducción
- Estructura básica de un ordenador
- Hardware
- Dispositivos de entrada ratón, teclado,
joystick, trackball, etc. - Dispositivos para el proceso de la información
procesador, memoria principal, electrónica de la
placa base. - Dispositivos de almacenamiento de la información
disco duro, diskette, cd-rom, zip, jazz, etc. - Dispositivos de salida monitor, impresora,
plotter. - Software
- Sistema operativo
- Programas de usuario
- Datos
- Existen diferentes clases de ordenadores,
nosotros nos referiremos a los personales
10Tema 1 Introducción
- Componentes del ordenador
- Información de entrada Cualquier información que
se introduce en el ordenador para ser procesada
conocida, invariable y estática. - Información de salida Cualquier información
generada en un ordenador por medios automáticos
desconocida, variable y dinámica - Proceso Mecanismo automático, conocido y bien
definido por el cual un ordenador es capaz de
obtener unos resultados a partir de la
información de entrada proporcionada
11Tema 1 Introducción
- EjemploProceso sumar dos números
- Información de entrada los dos números a sumar
(5 y 12) - Proceso Sumar los dos números (512)
- Información de salida la suma de ambos (17)
- Procesador componente principal del ordenador
capaz de procesar la información
Información de entrada
Información de salida
Proceso
12Tema 1 Introducción
- El camino de la información
- Introducir la información en el ordenador
mediante los dispositivos de entrada - Almacenar la información en los dispositivos de
almacenamiento - Procesar la información para obtener resultados
mediante los dispositivos de proceso - Visualizar los resultados en los dispositivos de
salida y/o almacenarlos
13Tema 1 Introducción
- Dispositivos de entrada
- Ratón se utiliza como puntero
- Teclado dispositivo de entrada por excelencia
- Se divide en alfanumérico, numérico,
desplazamiento, teclas grises, teclas de función,
teclas especiales. - Dispositivos para el proceso de la información
- Procesador se conoce también como CPU (unidad
central de proceso), es el cerebro del ordenador,
en los ordenadores personales se ha pasado del
8088 a 4,77 Mhz en 1978 a el Pentium IV a 3.0 Ghz
en la actualidad.
14Tema 1 Introducción
- Memoria la memoria principal RAM almacena la
información cuando esta es procesada - Electrónica de la placa base circuito
electrónico principal en el que se interconectan
el procesador, la memoria y otros dispositivos - Dispositivos de almacenamiento
- Disco duro unidades de almacenamiento de gran
capacidad - Disquete Son discos de pequeño tamaño y
capacidad - CD-Rom Son como los cds de música
15Tema 1 Introducción
- Dispositivos de salida
- Pantalla permite visualizar imágenes y texto
tamaño, resolución y frecuencia de refresco - Impresora permite presentar los resultados en un
soporte definitivo (papel) - Componentes sistema de alimentación del papel,
cabeza de impresión, placa de control, botones y
luces de control, conectores y cables. - Tipos matriciales, de inyección y láser.
- Sistema operativo
- Es el componente software más importante ya que
entre otras funciones se ocupa de que el Hw
funcione bien
16Tema 1 Introducción
- Los SO más conocidos son ms-dos, unix, linux,
windows 3.1 95 98, NT, XP y 2003, OS/2, MacOS - Funciones de un SO
- Gestión de procesos gestionar los recursos que
soliciten - Gestión de la memoria la memoria RAM es limitada
- Gestión del almacenamiento secundario guardar y
recuperar información - Gestión de E/S la información llegue a los
dispositivos y sea tratada correctamente - Gestión de archivos la información se almacena
en archivos y se estructura en directorios - Programas de usuario
- Se compone de todo el software que no es el SO
Procesador de texto, hojas de cálculo, agendas,
juegos, aplicaciones gráficas, etc.
17Tema 1 Introducción
- Introducción a la programación
- Algoritmo Procedimiento bien definido que nos
permite resolver un problema. Se definen mediante
pasos - Dados 2 números visualizar el mayor
- Inicio
- Averiguar el valor del primer número
- Averiguar el valor del segundo número
- Si el primer número es mayor que el segundo,
visualizar el primero, sino visualizar el segundo - Fin
- Programa Representación de un algoritmo mediante
un lenguaje de programación concreto. Secuencia
de instrucciones de un lenguaje de programación
que resuelven el problema planteado por un
algoritmo.
18Tema 1 Introducción
- Implementar traducir un algoritmo a un programa.
- Desarrollo del Software
- Diseño del algoritmo.
- Implementación.
- Ejecución y validación.
- Lenguaje de programación Cjto de reglas,
símbolos y palabras especiales empleadas para
construir un programa. - Instrucción Cada una de las posibles órdenes que
se pueden utilizar en un lenguaje de
programación. El conjunto y sintaxis de
instrucciones depende del lenguaje utilizado.
19Tema 1 Introducción
- El problema debe ser susceptible de ser resuelto
por ordenador - Dados dos números visualizar el mayor (lenguaje
C) - include ltstdio.hgt
- int primer_numero, segundo_numero
- main()
-
- scanf("Primer numero ",primer_numero)
- scanf("Segundo numero ",segundo_numero)
- if (primer_numerogtsegundo_numero)
printf("d",primer_numero) - else printf("d",segundo_numero)
20Tema 1 Introducción
- Funcionamiento de un programa
- Entrada de datos el programa solicita los datos
necesarios para resolver el programa los scanf - Proceso de la información el programa opera con
los datos para obtener el resultado una suma - Salida de resultados presentación en pantalla
del resultado los printf
21Los lenguajes de programación
- Los lenguajes de programación pueden dividirse en
dos tipos - Lenguajes de alto nivel Lenguaje en el que un
programador escribe el programa. Se caracteriza
por - ser independiente de la máquina y del Sistema
Operativo para el que se realiza el programa, y - ser relativamente sencillo de entender por una
persona (programador) que escribe el programa. - Lenguajes de bajo nivel Estos lenguajes se
caracterizan justo por lo contrario que los
anteriores son difíciles de entender y manejar
por una persona, y son dependientes de un
procesador en concreto.
22Los lenguajes de Alto Nivel (I)
- Dentro de los lenguajes de alto nivel pueden
distinguirse varios tipos - Imperativos o procedurales (depende de a qué
característica se refiera se utiliza un nombre u
otro). También llamados lenguajes de 3ª
generación. El análisis de los problemas y el
planteamiento del diseño de los programas que
solucionan un determinado problema se lleva a
cabo dividiendo el problema en tareas y
subtareas. Ejemplos C, Pascal, Fortran, ... - Orientados a Objetos. También llamados de 4ª
generación. El planteamiento de la solución
consiste en la identificación de objetos del
mundo real con sus características y
comportamiento. Ejemplos C, Java, Pascal-OO,
... - Otros Plantean la solución del problema de la
programación desde otros puntos de vista. Se
utilizan a nivel de investigación.
23Los lenguajes de Alto Nivel (II)
- Según el tipo de aplicación que se les da se
pueden clasificar de la siguiente manera - De propósito general BASIC, PASCAL, ADA, C, ...
- Científicos FORTRAN, C, ...
- De gestión COBOL, PRG, C, ...
- Educativos LOGO, ...
- De Inteligencia Artificial LISP, PORLOG, C, ...
- Programación en Internet JAVA, PERL, HTML
- El lenguaje C/C es de los más utilizados hoy en
día. También lo es el PASCAL y los que se
refieren a Internet.
24Los lenguajes de Bajo Nivel
- Existen dos lenguajes de Bajo Nivel
principalmente - El ensamblador Lenguaje de símbolos en el que se
expresan las instrucciones elementales que ha de
realizar el procesador para el que se está
programando. - El lenguaje máquina Lenguaje formado por cadenas
de 1s y 0s que constituyen las instrucciones
últimas que ejecuta el procesador. Es el único
lenguaje de todos los anteriores que entiende el
procesador directamente.
25Proceso de programación
- Una vez el programador escribe un programa en un
lenguaje de Alto Nivel, es necesario traducirlo a
lenguaje máquina para que el procesador pueda
ejecutarlo. - La traducción se realiza mediante un programa
traductor. Existen dos tipos de traductores - Compiladores Traducen el programa escrito en un
lenguaje de Alto Nivel a lenguaje máquina de un
procesador determinado. En un proceso intermedio
generan código en lenguaje ensamblador. - Intérpretes Programas que interpretan las
instrucciones de un determinado lenguaje de Alto
Nivel y las van ejecutando a medida que las
descifran. Ejemplo Un navegador de Internet es
un intérprete del lenguaje de Alto Nivel HTML.
26Esquema del proceso de programación
Fichero ejecutable o programa
Fichero fuente
Lenguaje de programación de Alto Nivel
Lenguaje máquina o binario
Extensión .c, .pas .f, etc.
Extensión .exe
27Tipos de programas
- Programas de uso universal
- Numéricos
- Procesadores de texto
- Gráficos
- Gestión
- De información remota
- Programas de uso particular
- Informática
- Ingeniería
28Tema 1 Introducción
- Pseudocódigo
- Aunque el conjunto de palabras y símbolos de los
distintos lenguajes es muy diferente su
funcionalidad es similar - Nos permite realizar un esbozo del programa final
utilizando un lenguaje cercano al natural - Después será sencillo traducir al lenguaje
elegido. - Ejemplo Dados 2 números, visualizar la suma de
ambos - Inicio
- Leer el primer número
- Leer el segundo número
- Calcular la suma de ambos
- Visualizar el resultado
- Fin
29Tema 2 Elementos básicos de un programa
- Tipos de datos, variable y constantes
- Operadores y expresiones
30Tema 2 Elementos básicos de un programa
- Tipos de datos, variable y constantes
- Tipo de datos Clasificación disjunta que nos
permite distinguir una información de otra según
su naturaleza. Dependiendo del tipo se podrán
realizar unas operaciones u otras - Variable Simbología que nos permite asociar un
nombre a un almacén de información temporal en un
programa. Esta información puede variar durante
la ejecución - Constante Lo mismo que la variable pero su
contenido permanece constante
31Tema 2 Elementos básicos de un programa
- Tipos de datos
- Numéricos
- Enteros Valores numéricos enteros comprendidos
entre -32768 y 32767 ó 0 y 65535 para un
procesador de 16 bits. - Reales Subconjunto del conjunto matemático de
los números reales (parte entera y parte real) - Lógicos
- Sólo pueden tomar los valores cierto y falso.
- Carácter
- Valores alfanuméricos del código ASCII
- Variables
- Para poder disponer de una información durante la
ejecución de un programa es necesario almacenarla
en una variable. La mayoría de lenguajes precisan
la declaración de la variable
32Tema 2 Elementos básicos de un programa
- Ejemplo
- tipo_variable nombre_variable
- int contador
- unsigned int edad
- char sexo
- La declaración tiene dos funciones reservar la
memoria necesaria para la información y permitir
utilizar esa información en el programa para
realizar operaciones. - Constantes
- La información que tiene una constante no varía,
por lo que se suelen utilizar para definir
valores que se repiten a lo lago del programa - define nombre_constante valor_constante
- define pi 3.1416
- define titulo TEXTO FIJO
- define numero_alumnos 100
33Tema 2 Elementos básicos de un programa
- Operadores y expresiones
- Operador Símbolo que se asocia a una determinada
operación básica que se realiza con los datos en
algún punto del programa - Expresión Combinación de variables, constantes,
operadores, paréntesis y nombres de función
escritas en un determinado orden que tiene la
propiedad de ser evaluada y obtener un valor - Operadores
- Operadores aritméticos realizan operaciones
aritméticas, por lo que utilizan valores
numéricos o variables numéricas
34Tema 2 Elementos básicos de un programa
- Unarios Necesitan un único valor numérico para
realizar la operación. Disponemos de los
siguientes operadores - Signo negativo (-) Se utilizar para indicar que
el valor numérico que lo sigue es un valor
negativo. - Ejemplo int i -10
- Incremento () Se utiliza para aumentar el
valor de su operando en una unidad. - Ejemplo (en lenguaje C)
- int i 0 i
- /La variable "i" contiene el valor 1 después de
esta instrucción/ - Decremento (--) Se utiliza para disminuir el
valor de su operando en una unidad. - Ejemplo (en lenguaje C)
- int i 0 i--
- / La variable "i" contiene el valor -1 después
de esta instrucción /
35Tema 2 Elementos básicos de un programa
- Binarios Necesitan dos valores numéricos para
realizar la operación. - Suma () Se utiliza para sumar dos valores
numéricos. - Ejemplo int i 0 j10 k 7 ijk
- / La variable "k" contiene la suma de los
valores contenidos en las variables "j" y "k", es
decir 10717, después de esta instrucció - Resta (-) Se utiliza para restar dos valores
numéricos. - Ejemplo int i 0 j10 k 7 ij-k
- / La variable "k" contiene la resta de los
valores contenidos en las variables "j" y "k", es
decir 10-73, después de esta instrucción / - Multiplicación () Se utiliza para multiplicar
dos valores numéricos. - Ejemplo int i 0 j10 k 7 ijk
- / La variable "k" contiene la multiplicación de
los valores contenidos en las variables "j" y
"k", es decir 10770, después de esta
instrucción /
36Tema 2 Elementos básicos de un programa
- División (/) Se utiliza para dividir dos valores
numéricos. Dependiendo del tipo de datos
(entero/real) la división obtendrá decimales o
no. - Ejemplo int i 0 j10 k 7 ij/k
- / La variable "k" contiene la división entera de
los valores contenidos en las variables "j" y
"k", es decir 10/71, después de esta instrucción
/ - Resto módulo () Se utiliza para obtener el
resto de la división entera dos valores
numéricos. Los operandos deben ser necesaramente
números enteros. - Ejemplo int i 0 j10 k 7 ijk
- / La variable "k" contiene el resto de dividir
de los valores contenidos en las variables "j" y
"k", es decir resto(10/7)3, después de esta
instrucción /
37Tema 2 Elementos básicos de un programa
- Operadores relacionales Sirven para realizar
comparaciones sencillas entre valores, el
resultado será un valor lógico - Menor que (lt) Devuelve verdadero si el primer
operando es estríctamente menor que el segundo
operando. - Ejemplo int i 7 j10
- if iltj printf(i es menor que j) else printf(j
es menor que i) - Menor o igual que (lt) Devuelve verdadero si el
primer operando es estríctamente menor o igual
que el segundo operando. - Ejemplo int i 7 j10
- if iltj printf(i es menor o igual que j)
- else printf(j es menor o igual que i)
- Mayor que (gt) Devuelve verdadero si el primer
operando es estríctamente mayor que el segundo
operando. - Ejemplo int i 7 j10
- if igtj printf(i es mayor que j)else printf(j
es mayor que i)
38Tema 2 Elementos básicos de un programa
- Mayor o igual que (gt) Devuelve verdadero si el
primer operando es estríctamente mayor o igual
que el segundo operando. - Ejemplo int i 7 j10
- if igtj printf(i es mayor o igual que j)
- else printf(j es mayor o igual que i)
- Igual ( ) Devuelve verdadero si el primer
operando es estríctamente igual que el segundo
operando. - Ejemplo int i 7 j10
- if i j printf(i es igual a j)else
printf(i es distinto de j) - Distinto (! ) Devuelve verdadero si el primer
operando es estríctamente distinto del segundo
operando. - Ejemplo int i 7 j10
- if i ! j printf(i es distinto de j)else
printf(i es igual a j)
39Tema 2 Elementos básicos de un programa
- Operadores lógicos permiten realizar expresiones
relacionales o lógicas más complejas - Y (AND) Indica que se deben cumplir
simultáneamente (a la vez) las dos condiciones o
expresiones lógicas que se proporcionan como
operandos. - Ejemplo int i 7 j10 k15
- if (i lt j) and (i lt k) printf(i es menor que
ambas j,k) - else printf(i no es menor que ambas j,k)
- O (OR) Indica que se deben cumplir al menos una
de las dos condiciones o expresiones lógicas que
se proporcionan como operandos. - Ejemplo int i 12 j10 k15
- if (i lt j) or (i lt k) printf(i es menor que j o
k) - else printf(i es menor que ambas j,k)
40Tema 2 Elementos básicos de un programa
- NO (NOT) Este operador necesita un único
operando y su efecto es negar la condición que
representa dicho operando. - Ejemplo int i 7 j10
- if not (i lt j) printf(i no es menor que j)
- else printf(i es menor que j)
- Operadores de asignación Permiten modificar el
valor asignado a una variable - Ejemplo int i
- i1 / La variable i tiene el valor 1 despues de
esta operación / - i5 / La variable i tiene el valor 5 despues de
esta operación / - Expresiones En general, una variable, constante,
valor numérico, etc. es una expresión por sí
misma, aunque eso sí, muy sencilla. Lo importante
de la expresión es que puede ser evaluada y por
lo tanto su resultado será de un tipo de datos
determinado
41Tema 2 Elementos básicos de un programa