Está en la página 1de 35

Programación

Introducción

Profesor:
Oscar San Martín C.
- 30 % Certamen 1 (Toda la materia)
- 30 % Test
- 40 % Tareas

- Asistencia mayor a 70%.


Contenido

• Informática
• Pseudo código
• Estructura de un computador
• Lenguajes de programación
• Tipos de computadoras
• “Hola Mundo” en C++
• Sistema Operativo

• Datos e información

• Representación de datos

• Almacenamiento de datos

• Software (programas)

• Conceptos de algoritmos
Reseña histórica de la computación

Documental del History Channel


https://www.youtube.com/watch?v=7eOKcLnm0Xo
Informática

• Informática: Información+automática
Tratamiento automático de la datos e información por medio de
computadores.
• Sistema: Es un conjunto de elementos o partes que se integran o
relacionan para producir un resultado.
• Sistema informático: Es el conjunto que resulta de la integración
de cuatro elementos: Hardware, Software, Datos y Personas.

Programa

Input Output
Estructura de un Computador

Computadora
Equipo compuesto por dispositivos electrónicos capaz de recibir y ejecutar
ordenes o instrucciones para procesar informaciones.

Hardware: Software: Programa


Esta formada por o conjunto de
componentes internos programas
y externos interrelacionados con
interconectados al funciones tan diversas
ordenador. como operar y
controlar al ordenador

Programa
Un programa es un conjunto de instrucciones, que se escriben de forma clara y
ordenada. Con la finalidad de procesar información en una computadora.
Estructura de un Computador

Periféricos
CPU Periféricos
Entrada Salida

Memoria masiva

Almacenamiento

Memoria principal

Datos
Instrucciones
Tipos de computadoras

Supercomputador
• Alta velocidad de procesamiento. Es su principal característica.

• Costo muy elevado.

• Las supercomputadoras son optimizadas para cálculos complicados que


tienen lugar sobre todo en la memoria.

• Ejemplos de aplicación: Predicción sofisticada del clima, investigación en


energía nuclear, viajes espaciales, etc.

• Suelen explotar paralelismos masivos, a menudo con miles de procesadores.

• Suelen dedicarse a la ciencia y al ejército.

• Actualmente el sistema operativo más popular usado por las


supercomputadoras es

P1: Investigar ¿cuántas operaciones por segundo puede realizar un supercomputador?


Comparación con un PC home.
Tipos de computadoras

Mainframe
• Gran tamaño.

• Elevado costo.

• Multiusuario. Muchos usuarios trabajando simultáneamente.

• Multitarea. Soporta múltiples programas ejecutándose simultáneamente.

• Alta capacidad de procesamiento.

• Son optimizadas para cálculos simples que implican grandes cantidades


de datos externos a los que se accede desde bases de datos.

• Suelen dedicarse a las empresas y las aplicaciones administrativas del


gobierno. Por ejemplo: Bancos.
Tipos de computadoras

Minicomputador
• Tamaño y costo medio.

• Soporta varios usuarios trabajando simultáneamente.

• Soporta múltiples programas ejecutándose simultáneamente.

Estación de trabajo
• Es un tipo especial de ordenador que se usa para aplicaciones de ingeniería
(CAD/CAM), publishing, desarrollo de software y otras aplicaciones que
requieran un moderado poder de cómputo y alta capacidad gráfica.

• Están diseñadas para soportar un único usuario, pero generalmente se conectan


en red.
Tipos de computadoras

Computador personal (PC)


• Tamaño pequeño.

• Costo relativamente bajo.

• Diseñado para ser usado por un único usuario.

• Aparecieron por primera vez en la década de los 70s, como consecuencia del
uso de circuitos altamente integrados (VLSI).

• Los PC surgen en la cuarta generación.


Sistema Operativo

Un sistema operativo (SO, OS) es un programa o conjunto de programas de un sistema


informático que gestiona los recursos de hardware y provee servicios a los programas de
aplicación de software, ejecutándose en modo privilegiado respecto de los restantes.

Los más populares

Características:
Monousuario vs. Multiusuario
Monotarea vs. Multitarea
Monoproceso vs. Multiproceso
Sistema Operativo

Servicios más comunes que suministra un SO:

–Facilitar al usuario el acceso a sus servicios (shell o


intérprete de órdenes).
–Proporcionar seguridad en la utilización de los recursos.
–Gestión de la CPU.
–Gestión de la Memoria Principal.
–Gestión de Entradas/Salidas.
–Gestión de Archivos.

