Clase 1

30
FUNDAMENTOS DE LA FUNDAMENTOS DE LA PROGRAMACIÓN

Transcript of Clase 1

Page 1: Clase 1

FUNDAMENTOS DE LA FUNDAMENTOS DE LA PROGRAMACIÓN

Page 2: Clase 1

Que es un computador?Que es un computador?

Los computadores son herramientas esenciales en muchaspáreas; industria, ciencia, educación.., El papel rol de losprogramas de computadoras es esencial; sin una lista deinstrucciones a seguir, la computadora es virtualmente inútil.Los lenguajes de programación nos permiten escribir esos

i i i lprogramas y por consiguiente, comunicarnos con lascomputadoras

Page 3: Clase 1

Que es un computador?Que es un computador?

Un computador procesa datos y los convierte en informaciónp p ysignificativa. Para conseguir esos resultados, un programadornecesita conocimientos tanto de hardware como desoftware, aunque será en el mundo del software donde,normalmente realizara su aprendizaje

Page 4: Clase 1

Software Software El soporte lógico o software, es el conjunto de instrucciones que un

d d l i l d j lordenador emplea para manipular datos: por ejemplo, unprocesador de textos o un videojuego.Estos programas suelen almacenarse y transferirse a la CPU através del hardware de la computadora.El software también rige la forma en que se utiliza el hardware,como por ejemplo la forma de recuperar información de unp j p pdispositivo de almacenamiento.La interacción entre el hardware de entrada y de salida escontrolada por un software llamado BIOS (siglas en inglés dep ( g g'sistema básico de entrada / salida').

Page 5: Clase 1

Hardware Hardware El hardware se refiere a los componentes materiales de unsistema informático.La función de estos componentes suele dividirse en tres

t í i i l t d lid l i tcategorías principales: entrada, salida y almacenamiento.Los componentes de esas categorías están conectados através de un conjunto de cables o circuitos llamado bus conjla unidad central de proceso (CPU) del ordenador, elmicroprocesador que controla la computadora y leproporciona capacidad de cálculoproporciona capacidad de cálculo.

Page 6: Clase 1

Partes de un computador Partes de un computador

Es un sistema compuesto de cinco elementos diferenciados:puna CPU (unidad central de Procesamiento), dispositivo deentrada, dispositivos de almacenamiento, dispositivos desalida y una red de comunicaciones, denominada bus, queenlaza todos los elementos del sistema y conecta a éste conel mundo exteriorel mundo exterior.

Page 7: Clase 1

Que es la CPU? Que es la CPU?

Unidad central de proceso o UCP (conocida por sus siglas enp ( p ginglés, CPU), circuito microscópico que interpreta y ejecutainstrucciones.La CPU se ocupa del control y el proceso de datos en lascomputadoras. Generalmente, la CPU es un microprocesadorf b i d hi ú i d ili i ifabricado en un chip, un único trozo de silicio que contienemillones de componentes electrónicos.

Page 8: Clase 1

Factores relevantes de la CPUFactores relevantes de la CPUCompatibilidad: No todo el software es compatible contodas las CPU. En algunos casos se pueden resolver losproblemas de compatibilidad usando software especial.V l id d L l id d d t d táVelocidad: La velocidad de una computadora estádeterminada por la velocidad de su reloj interno, eldispositivo cronométrico que produce pulsos eléctricos parap q p p psincronizar las operaciones de la computadora. Lascomputadoras se describen en función de su velocidad dereloj que se mide en giga hertzreloj, que se mide en giga hertz.

Page 9: Clase 1

Factores relevantes de la CPUFactores relevantes de la CPUEl Procesador: El chip más importante de cualquier placa madrees el procesador. Sin el la computadora no podría funcionar.A menudo este componente se denomina CPU, que describe a laperfección su papel dentro del sistema Los procesadores seperfección su papel dentro del sistema. Los procesadores sedescriben en términos de su tamaño de palabra, su velocidad y lacapacidad de su RAM asociada.Tamaño de la palabra: Es el número de bits que se maneja comouna unidad en un sistema de computación en particular.Velocidad del procesador: Se mide en diferentes unidades segúnVelocidad del procesador: Se mide en diferentes unidades segúnel tipo de computador:

Page 10: Clase 1

Factores relevantes de la CPUFactores relevantes de la CPUMHz (Megahertz): para microcomputadoras. Un oscilador de

i l l l j ió d i i d d l dcristal controla la ejecución de instrucciones dentro del procesador.MIPS (Millones de instrucciones por segundo): Para estaciones detrabajo, minis y macrocomputadoras. Por ejemplo unacomputadora de 100 MIPS puede ejecutar 100 millones deinstrucciones por segundo.FLOPS (floating point operations per second, operaciones de( g p p p , ppunto flotante por segundo): Para las supercomputadoras.Capacidad de la RAM: Se mide en términos del número de bytesque puede almacenar. Habitualmente se mide en KB y MB,q p y M ,aunque ya hay computadoras en las que se debe hablar de GB.

Page 11: Clase 1

Bit BytesBit, BytesBit, en informática, acrónimo de Binary Digit (dígito binario), qued i l l 1 0 l i é i bi i E ladquiere el valor 1 o 0 en el sistema numérico binario. En el

procesamiento y almacenamiento informático un bit es la unidadde información más pequeña manipulada por el ordenadorByte, en informática, unidad de información que consta de 8 bits;en procesamiento informático y almacenamiento, el equivalente aun único carácter, como puede ser una letra, un número o un signod t ió C l b t t ól ñde puntuación. Como el byte representa sólo una pequeñacantidad de información, la cantidad de memoria y dealmacenamiento de una máquina suele indicarse en kilobytes(1 024 bytes) o en megabytes (1 048 576 bytes)(1.024 bytes) o en megabytes (1.048.576 bytes).

Page 12: Clase 1

Que es la programación ?Que es la programación ?

Para empezar debemos definir que es un programa.p q p g

Un programa puede entenderse como la forma de expresarla solución a un problema de manera que sea comprensiblepara el ordenador.En otras palabras, un programa es un conjunto ordenado deinstrucciones que se dan a la computadora indicando elconjunto de operaciones o tareas que se desea llevar a

bcabo.

Page 13: Clase 1

Conceptos básicos sobre programaciónConceptos básicos sobre programación

Una instrucción es un conjunto de símbolos que representaj q puna orden de operación o tratamiento para el ordenador.Escribir programas en el lenguaje que utiliza internamente elordenador (llamado “lenguaje máquina” o “códigomaquina”) es un trabajo duro, tanto a la hora de crear el

( i l ) l d iprograma como (especialmente) en el momento de corregiralgún fallo o mejorar lo que se hizo.

Page 14: Clase 1

Lenguajes de programación Lenguajes de programación

Lenguaje máquinag j qLos lenguajes máquina son aquellos cuyas instrucciones son directamente entendibles por el ordenador sin la necesidad de traducción alguna. Sus instrucciones no son más que ceros y unos (bits). Estas

ifi l ió li l i d lespecifican la operación a realizar, los registros delprocesador y celdas de memoria implicados, etc

Page 15: Clase 1

Lenguajes de bajo nivel (ensamblador) Lenguajes de bajo nivel (ensamblador)

Estos lenguajes son generalmente dependientes de lag j g pmáquina, es decir, dependen de un conjunto de instruccionesespecíficas del ordenador.Un ejemplo de este tipo de lenguajes es el ensamblador. Enél, las instrucciones se escriben en códigos alfabéticos

id é i ( lconocidos como mnemotécnicos (generalmente,abreviaturas de palabras inglesas).ADDADD x,y,z

Page 16: Clase 1

Lenguajes alto nivel (pascal) Lenguajes alto nivel (pascal) Los lenguajes de alto nivel son aquellos en los que lasi i i i l b i il linstrucciones o sentencias son escritas con palabras similares a lasde los lenguajes humanos (en la mayoría de los casos, el Inglés).Esto facilita la escritura y comprensión del código alprogramadorprogramador.

BASIC COBOL FORTRAN C PascalJava

Page 17: Clase 1

Lenguajes de alto nivel y de bajo nivel Lenguajes de alto nivel y de bajo nivel Uno de los lenguajes de alto nivel mas sencillos es el lenguajeBASIC. En este lenguaje, escribir el texto Hola en pantalla, seriatan sencillo como usar la orden

PRINT "Hola"PRINT Hola

Otros lenguajes, como Pascal, nos obligan a ser algo mas estrictos,pero a cambio hacen mas fácil descubrir errores:

program Saludo;beginwrite('Hola');( );end.

Page 18: Clase 1

Lenguajes de alto nivel y de bajo nivel Lenguajes de alto nivel y de bajo nivel El equivalente en lenguaje C resulta algo mas difícil de leerq g j g

#include <stdio.h>int main(){printf("Hola");}

Los lenguajes de bajo nivel son mas cercanos al ordenadorl l hque a los lenguajes humanos.

Page 19: Clase 1

Lenguajes de alto nivel y de bajo nivel Lenguajes de alto nivel y de bajo nivel

Por ejemplo, escribir Hola enj p ,lenguaje ensamblador de unordenador equipado con elsistema operativo MsDos y con unprocesador de la familia Intelx86 seria algo comox86 seria algo como

Page 20: Clase 1

Traductores de lenguajeTraductores de lenguaje

Los traductores de lenguaje son programas que traducen ag j p g qsu vez los programas fuente escritos en lenguajes de altonivel a código maquina. Los traductores se dividen en;

CompiladoresInterpretes

Page 21: Clase 1

Compiladores Compiladores Un compilador es un programa que traducep p g qlos programas fuente escritos en lenguajes dealto nivel: Pascal, FORTRAN.... a lenguajemáquina Programa Fuentemáquina.

Los programas escritos en lenguajes de altonivel se llaman programa fuente y el

Programa Fuente.

Compilador.

Programa Objeto.ve se a a p og a a ue e y eprograma traducido se le llama programaobjeto ó código objeto. El compilador traduce

i i l f

g j

sentencia a sentencia el programa fuente.

Page 22: Clase 1

Interpretes Interpretes

Un intérprete es un traductor que toma un programa fuente,p q p g ,lo traduce y a continuación lo ejecuta.Un lenguaje que soporte un traductor de tipo intérprete sedenomina lenguaje interpretado. BASIC es el modelo porexcelencia de lenguaje interpretado.

Programa Fuente

Intérprete

Traducción y ejecución línea a línea.

Page 23: Clase 1

Resumen Resumen El programa escrito en un lenguaje de alto nivel se introduce enp g g jla maquina con el editor y se llama código fuente; elcompilador lo traduce en lenguaje maquina y almacena el

l d hi ll d ódi bjresultado en otro archivo llamado código objeto.

El código objeto se puede cargar en la memoria principal dela computadora y se ejecuta por la CPUla computadora y se ejecuta por la CPU

Page 24: Clase 1

Técnicas de resolución de problemasTécnicas de resolución de problemas

A la hora de crear un programa, hay que tener en cuenta losp g , y qsiguientes pasos:

1- Realizar un análisis del problema definiendo los requisitos a losque se deben dar solución2- Diseñar y verificar el algoritmo que se va a seguir parasolucionar el problemasolucionar el problema3- Se codifica el algoritmo diseñado anteriormente en unlenguaje de programación

Page 25: Clase 1

Técnicas de resolución de problemasTécnicas de resolución de problemas4- Se traduce el código fuente escrito a código maquinaempleando compiladores, generándose de esta manera elprograma ejecutable por el ordenador.5 S b l d f i5- Se comprueba que el programa generado funcionacorrectamente. En caso de encontrar algún error, se depura elcódigo (solución a los problemas)6- Se realiza la documentación del programa realizado.

Page 26: Clase 1

Algoritmo Algoritmo Un algoritmo es un conjuntog jpreescrito de instrucciones o reglasbien definidas, ordenadas y finitasque permite realizar una actividadque permite realizar una actividadmediante pasos sucesivos.

Dados un estado inicial y unaados u es ado c a y u aentrada, siguiendo los pasossucesivos se llega a un estado final y

b i l ióse obtiene una solución

Page 27: Clase 1

Herramientas de programación Herramientas de programación Diagramas de flujo Pseudocódigog j

Un diagrama de flujoes una representación

gEs una herramienta deprogramación en la que las

grafica de unalgoritmo. Losí b l tili d

instrucciones se escriben enpalabras similares al ingles

ñ l f ilitsímbolos utilizadoshan sido normalizadospor el ANSI

o español, que facilitantanto la escritura como lalectura de programaspo e NS ec u a de p og a as

Page 28: Clase 1

Ejemplo Ejemplo Borrar Pantalla

Imprime: “Introduce número: ”Introduce KIf K MOD 2==0

Imprime: “El número” K ”Es par”Imprime: El número ,K, Es parFin del ifFin del programap g

Page 29: Clase 1

Deber Deber

Consultar Preparación y exposición ConsultarPseintGEANY

Preparación y exposición de la clase

GEANYDev C++Eclipse

Page 30: Clase 1

Patrón de prueba de pantalla panorámica (16:9)

Prueba de la relación de

aspecto

(Debe parecer circular)

16x9

4x3