Está en la página 1de 23

Sistemas de c

omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Programacion estructurada
Introducci
on
Oscar Alvarado Nava
oscar.alvarado.nava@gmail.com
Departamento de Electr
onica
Divisi
on de Ciencias B
asicas e Ingeniera
Universidad Aut
onoma Metropolitana, Unidad Azcapotzalco

13O, agosto de 2013

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

1/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Contenido

Sistemas de computo
Sistemas en capas

Software
Traductores

Herramientas de desarrollo
WinSSH

Primer programa en lenguaje C


Compilacion

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

2/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Sistemas en capas

Sistema de computo en capas


Aplicaciones:
cientfico, negocios, oficina, juegos

Lenguajes y
traductores:

Sistema
operativo:

bajo, mediano,
procesos, hilos,
alto, interpretado
bibliotecas

Arquitectura:
conjunto de instrucciones

Micro arquitectura:
ruta de datos, control, memoria

Lgico:
compuertas, unidades funcionales

Fsico:
transistores, cables, etc.

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

3/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Sistemas en capas

Sistema de computo

Cojunto de elementos para ejecutar programas


CPU (Central Processing Unit), arquitectura especfica
RAM (Random Access Memory ) sistema de buses y perifericos
Sistema de buses (PCI Peripheral Component Interconnect,
USB Universal Serial Bus)
Perifericos

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

4/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Sistemas en capas

Sistema computo
8-9

Bridge
Based
Bus Architecture

Chapter
8: Input and Output
3200 MB/sec

3200 MB/sec

400-MHz
Core

512KB-2MB
Cache

400-MHz
Core

512KB-2MB
Cache

800 MB/sec

100-MHz
System Bus
AGP

AGP 2X
Graphics

Intel 440GX
AGPset
(Host Bridge)

533 MB/sec

133 MB/sec

100 MHz

2GB
100-MHz
SDRAM

800 MB/sec

33-MHz PCI Bus


USB #2

40 MB/sec

Bridging with
dual Pentium II
Xeon processors on Slot 2.

SCSI Bus

SCSI
Interface

1.5 MB/sec

Snapshot
Camera

33 MB/sec

PCI to ISA
Bridge

IDE Bus #2
33 MB/sec

Mouse

CD-ROM

IDE Bus #1
ISA Bus

(Source: http://
www.intel.com.)

Hard
Disk
Ethernet
Interface

Principles of Computer Architecture by M. Murdocca and V. Heuring

Oscar Alvarado Nava

USB #1

UAM Azcapotzalco

Hard
Disk

16.7 MB/sec

Keyboard

Audio
1999 M. Murdocca and V. Heuring

Introducci
on

5/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Traductores

Lenguaje maquina

Los sistemas de c
omputo trabajan en lenguaje maquina
Secuencias de 1 y 0, tambien conocidos como codigo binario
Tambien son representados en c
odigos que son potencia de
dos: octal y hexadecimal

Difciles de leer y escribir para los humanos


Para la implementaci
on de programas, es necesario utilizar
otros lenguajes
Lenguaje ensamblador, lenguajes de alto nivel, lenguajes
interpretados

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

6/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Traductores

Traductores

Un traductor traduce un programa escrito en un lenguaje de


programacion a otro
El objetivo es generar un programa equivalente que la maquina
sea capaz de interpretar

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

7/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Traductores

Proceso de traduccion
High-level
language
program
(in C)

swap(int v[], int k)


{int temp;
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
}

C compiler

Assembly
language
program
(for MIPS)

swap:
muli
add
lw
lw
sw
sw
jr

$2, $5,4
$2, $4,$2
$15, 0($2)
$16, 4($2)
$16, 0($2)
$15, 4($2)
$31

Assembler

Binary machine
language
program
(for MIPS)

Oscar Alvarado Nava

UAM Azcapotzalco

00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000

Introducci
on

8/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Traductores

Paradigmas de programacion

Paradigma de programaci
on es una propuesta de reglas que es
adoptada por una comunidad de programadores cuyo n
ucleo
central es incuestionable
Imperativo, por procedimientos o estructurada
Funcional
L
ogico
Declarativo
Orientado a objetos

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

9/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Traductores

Programacion estructurada

La programacion estructurada es una tecnica para escribir


programas, la cual u
nicamente utiliza tres estructuras
Secuencia, selecci
on e iteraci
on

Siendo innecesario el uso de instrucciones de transferencia


incondicional, como el goto de C

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

10/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Herramientas de desarrollo

Para el sistema operativo Windows, se tienen clientes de


acceso a servidores o IDE (Integrated Development
Environment)
SSH secure shell client
IDE DevC++
IDE Eclipse

En cualquier distribuci
on de Linux (Debian, Ubuntu, fedora,
etc.)
Instalar editores de texto sin marcas y el compilador GCC

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

11/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

SSH secure shell client

Disponible en:
http://mirrors.azc.uam.mx/mirrors/ftp.ssh.com/SSHSecureShellClient-3.2.9.exe

Conexion a un servidor a traves de un cliente


Conexi
on al servidor:
ce.azc.uam.mx

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

12/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

SSH secure shell client

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

13/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Acceso con Quick Connect

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

14/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Ingresar hostname y username

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

15/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Ingresar password

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

16/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Acceso aceptado

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

17/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

WinSSH

Terminacion de sesion

< tss-1-01@ce >


< /users/tss/1/tss-1-01 >
$ exit

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

18/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Compilaci
on

Hola mundo en lenguaje C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

/* Programacion estructurada
Oscar Alvarado Nava , 13 O
Descripcion :
Muestra un mensaje en la salida estandar a traves
de una funcion de biblioteca
*/
# include < stdio .h >

/* archivo encabezado */

int main ()
{
printf ( " Hola Mundo !!\ n " ) ;

/* funcion de biblioteca */

return 0;

/* funcion principal de tipo entero */

/* regresa el valor de cero */

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

19/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Compilaci
on

Obtener codigo del programa

< tss-1-01@ce >


< /users/tss/1/tss-1-01 >
$ /usr/sfw/bin/wget ce.azc.uam.mx/profesores/oalvarado/pe/holaMundo.c

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

20/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Compilaci
on

Visualizar el codigo del programa

< tss-1-01@ce >


< /users/tss/1/tss-1-01 >
$ cat holaMundo.c

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

21/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Compilaci
on

Compilacion del programa

< tss-1-01@ce >


< /users/tss/1/tss-1-01 >
$ gcc holaMundo.c -o holaMundo

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

22/23

Sistemas de c
omputo

Software

Herramientas de desarrollo

Primer programa en lenguaje C

Compilaci
on

Ejecucion del programa

< tss-1-01@ce >


< /users/tss/1/tss-1-01 >
$ ./holaMundo
Hola Mundo!!

Oscar Alvarado Nava

UAM Azcapotzalco

Introducci
on

23/23

También podría gustarte