El S.O. es responsable de:

–Asignar/quitar memoria a los procesos.


–Controlar en cada momento qué partes de la memoria
están utilizadas y por quién.
–Gestionar la memoria virtual

P2: ¿Cuáles son las características deseables de un Sistema Operativo?


Datos e información

¿Qué son los datos?


Símbolos que representan hechos, condiciones,
situaciones o valores.
Son la materia prima necesaria para producir
información.
Datos

Tipos de datos
Numéricos
Información Alfabéticos
Audiovisuales
Mediciones

Conocimiento
¿Qué es la información?
Es el resultado de transformar o procesar datos.
La información es significativa para el usuario.
Representación de datos

• Sistema de numeración decimal (base 10)


Utiliza diez dígitos para representar cualquier cifra
0, 1, 2, 3, 4, 5, 6, 7, 8, 9

• Sistema de numeración binario (base 2)


Utiliza dos dígitos para representar cualquier cifra:
0, 1

• Otros sistemas:
– Octal (base 8)
– Hexadecimal (base 16)
Representación de datos

El número binario 101101 corresponde a 45 en el sistema decimal.

1 x 20 = 1
0 x 21 = 0
1 x 22 = 4
1 x 23 = 8
0 x 24 = 0
1 x 25 = 32
45

El número 26 corresponde al 11010 en el sistema binario.


26 : 2 = 13
0
13 : 2 = 6
1
6 : 2 = 3
0
3 : 2 = 1
1
1 : 2 = 0
1
Representación de datos

Los computadores representan todos sus datos en sistema binario.


Los datos viajan, se procesan y se almacenan en los computadores
a través de impulsos eléctricos. Estos impulsos se representan
por dos estados:
Encendido (1) o Apagado (0)

Unidades de medida para almacenamiento de datos


Bit: Binary Digit (dígito binario), es la mínima unidad de
procesamiento.
Cada bit representa un impulso eléctrico (1 ó 0).

Byte: Binary Term (término binario), es un grupo de 8 bits que el


ordenador utiliza para representar cada símbolo o carácter que
conocemos (número, letra, signo de puntuación, etc.).
Ejemplo: 10101010
Con un byte, el ordenador puede representar 256 símbolos o
caracteres diferentes.
Código ASCII
Código ASCII

Ejemplo:
Representar: ICE-UBB

I C E - U B B
ASCII: 73 67 101 45 85 66 66
Binario: 1001001 1000011 1100101 101101 1010101 1000010 1000010

Se necesitan 7 bytes, uno para cada símbolo


Almacenamiento de datos

Unidades de medida
El sistema de medición para almacenamiento de datos se fundamenta en:
El Byte como medida base.
1024 (210) como factor multiplicador para el incremento.
Los prefijos: Kilo, Mega, Giga, Tera, etc.

1 KiloByte = 1024 Bytes


1 MegaByte = 1024 KiloBytes = 1024 x 1024 Bytes
1 GigaByte = 1024 MegaBytes = 1024 x 1024 KiloBytes

Un petabyte (PB), equivale a 1024 Terabytes = 1.125.899.906.842.624


de bytes.
Evolución del almacenamiento

Con respecto al almacenamiento masivo


Actualidad:
HDD (Hard Drive Disk)  SSD (Solid State Drive)

Los SSD son ideales para portátiles como forma de mejorar el


rendimiento
Evolución del almacenamiento
¿Qué es un programa?

Un programa es un conjunto de instrucciones, que se


escriben de forma clara y ordenada.

Con la finalidad de procesar información en una


computadora (resolver un problema).
¿Por qué es necesario programar?

Se necesita de los lenguajes de programación para resolver los


problemas numéricos, pues si estos se resolvieran de forma
manual exigirían demasiado tiempo.

• Ecuaciones y cálculo numérico


• Optimización
• Manejo de Datos
• Automatizar
• Manejo de HW
• KDD (knowledge discovery in databases)
• etc.
Ciclo de vida del software

Requisitos

Diseño Define las etapas y


organización para
Codificación realizar un proyecto de
desarrollo de software.
Pruebas

Implementación

Mantenimiento

muy importante!!!
Conceptos de algoritmos

Algoritmo
1. Un algoritmo es un conjunto de pasos bien definido que toma una
entrada y produce una salida.
2. Un algoritmo es una secuencia de pasos que transforma la
entrada en la salida deseada.

Problema computacional
Un problema computacional es “una deseada relación
entre una entrada y una salida”.
Un algoritmo resuelve un problema computacional si
logra producir la relación deseada.

Variables
Permiten almacenar temporalmente datos en memoria del
computador
Conceptos de algoritmos

Correctitud
Un algoritmo se dice correcto si para todas las instancias termina
con una salida correcta. Un algoritmo correcto se dice que
puede resolver el problema computacional asociado.

Computabilidad
Relación entre problemas computacionales y algoritmos.
Un problema, función, pregunta es computable si existe un
algoritmo que lo resuelva, compute, responda (no todos son
computables).
La computabilidad depende del modelo de máquina que se utiliza.
No todos los problemas son iguales.
Conceptos de algoritmos

Formas de representar un algoritmo


• Diagramas de Flujo
• Pseudo código
• Diagrama N-S (Nassi-Shneiderman)
• etc.

Un pseudocódigo (falso lenguaje), es una serie de normas léxicas y


gramaticales parecidas a la mayoría de los lenguajes de
programación, pero sin llegar a la rigidez de sintaxis de estos ni a
la fluidez del lenguaje coloquial.
Wikipedia
Pseudo código

si P entonces Condición If(P) then


Instrucciones1 Instrucciones1
si no Else
Instrucciones2 Instrucciones2
fin si End If

mientras P hacer Bucle While(P)


Instrucciones Instrucciones1
fin mientras Wend

Visual Basic
Lenguajes de programación

Lenguaje de Máquina
Son lenguajes que están expresados en lenguajes directamente
inteligibles por la maquina (computador), siendo sus instrucciones
cadenas binarias de 1 y 0, que especifican una operación.

Lenguaje de Bajo Nivel


Son lenguajes mas fáciles de usar que los lenguajes de maquina,
pero también dependen de la maquina en particular, el lenguaje
de bajo nivel por excelencia es el ensamblador.

Lenguaje de Alto Nivel


Estos son los mas usados por los programadores, han sido
diseñados para que las personas puedan escribir y entender de
manera más fácil los programas (Ejemplo VB).
Lenguajes de Programación

Lenguaje de programación: conjunto de símbolos y reglas


para combinarlos y formar programas

Necesitan traductores:
• Compiladores: convierten a código máquina
• Intérpretes: ejecutan las instrucciones una a una

Lenguajes de programación:
JavaScript Java C C++ PHP Python
Visual Basic Matlab R

P5: ¿Qué es Programación Orientada a Objetos?


C++

C++ fue diseñado a mediados de los años 1980 por Bjarne


Stroustrup.

Surge como extensión al exitoso lenguaje de programación C, con


mecanismos que permitan la manipulación de objetos.

En ese sentido, desde el punto de vista de los lenguajes orientados


a objetos, el C++ es un lenguaje híbrido.

Programación orientada a objetos (POO)


Es un paradigma de programación que usa objetos y sus
interacciones para diseñar aplicaciones y programas de
computadora.
Permite realizar grandes programas mediante la unión de elementos
más simples, que pueden ser diseñados y comprobados de
manera independiente.
C++

El IDE (entorno de desarrollo integrado)


Es el programa en el que escribiremos el código. Otras funciones
que ofrecen son: depuración del código y compilado.

Existen muchos IDE, algunos conocidos son:


Dev C++ de Bloodshed,
Visual Studio (visual c++) de Microsoft
Code::Blocks
NetBeans C/C++

Ejemplos de programas: calculadoras


videojuegos
robots
C++

• C++ es un lenguaje de programación de alto nivel, con el que se


puede escribir cualquier programa.

• Una de las ventajas del C++ sobre otros lenguajes de


programación es que soporta diferentes estilos de programación:
Estructurada y orientada objetos

• C ++ consiste en un vocabulario de comandos, con las siguientes


características:
• los humanos lo pueden entender
• se puede convertir en lenguaje de máquina con bastante facilidad
• tiene una estructura de lenguaje (gramatical) que permite a los
seres humanos combinar estos comandos para lograr un programa.
vocabulario -- semántica
gramática -- sintaxis.
Primer programa en C++

<iostream>
int main (int argc, char *argv[])
{
std::cout<<"hola mundo"<<std::endl;
system("pause");
return 0;
}
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
cout<<"hola mundo"<<endl;
system("pause");
return 0;
}

También podría gustarte