138
El Raspberry Pi Educación ® ® ® t ntroducción 1 ® N o es:

Raspberry Pi Education Manual.en.Es

Embed Size (px)

Citation preview

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 1/137

El Raspberry PiEducación

®

®®

t

ntroducción

1

®

N o es:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 2/1371

Esta obra está bajo una licencia de Creative Commons Reconocimiento-No comercial-Compartir bajo la misma 3..

ManualEducacióEl Raspberry Pi

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 3/1372

3. Experimentos en Python .................................................. ..... !"

3.1 #le$ar a en%rentarse conPyt&on ......................................... !3

3.2 'asterPy ................................................. ..................... ()3.3 N*meros romanos y manipulación de datos ..........................(+

3.4 ,btener artstica ................................................ ..............+

3.5 /imulaciones y jue$os ............................................. 0

3.6 #os recursos limitados - de memoria

00

2. Greenfoot en la asp!erry Pi ..............................................

Próximamente"0

##11. $na %u&a del principiante a losara'a(os............................................. !

1.1 Conceptos básicos de/cratc& ................................................ ............... +

1.2 'udan1a sprites ................................................ ..............02

1.3  nimación 4bucles5 ........ ................... .................. . ............

0(1.4 6ato'atemáticas ................................................ ..................... "3

 

0

####. )ntroducción .................................................. ........................... 2

El Manual de asp!erry Pi EducaciónContenido

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 4/137

*+ónde est,n los cap&tulos Greenfoot y GeoGe!ra-

3

#os captulos 6reen%oot y 6eo6ebra se &an 8uedado %uera de esta edición

del manual. Estos pro$ramas se basan en so%t9are llamado una má8uina

virtual ava; 8ue está siendo optimi1ado actualmente para el Raspberry Pi

para mejorar el rendimiento. <sted puede mirar adelante a dis%rutar de estos

captulos una ve1 8ue estamos %elices de 8ue su usuario

. */ ahora 0u- .................................................. ........................

000

6. a l&nea de comandos de inux ...............................................02"

6.1 #os comandos se acaba depro$ramas ................................... 023

6.2 /inta=is y la estructura de arc&ivos decomandos ........................... 022

6.3 El superusuario ................................................ ........... 0)0

00

5. GeoGe!ra la diersión con lasmatem,ticas".................................................. ...00

4. interfa( hom!rem,0uina......................................... 003

4.1 >9itter ................................................. ...................... 002

4.2  plicación de correoelectrónico ................................................ ....... 00)

4.3 #lamada a procedimiento

remoto ............................................. 00( 

0

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 5/137

Este manual fue tra&do a usted por ...

ola!oradores Manual

Producción Manual

ola!oradores +i%ital

Gracias Especiales

4

'artin Ric&ards 4<niversidad de

Cambrid$e5 /imon @ump&reys

4Computación en las Escuelas5

 le= Aradbury 4<niversidad de Cambrid$e B undación

Raspberry Pi5 #i1 <pton 4undación Raspberry Pi5

Rasca Pon$ por Aruce Ni$&tin$ale

#a ci%ra de CDsar por Arian/tarey

 

#as si$uientes personas o%recieron contribuciones 8ue no estDn cubiertos en elmanual; pero está disponible

 

Garl ?ri$&t; Robert Cruse y Paul Gin$ett de Publicis Alueprint

7ntroducción por ndre9 @aya

<na $ua del principiante a /cratc& de 6ra&am

@astin$s 6reen%oot en la Raspberry Pi deE=perimentos 'ic&ael GHllin$ en Pyt&on por ndre9

@aya

7nter%a1 &ombre-má8uina por Aen Croston

6eo6ebra: la diversión con las matemáticasI

por drian ,ldno9 #a lnea de comandos de

#o 8ue todos estos contribuyentes tienen en com*n; además de un joven

dedicado principalmente en el interior en %rente de JK /pectrums y Commodore

)s; es 8ue son todos los miembros de la or$ani1ación de la Escuela de

7n%ormática 4C/5. Para saber más acerca de C/ y su trabajo de promoción de

la enseLan1a de ciencias de la computación; dir$ete

Este manual es un poco di%erente. ue escrito en su totalidad por voluntarios

no remunerados; todos los cuales están dispuestos a compartir sus

conocimientos y entusiasmo para el cálculo de la mayor 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 6/1375

7 n t ro du cc ió n

*/ 0uin 7u 0ueremos decir con cient&ficos de la computación- e

referimos. <sted puede terminar este manual y decide 8ue 8uiere estar al lado de >im

Aerners #ee; pero incluso si no lo &ace; esperamos 8ue te diviertas; aprender al$o nuevo y tener 

una idea de cómo las computadoras

8,cil de usar9 pero potente9 ase8uible y 4siempre y cuando usted tiene

cuidado5 di%cil de romper; el Raspberry Pi es la &erramienta per%ecta para los

aspirantes a cient%icos de la computación. MuD entendemos por ciencia de la

computaciónO Nos re%erimos a aprender cómo %uncionan las computadoras para

8ue pueda &acer 8ue &a$an lo 8ue usted 8uiere 8ue &a$an; no lo 8ue al$uien

 

El asp!erry Pi es un ordenador9 muy parecido a los e8uipos con los 8ue ya

está %amiliari1ado. /e utili1a un tipo di%erente de procesador; por lo 8ue no puede

instalar 'icroso%t ?indo9s en Dl. Pero usted puede instalar varias versiones del

sistema operativo #inu= 8ue verse y sentirse muc&o como ?indo9s. /i lo desea;

puede utili1ar el Raspberry Pi para nave$ar por 7nternet; enviar un correo

electrónico o escribir una carta utili1ando una palabra

 :hunt yos the unsp!err y Pyo-  N otas:

En&orabuenaI <sted tiene en su poder una Raspberry Pi. <nape8ueLa

pero potente e8uipo diseLado para ayudarle a entender y e=plorar 

el mundo casi má$ico de la in%ormática. Qsalo con sabidura es un

 

;ola9 usuarios asp!erry

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 7/137

*7uin es este manual-

*<oy a romper-

6

7 n t ro du cc ió n

 s 8ue; sin más demora; 8ue todo el mundo en la sala de un paso atrás: vamosa &acer 

 

=o se puede romper tu asp!erry Pi reali1ando cual8uiera de los e=perimentos en

este libro; pero 8ue sólo podra sorprenderse con lo 8ue puede lo$rar. <sted estará

trabajando a travDs y aprender conceptos $enuinamente di%ciles pero

emocionantes; y por la 8ue se

Comen1amos el manual con al$unos e=perimentos relativamente %áciles en la

in%ormática. Cosas lue$o se van &aciendo pro$resivamente más di%cil con cada

ejercicio sucesivo. >rate de pasar tiempo con cada e=perimento y; una ve1 8ue tienes

un ejercicio de &acer lo 8ue el manual dice 8ue debe; no dude en cambiar el códi$o

para ver lo 8ue sucede:

uando escri!imos este manual9 nuestro objetivo era para 8ue sea adecuado

para la mayora de la $ente a oc&o aLos. Pero eso no 8uiere decir 8ue es paraniLos de oc&o aLo. Este libro es para todo el mundo 8ue es la curiosidad de

saber más acerca de la in%ormática y la creación de pro$ramas de ordenador. /i

usted no tiene e=periencia de la computadora de pro$ramación

>l hacer todo esto9 usted aprender, los principios !,sicos de lacomputadora

ciencia. S ese es el primer paso en el camino de convertirse en un

pro$ramador de computadoras real; un desarrollador de jue$os; un Tber-

&acers al i$ual 8ue en las pelculas 4solamente más %resco y mantenerse

 

=o amos a hacer pe%ote extra'a de color9 pero vamos a utili1ar e=perimentos

para descubrir cómo pro$ramar una computadora para crear sus propios jue$os

y animaciones; cómo &acer $rá%icos aparecen en pantalla con tan sólo escribir 

en el códi$o correcto 4al i$ual 8ue los desarrolladores de tus jue$os %avoritos

&acen5; la %orma de obtener una $ato a &acer tus cuentas

En su lu%ar9 pensar en este manual9 ?unto con su asp!erry Pi9como

@6on?unto de la inform,tica@. Ml$una ve1 &a dado un jue$o de 8umicaO Con

un jue$o de 8umica; se puede &acer un montón de e=plosiones; olores y pe$ote

 

Este manual del usuario es diferente. No &ay 8ue esperar una descripción-

seca como polvo de cómo conectar cosas en o dónde encontrar su n*mero de

serie. S ciertamente no va a aprender cómo crear una &oja de cálculo o una

presentación. Eso no es realmente la computadora

 :hunt unm /A %oyon% to leunr n-  N otas:

6

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 8/137

ómo utili(ar esta %u&a

6ua de un principiante Us de

Estos se pueden encontrar en el comunicado de la educación tarjeta /FRaspberry Pi; en la carpeta

mar$en; eso si$ni%ica 8ue nos estamos re%iriendo a un arc&ivo 8ue se puede

encontrar en su tarjeta /F Raspberry Pi. 7r a ec&ar un vista1oI >ambiDn se pueden

descar$ar desde 6oo$le Frive httpBB%oo.%lBMp;$4

@emos tratado de &acer esta $ua tan sencillo de usar como sea posible. Para

ayudarle con los ejercicios de este captulo; ya &emos reco$ido al$unos pe8ueLos

tro1os y pie1as 8ue se necesitan; tales como %ondos; trajes para sprites; sonido

e%ectos y ejemplos completos de proyectos de

N otas:/cratc& es un entorno de pro$ramación visual. Con Dl; usted puedecrear su

animaciones propias; jue$os y obras de arte interactivas. S;

mientras 8ue usted está &aciendo eso; usted aprenderá al$unos

principios y tDcnicas de pro$ramación importantes sin tener 8ue

escribir su propio códi$o. Es una $ran manera de empe1ar. Para

 

$na %u&a del principiante a lo

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 9/137

a interfa( de Ccratch

Drea de los scripts

el modo de4ista

de la Etapa

Estomepermiteeditar 

cos

actual información Cprite !arra de herramientas

%uera de sus proyectos

uota

Guardar 

6ua de un principiante Us de

 rrastre blo8ues; snap juntos en $uiones

2ista de A!?etosEncuentra todos sussprites a8u-. @a$aclic en uno paraseleccionar y trabajar 

 

neF Cprite

!otones

Crear o importarnuevos sprites

atón /P>=H>>

'uestra la ubicación

tus spritesal

EtapaFonde sus proyectosde /cratc& &a$an lo

de códi$o8ue va a

#os blo8ues

Ilo0ues

!andera4erde

<na manera

idioma

Cambiar el

Ce'al +eCtopFetiene

Estilo rotación Cprite 7r a pantalla completa

Modo de

H>IC

s donde$uiones;>umes osonidos

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 10/137J

6ua de un principiante Us de

@a$a clic en la %ic&a /cripts; M&ay al$*n instrucciones para el $ato a se$uirO

1. #a etapa 4una pantalla blanca $rande5

2. <n sprite 4pista: es un $ato5

3. #os dos trajes 8ue tu sprite puede usar 4clic en la pestaLa dedis%races5

 

 brir los araLa1os de su men* pl icaciones de Raspberry Pi. &ora debera

estar buscando en la inter%a1 $rá%ica de usuario de /cratc&; o 6<7 4pronunciado

Vpe$ajosaV5.

Eso es su%iciente por a&ora introducciones vamos a poder %amiliari1arse

Para &acer sus sprites se mueven y &ablan; es necesario darles instrucciones. Esto se &ace

mediante VscriptsV de escritura utili1ando blo8ues de códi$o en la paleta y /cripts Alo8ues

pestaLa a la i18uierda de la pantalla.

Puedes vestir a tus sprites en VtrajesV; y cada uno de sprites puede tener más de un dis%ra1. El

VescenarioV es el área de la pantalla en la 8ue sus sprites voluntad

reali1ar las tareas 8ue usted escribe para ellos.

Ml$una ve1 &as estado en una obra de la escuelaO /i usted tiene; usted sabrá

8ue para poner en un jue$o 8ue necesita una etapa; actores; trajes y un $uión.

Piense araLa1os de ser un poco

ecursos3 #os sprites V$atoV y VromanWcatV; y el %ondo

VEtapa romanWV.

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá cómo utili1ar la inter%a1

$rá%ica de usuario de /cratc& 46<75; cómo crear personajes 4sprites y trajes5

y etapas 4%ondos5 para sus proyectos; y cómo aLadir scripts.

 esson 1.1 /cr untc& bunsyocs N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 11/137

;acer la charla del %ato

c ...M ...

C ... ...

o ...C ...

...P ...

1#

6ua de un principiante Us de

blo8uear y su $ato debe

decir: V@ola; mundoV.

y arrástrelo a la pestaLaaparecen los blo8ues

#ista /prites 4tom botderec&a5 para

 

Reempla1ar V@olaV con@a$a clic en el blo8ue@a$a clic en V'iradasV; pero

4'undial V. @a$a doble clic en

3VFecir X@olaY para X"Y

2en el Alo8ues Palet te &acer 

>hora9 si%a estos sencillos pasos para hacer su charla

@ay oc&o tipos di%erentes de blo8ues. Estos se pueden encontrar en la es8uina

superior i18uierda de la inter%a1 $rá%ica de usuario de /cratc&. /on un códi$o

de colores; as 8ue recuerda los colores. Encontrar 

Para &acer 8ue el $ato decir V@ola; mundoV; vamos a trabajar con Vblo8uesV. /e trata de pie1as

*tiles de códi$o; cada uno con una instrucción para tu sprite

se$uir.

En primer lu$ar; vamos a dar el $ato al$o 8ue decir. Zamos a empe1ar con V@ola;

mundoV. Esto es $eneralmente lo primero 8ue un pro$ramador de computadoras

aprende a &acer 4no me pre$unten por 8uD5. Como usted a&ora está aprendiendo

un len$uaje de pro$ramación; te empie1as mejor con

 etKs huncinco some 8un Fyoth the cunt  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 12/137

a usted

11

6ua de un principiante Us de

Pre%unta MFurante cuánto tiempo duró el $ato decir V@ola; mundoVO WWWWWse$undos

Harea Zea si usted puede cambiar el blo8ue para 8ue el $ato decir V@ola;V

 &ora está listo para ejecutar correctamente su primer pro$rama de /cratc&. /implemente &a$aclic en el smbolo de la bandera verde en la parte superior derec&a de la ventana de /cratc&;

 justo por encima del

Para encontrar el !lo0ue de eentos de !andera erde

1. @a$a clic en el botón de control en la Paleta de Alo8ues.

2. Encuentra el blo8ue denominado Vcuando Xla ima$en de una bandera verdeY&ace clicV.

3. /eleccionar; lue$o arrastrarlo a la cima de la secuencia de comandos 8ue &acreado en el

>enemos 8ue ejecutar un pro$rama para 8ue %uncione. <sted puede &acer esto al

&acer doble clic en la secuencia de comandos; si sólo tienes un $uión. Pero si

tenemos más de una secuencia de comandos; puede ser 8ue desee comen1ar al

mismo tiempo. Podemos utili1ar un Vevento de bandera verdeV

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 13/137

a usted

12

6ua de un principiante Us de

el derechode ese

%ato3 1l

parece 0ue ha

perdido en una

tormenta de nie4e.

 

Pre%unta &ora 8ue tenemos un $uión con dos blo8ues; lo 8ue sucede

cuando se &ace doble clic en DlOHarea  ver si se puede or$ani1ar tres blo8ues para &acer el cambio $ato a lato$a

 

 &ora usted tiene dos blo8ues en la pestaLa /cripts; uno para decir V@ola;

mundoV y otro para cambiar el traje. Puedes ponerlos juntos moviendo una

manera 8ue es justo por encima o por debajo de la otra. /i aparece una lnea

blanca; los dos blo8ues se ajustarán

seleccione Vcostume3V. @a$a

doble clic en este blo8ue y el

$ato

y seleccione elVinterruptor de

 

al$o de ropa en el vestuario y

&a$a clic en ceptar. #e di mi

sprites una to$a para 8ue se

vea

 rras tre bajo la pestaLa Procesos  con tinuación; selecc ione

6utili1ar el men* desple$able5&a$a clic en las apariencias;

Editor. E=perimente con todos

los pero toneladas y

&erramientas para saber 

en Copiar. <n nuevo traje de$ato

 

En el área de /cripts; &a$a clicen el

 

/eleccione Vcostume3V y &a$aZamos a &acer una tercera

3Editar. Esto abrirá la pintura2traje para el $ato; as- 8ue &a$1Haga clic en su sprite para

cde han%in% the Funy the sphode )slandte looLs  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 14/13713

6ua de un principiante Us de

VRomanWsta$eV. /eleccione el %ondo&aciendo clic

 

de %ondo. /eleccione Etapa; a continuación;ondos y

 

Ec&a un vista1o a todos los %ondos

4antes de ele$ir la 8ue desea. Nosotros ele$imos

Puede reali1ar cambios t&er piel en cual8uier momento&aciendo clic

 

la pantalla5. &ora &a$a clic en la pestaLa de ondospara el

 

Como antes; el Editor de pintura se abrirá. Fibuja 2para tu sprite. Cuando &aya terminado; &a$a clic en

Es el momento de dar ese $ato un escenario. Podramos ser pere1oso ysimplemente importar una ima$en para utili1arla como

 

Hhe stun%e  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 15/137

<tilice un nombre

8ue le ayude a

encontrar de

nuevo el

proyecto. <tilice

siempre un W

4$uión bajo5 entre

las palabras en

los nombres de

Hip ...

14

6ua de un principiante Us de

6uauuI Eso es muc&o para la primera lección. >ener un jue$o con araLa1os -

e=perimentar con di%erentes blo8ues de códi$o para saber lo 8ue &acen. #ue$o

re$resa cuando se tiene

Por de%ecto; se $uardará su trabajo a la carpeta Proyectos de /cratc&. Este es

un lu$ar sensato para $uardar su trabajo; por lo 8ue escribir un nuevo nombre

de arc&ivo; en la parte in%erior. @e llamado a la ma VromanWplayV; por lo 8ue

ele$ir un nombre de arc&ivo di%erente para su proyecto o te voy a salvar la tuya

Para $uardar el proyecto; &a$a clic en rc&ivo y lue$o 6uardar - la ventana 6uardar proyecto

Este es un buen momento para $uardar el proyecto. <sted &ara bien en &acer

esto cada 0 minutos o as; entonces usted puede estar se$uro de 8ue usted

no perderá nin$uno de su trabajo duro.

 Cunyon% your  For L  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 16/137

pintar la nuea Cprite

15

6ua de un principiante Us de

@a$a clic en el botón Nuevo /prite media e importar el sprite Vboy-pie-cV. Pero

espera un se$undo: Dl está mirando el camino e8uivocadoI No &ay problema. 7r a

la %ic&a Fis%races y

uiero aLadir un niLo viaje en el tiempo a mi escenario. Para simpli%icar las cosas; ydejar 

 

En la parte derec&a del pro$rama; justo debajo del escenario y por encima dela /prite

 

o!tener una

Ele%ir un Cprite =ue4o de

El $ato se siente un poco solo; as 8ue será mejor 8ue crear al$unos

personajes para 8ue pueda ju$ar. <sted puede pintar sus propios spritessprites o importación del ras$uLo

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá cómo mover sprites por

la pantalla araLa1os de una manera controlada y la %orma de contar una broma.

ecursos3 El sprite VromanWcatV y la Vetapa romanWV de %ondo.

 esson 1.2 'ovyon$ spr ellaes N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 17/137

;a%a 0ue sus sprites cuentan una !roma

16

6ua de un principiante Us de

Para solucionar esto; desde el blo8ue de control tiene 8ue aLadir Vesperar X0Y se$undosV blo8uea la se$unda

 

Pero esperaI MEstás encontrando 8ue ambos de sus sprites están &ablando

<sted podra tratar de un simple Utoc tocU broma para empe1ar.

Zamos a &acer los sprites dicen entre s una broma. <sted puede &acer estomediante el discurso

 

>ambiDn &ay botones para &acer 8ue tu sprite $rande; más pe8ueLo; $ire &acia

la i18uierda; $irar en sentido &orario; as como %lip &ori1ontal y voltear

verticalmente. >rate de ellos

desde el

pesta'a

tra?es9 ha%a

clic en editar 

y usar la tapa

N otas:utili(ar laimportación

Iotón de

Cprite para

encontrar e

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 18/137

<tilice el puntero

del ratón para

encontrar las

coordenadas de

una posición en el

escenario y &acer 

una nota de lascoordenadas

Hip ...

1

6ua de un principiante Us de

y a0u& est, nuestro códi%o para elsprite %ato.

 

esto es lo 0uenuestro

 &ora lo 8ue necesi ta para &acer los spr ites cuentan una broma. Recuerde 8ue

debe dejar un pe8ueLo retraso despuDs &abla cada sprite; de lo contrario van a

&ablar sobre la otra. Ec&a un vista1o a la

Repita este proceso para el otro sprite; posicionándolo li$eramente a la derec&a

del centro de la escena. 7dealmente; los dos sprites deben moverse desde los

bordes de la pantalla para

1. /eleccione el sprite $ato entonces; en la paleta de blo8ues; &a$a clic en el

blo8ue de movimiento con la eti8ueta Vir a la =: XY y XYV.

2. Cambie los valores en el blo8ue de =: -" y: -(. Esto se llevará el $ato al

e=tremo i18uierdo de la etapa.

3. #ue$o se coloca un Vesperar X0Y se$undosV blo8ue en su $uión. Esto le dará

tiempo para ver a su $ato antes de 8ue se mueve.

4.  &ora a$re$ue un se$undo Vir a =: XY y XYV b lo8ue. <tilice su ratón pararesolver el

 

Harea <tili1a el ratón para encontrar el centro de la pantalla. 'ueva el punterodel ratón

 

#as coordenadas de cual8uier punto en el escenario se muestran en su partein%erior-derec&a

 

la coordinar 

la

 /coordinar 

es posi!le 0ueten%a

4enir a tra4s

de e?es x e y al

 

,; nos &emos dic&o una broma. Pero esta obra está buscando un poco

estática; por lo 8ue vamos a &acer nuestros personajes se mueven. El primer

trabajo es mover nuestros dos personajes a sus puntos de inicio.

 Posentarseyoonyon% your  spr ellae  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 19/137

ección 1.3  nimación 4bucles5

1

6ua de un principiante Us de

copiar la a!e?a9

lue%o editar 

@!ee2@ para 0ue

sus alas apuntan

 

Copiar VAee0V; a continuación; editar Vbee"V utili1ando el /eleccionar y Zoltear

&ori1ontalmente &erramientas; para &acer sus alas apuntan &acia abajo. untos;

los dos trajes - VAee0V y

En primer lu$ar; abra el arc&ivo VAee0V de la carpeta VnimalesV en la $alera de

/cratc&. continuación; importe el %ondo Vcama %lo9erWV; esta ve1 de la carpetaVNaturale1aV en el

Con sus personajes animados; /cratc& es ideal para contar &istorias. >en$o 8ue

&acer un proyecto de ciencias de la escuela de la polini1ación; as 8ue &e

decidido utili1ar /cratc& para contar la &istoria de la polini1ación en imá$enes

en movimiento. <sted me puede ayudar si$uiendo estos

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá cómo utili1ar la repetición

bucles para crear animaciones simples.

ecursos3 El sprites VabejaV; V%emaleW%lo9erV y VmaleW%lo9erV; y la

%ondo Vcama %lo9erWV.

/i usted está teniendo problemas; puede car$ar el códi$o de ejemplo;

VromanWplay.sbV; para ver cómo el pro$rama está or$ani1ado. No dude en para

cambiar las cosas y e=perimentar;

Iien hecho" Por supuesto 0ue tienes el truco de moer sprites so!re

la pantalla. *Por 0u no a'adir al%unos m,s persona?es para su

escenario y hacer 0ue contar chistes-

Harea &ora aLadir un poco de códi$o a su otro personaje para moverlo a laderec&a de la

 

ocincor  to you  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 20/1371J

6ua de un principiante Us de

Esto es lo 8ue utili1amos para pro$ramar el ordenador para repetir al$o una yotra

 

#o 8ue necesitamos es un

no te asustes" Está utili1ando un ordenador. #as computadoras son %antásticas en &acer

las cosas una y otra ve1. Pueden &acerlo de %orma muy precisa y nunca te aburres; cansado

o &arto.

Pero tenemos 8ue &acer esto más de una ve1. Para &acer 8ue la mosca deabeja por la pantalla;

 

1. Comience con el traje VAee0V.

2.  Ladir un blo8ue Vespera X;"Y se$undosV; de modo 8ue el espectador tienetiempo para ver el traje.

3. 'ueva la abeja en 0 pasos; antes de cambiar al vestuario Vbee"V.

4.  Ladir otro blo8ue Vespera X;"Y se$undosV; de modo 8ue el espectador tiene

tiempo para ver el se$undo traje.

 

Estos son los pasos 0ue de!e se%uir

este es elcódi%o para

hacer su mosca

de a!e?a. en lu%ar 

de utili(ar la

!andera 4erde para

e?ecutar mi códi%o9

4oy a utili(ar un

!lo0ue @cuando

sprite1 clic@ de

 

 &ora; construye tu propio $uión para &acer la mosca de abeja. <sted

necesitará cuadras de control; las miradas y de movimiento. /i te 8uedas

atascado; ec&ar un vista1o a la pantalla de nuestro códi$o.

N otas:Necesitamos un poco de script para &acer la mirada de abeja como si estuviera

volando. @acemos esto mediante el cambio de un traje a otro y viceversa; por lo 8ue

la abeja parecen aletear su

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 21/137

a usted

la lnea paracambiar el

mover la

dirección de un

/i su abeja vuela

en la dirección

e8uivocada;

veri%i8ue el sprite

para ase$urarse

de 8ue se oriente

en la dirección

correcta. Con el

sprite

seleccionado;

mirar en la barra

de arribala pestaLa

/cripts. #a

dirección V&acia

adelanteV de un

sprite se indica

con un poco de

a1ul

la lnea. #a

abeja de la

i18uierda se

Hip ...

2#

6ua de un principiante Us de

Pre%unta MPor 8uD crees 8ue &e aumentado el n*mero de veces 8ue se

repite de 0 a "O

Harea l$unos de los sprites de /cratc& ya tienen dos trajes. Ec&a un vista1o ala

/prites $ato rayado. <tilice sus dos trajes y un códi$o similar al ejemplo de la

utili(ando larepetición

la(o9 usted puede

hacer el sprite

hacer las mismas

acciones una y

otra 4e(.

>s& 0ue la a!e?a !ate 

 8u está el códi$o 8ue necesitamos para animar la abeja de manera 8ue vuela&asta el %inal de un

 

N otas:/e ve un poco di%erente; ya 8ue tiene un &ueco para 8ue podamos poner el

códi$o 8ue desea repetir en su interior. /ólo tienes 8ue arrastrar la Vrepetición

X0YV blo8ue para sentarse directamente en el blo8ue Vcuando sprite0 clicV. /e

encaja automáticamente alrededor de su blo8ue de códi$o;

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 22/137

21

43

65

21

6ua de un principiante Us de

>ambiDn decid 8ue sólo 8uera una %lor en la pantalla a la ve1. Por lo tanto; tuve 8ue

a$re$ar secuencias de comandos para &acer mis %lores desaparecen y aparecen en

los puntos adecuados en el

6. #a abeja vuela dejando polen en

el esti$ma.

5. #a abeja c&upa el nDctar y estave1

 

4. #a abeja vuela &acia la &embra

%lor.

3. #a abeja se vuela con el polen

de estambres de la %lor.

2. #a abeja &ace una pausa parac&upar el nDctar 

 

1. <na abeja vuela &acia una %lor

>ambiDn &e copiado; volteado y editado el %lor masculina para crear una &embra

sprite. @e dado dos trajes. <no muestra el esti$ma y sin polen y el otro

con el polen. Zamos a ec&ar un vista1o a la animación resultante.

Pero yo no 8uiero parar all. So 8uera 8ue la abeja para visitar la se$unda %lor -

una &embra - desde el otro lado de la pantalla; as 8ue copió los cuatro trajes para el

sprite de abeja y les volcó &ori1ontalmente.

Este es el %uión de mi proyecto polini(ación. he a'adido dos m,s

tra?es a mi a!e?a de sprites para mostrar 0ue lle4ar el polen y yo

hemos ela!orado un sprite de la flor con al%unos estam!res en a(ul.

 ;unnds on tDl  Pollyon B tyoon Pr o ject  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 23/137

7mportación

sprites y un

%ondo de las

carpetas de

imá$enes

araLa1ose=istente. Esto

Hip ...

22

6ua de un principiante Us de

Para ver lo 8ue todo el proyecto se ve como una ve1 8ue estD terminado;abierta

 

Guauu" Ese es un proyecto complicado9 pero si se rompe su

la animación en un montón de pe0ue'as escenas 0ue hace 0ue sea

m,s f,cil planear y pro%ramar.

VCuando Xbandera verdeY &ace clicV evento para

di%erentes sprites con sus propios $uiones; yo usamos elPor8ue yo tena tres

códi%o de la flor femenina

códi%o de la florcódi%o para la

 8u está el códi$o para los tres spr ites en el proyecto de la N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 24/13723

6ua de un principiante Us de

En el ejemplo anterior; &emos creado una variable llamada VnV y se almacena eln*mero V!V

en eso. En /cratc&; podra &acer esto en dos pasos: primero crear la variable VnV; 

en el dia%rama9 hemos almacenado el nmero @@ en la aria!le @n@.

>s& 0ue ahora podemos decir @n N @.

nn

Podemos tener más de una variable en un pro$rama; por lo 8ue darles di%erentes

nombres. El nombre puede ser tan simple como una sola letra 4o tan complicado

como usted

En la pro$ramación; almacenamos n*meros en al$o 8ue se llama una VvariableV.

<na %orma de pensar acerca de una variable es como una caja o contenedor; en

el 8ue podemos almacenar 

Cuando nosotros; los n*meros de entrada 4poner n*meros en un ordenador5; el

ordenador tiene 8ue tener un lu$ar para almacenarlos. Fi%erentes personas

pueden de entrada di%erentes n*meros; por lo 8ue

#as computadoras son %antásticos para las matemáticas. Fe &ec&o; las

matemáticas es lo 8ue mejor saben &acer. Podemos pro$ramar el $ato /cratc&

para &acer matemáticas. El $ato le pedirá al$unos n*meros y lue$o &acer las

sumas. s 8ue; Mcómo vamos a poner los n*meros en el pro$rama para el $ato

M>e ima$inas lo 8ue sera como para ser capa1 de &acer millones de sumas encuestión de se$undos

 

encuentra usted las

A!?eti4o de aprendi(a?e <sted aprenderá cómo utili1ar variables para almacenar datos

para su uso en un pro$rama. <sted tambiDn aprenderá cómo utili1ar los operadores para &acer

sumas simples.

 esas& n 1.4 'en&s Cen  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 25/137

FD a cada

variable de un

nombre 8ue lerecuerde lo 8ue

se almacena en el

mismo.

Por ejemplo;

si va a crear un

 jue$o y se utili1a

una variable para

almacenar el

marcador; lue$o

un buen nombre

Hip ...

utili(ando aria!les de Ccratch

24

6ua de un principiante Us de

cambiado a Vdecir X6ran; ten$o

0 puntosY para X"Y se$undos V.

las variables es VV. /eleccione elblo8ue

V3juste X$ameWscoreY

 

Por *ltimo; desde miradas; &e

4VFecir X@olaY para X"Y

arrastrar el blo8ue Vcuando

sprite0 clicV. Qnete a los dos

 juntos

la alta sociedad; pero la eti8ueta V@a1

una variableV. Esto abre el VNombre

de la variableOV Zentana de diálo$o.

7ntrodu1ca el nombre de

V$ameWscoreV para la variable

 rras tre Vjus te X$ameWs coreY a

2la pestaLa /cripts. #ue$o; a partir de

,; a&ora vamos a crear y utili1ar variables. @a$a clic en Zariables en losAlo8ues

 

/i desea utili1ar un nombre de dos palabras de la variable; usted separar lapalabras con un $uión bajo 4el carácter VWV5; no es un espacio en blanco.

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 26/137

la introducción de los nmeros

56 + 39 = 

87-42 = 

16 x 9 = 

240 ÷ 6 = 

25

6ua de un principiante Us de

@a$a clic en Zariables; seleccione el blo8ue de Vajuste X%irstWnumberY a XYV;arrastrarlo a los /cripts

 

#a respuesta dada por el usuario se introduce a continuación a una variable;

en donde se almacena para su uso en su suma; mediante el uso de una

combinación de un conjunto de blo8ues VvariableV de Zariables

Para introducir el primer n*mero es necesario utili1ar un blo8ue de detección de avisar al usuario

8uD &acer. rrastre el blo8ue de Vpedir XMCuál es tu nombreOY S esperarV a la pestaLa /cripts.

Cambio

En primer lu$ar; crear tres variables; y el nombre de los dos primerosV%irstWnumberV y

V/econdWnumberV. Zamos a usar estos para almacenar dos n*meros. Nombre

Zamos a mostrarte cómo conse$uir 6ato 'atemáticas &acerlo tarea para usted.

Zamos a empe1ar con la primera pre$unta; 2) [ 3+. /i te 8uedas atascado; se

re%ieren a la ima$en de la

/u pro%esor le &a puesto cuatro sumas. #as sumas son:

N otas:En este ejemplo; &emos creado la puntuación del $ato a 0 puntos &aciendo clic

en el sprite $ato. Pero &ay un montón de otras maneras de poner un n*mero en

una variable. El mDtodo 8ue

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 27/137

ahora para el !it realmente inteli%ente

26

6ua de un principiante Us de

Fe Zariables; a$arrar el V%irstWnumberV variable y soltarlo en el primer espacio en

blanco en el operador VaLadirV. Frop VsecondWnumberV en el se$undo espacio en

blanco

Zamos a usar el operador VaLadirV; as 8ue arrastrarlo a la pestaLa Procesos.Nosotros usaremos para

 

ha%a clicoperadores

el operador @add@

O@Q R Q@S es el

primero en

la lista en la

 

Para &acer sumas en /cratc&; usted necesita al$o 8ue se llama un VoperadorV. Eso es sólo un

tDrmino de lujo para matemáticas si$nos tales como [; -; \ y ]. /; lo &as adivinado; nos

encontramos con estos

 &ora el pro$rama conoce el primer n*mero de la suma. Para decir 8ue el

se$undo n*mero; repita el proceso anterior pero recuerde 8ue debe cambiar

V%irstWnumberV para

@a$a clic en la detección; seleccione el blo8ue eti8uetado como VrespuestaV y

arrástrelo &asta el n*mero VV en el blo8ue anterior. #a secuencia de comandos

debe ser similar a la de la

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 28/137

y

 se$*rese de

8ue todos los

blo8ues de

encajar en su

sitio

correctamente;

especialmente

Hip ...

2

6ua de un principiante Us de

El $ato sólo puede &acer sumasI No entre en pánico - una edición rápida paracambiar el pro$rama

 

Pero espera un momento: si se trató de &acer 8ue el $ato &a$a todas las tareasse 8uiere

 

utili(ar estecri!ado

tiro de construir 

todo el %uión. y

recuerde9 cada

4e( 0ue se desea

0ue el %ato a

hacer otra suma

0ue usted tendr,

 

S eso es todoI @e incluido todo el pro$rama a continuación. @emos aLadido

en al$unos blo8ues de más; para 8ue el $ato un poco c&attier pero los

%undamentos son los mismos 8ue el

@a$a clic en la mira en la Paleta de Alo8ues. /eleccione Vdecir X@olaIYV Sarrastrarlo a la

PestaLa /cripts. partir de variables; arrastre el Vn*meroV variable y coló8uelo

Por *ltimo; tambiDn tenemos 8ue decirle a los araLa1os para ver la respuesta a lasuma. Fe lo contrario;

 

Fe Zariables en la Paleta de Alo8ues; arrastre Vajuste X%irstWnumberY a XYV a los

/cripts %ic&a. Cambio V%irstWnumberV para Vn*meroV y arrastre el operador VaLadirV a

la

>odava no &emos terminado. #e &emos dic&o pro$rama para a$re$ar nuestrosn*meros; pero necesitamos

 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 29/137

a'adir

!recha

multiplic

ar restar 

a usted

2

6ua de un principiante Us de

Para ver un ejemplo de trabajo de este script; abierta RPi/cratc& B Proyectos B mat&sWcat.

Harea Pro$ramar el $ato 'atemáticas para &acer el resto de la &oja de tarea -8ue se

 

o 0ue un %ato til"

/i desea 8ue el $ato para llevar lue$o simplemente cambiar el blo8ue de VaLadirV

en el script anterior para un blo8ue de VrestarV; y as sucesivamente &asta 8ue el

$ato se &a &ec&o todo lo 8ue la tarea

N otas:@a1 clic en ,peradores de nuevo en el blo8ue de secuencias de comandos yverás 8ue &ay

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 30/137

*el perro desean unas 4acaciones-

2J

6ua de un principiante Us de

En primer lu$ar; tenemos 8ue averi$uar si el perro realmente 8uiere ir de

vacaciones. /eleccione el sprite $ato y construir la secuencia de comandos se

puede ver en la ima$en de arriba para ayudar al

 ntes de comen1ar; usted tambiDn debe importar el sprite Vbluedo$V y los %ondos

V#adrillo-9all0V; VsydneyV; VParsV y Vyor ne9WV. #os necesitará para lo 8ue

viene despuDs.

edad

=om!re

del

Crea las si$uientes variables 4le diremos 8uD son en un minuto5:

Para mi ejemplo; &e creado dos sprites: un $ato y un perro. El $ato va a pedir al

perro una serie de pre$untas; as 8ue necesitamos al$unas variables en el 8ue

almacenar 

El $ato piensa claramente 8ue es inteli$ente; as 8ue vamos a darle una

oportunidad de mostrarnos cuán inteli$ente es. Para ello; vamos a utili1ar 

al$unos más entradas y salidas; junto con al$o 8ue se llama una Vdeclaración

condicionalV. Eso suena muy complicado; pero

#a inteli$encia arti%icial es un área de la in%ormática; donde la $ente trata de

&acer 8ue los pro$ramas de ordenador 8ue son inteli$entes de al$una u otra

manera. #a idea es &acer 8ue las computadoras parecen 8ue están pensando

como los &umanos. Esto es en realidad bastante complicado; como se puede

ima$inar; asi 8ue a8u nos vamos a darle una pe8ueLa de$ustación de cómo

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá cómo poner los datos en

un pro$rama y conse$uir 8ue su pro$rama para tomar una decisión sobre la base

de esos datos. Recursos: #os sprites V$atoV y Vbluedo$V el %ondos Vladrillo-9all0V;

V/ydneyV; VParsV y Vyor ne9WV.

 esson 1.5 #a r tsi yoc7o9al yontelli$ence  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 31/1373#

6ua de un principiante Us de

/i el perro no 8uiere ir de vacaciones al$o más debe suceder. Necesitamos

reempla1ar nuestro VsiV blo8ue con un Vsi B elseV blo8ue.

Pero espera un se$undo; My si el perro no 8uiere ir de vacacionesO Nuestro VsiVblo8ue

 

el códi%oparaencontrar 

 

 &ora; desde miradas colocar el blo8ue V ; dicen X@olaY para X"Y se$undosV dentrode su VsiV blo8uear -

es decir; en el VsoporteV cortado en el lado del blo8ue; de modo 8ue el VsiV blo8ue

 

Por *ltimo; arrastrar y soltar el blo8ue de operador en el VsiV de

Fe Zariables en la Paleta de Alo8ues; arrastre y suelte la variable Vda de %iestaV enel

 

<sted tambiDn necesitará un blo8ue operador de operadores para probar la entrada. Co$e la

V7$ualesV operador 4VXY ^ XYV5 de la Paleta de Alo8ues.

Fe control en la paleta de blo8ues; seleccione un VsiV

>enemos 8ue encontrar una manera de dejar 8ue el $ato sabe la respuesta del perroy de incitar 

 

 &ora viene la parte inteli$ente: la sentencia condicional. Zamos a averi$uar si

el perro 8uiere ir de vacaciones. >iempo para pensar ló$icamente: el perro; ya

sea respuesta

Como el $ato &ace pre$untas; las respuestas de los perros se almacenan enlas dos variables

 

Pre%unta Estudia el $uión. MPuedes trabajar en lo 8ue va a &acer cuando elpro$rama

 

N otas:Cada ve1 8ue utilice este pro$rama la variable pas se establecerá en una carta.

Pero la pró=ima ve1 8ue usamos el pro$rama; 8ueremos la variable de un pas a

estar vaco. s 8ue

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 32/137

es el perro lo suficientemente mayor como para ir de acaciones-

31

6ua de un principiante Us de

Construir este script dentro del VsiV el soporte de su se$undo blo8ue 

<sando su 4_5 operador Vmenor 8ueV; as como los blo8ues de variables ymiradas;

 

el@menor

/i la edad del perro es de menos de 0; 8ueremos 8ue el $ato a decir; Vperro #osentimos; eres demasiado

 

1. /u edad es in%erior a 0; y ella no se le permite ir devacaciones.

 

Zamos a pedirle al perro 8uD edad tiene. En %unción de su respuesta; &ay

dos resultados posibles:

>ambiDn necesitamos saber si el perro tiene la edad su%iciente para ir de vacaciones

por s misma. >endremos 8ue utili1ar un se$undo Vi% B elseV blo8ue. rrástrelo a la

pestaLa Procesos; pero no lo &acen

>ome el pe8ueLo script 8ue estaba en su blo8ue Vi%V y lo puso en el VsiV el soporte de un

V7% B elseV b lo8ue. El resultado debe ser similar a la si$uiente ima$en.

N otas:el @if Belse@

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 33/137

a usted

*+e dónde iene el perro 0uiere ir-

32

6ua de un principiante Us de

<sted necesitará cuadras de miradas; de detección y variables. Coló8uelos en el VotroV

soporte de la se$unda Vi% B elseV blo8ue.

El uso de la in%ormación se puede ver en la si$uiente ima$en; aLadir blo8ues a

su script para 8ue sea pedir al perro donde ella 8uiere ir de vacaciones. 6uarde

el perro

Para ser justos con el perro; debemos dejar a ele$ir dónde ir de vacaciones. Zamos a dar al

perro tres posibles destinos de vacaciones: ustralia; rancia y los EE.<<.. Para &acerlo simple;

no vamos a pedirle al perro para introducir el nombre del pas; sólo el

letra inicial.

Pre%unta MCuál será el $ato decir si la edad del perroes +O

Pre%unta MCuál será el $ato decir si la edad del perro 

/u script debe parecerse al blo8ue de códi$o en la pantalla de arriba.

 ntes de pasar al si$uiente paso; tome su se$undo blo8ue Vi% B elseV y colocarlo

en el interior del soporte de VcosaV de su primer blo8ue Vi% B elseV: la 8ue utili1ó

para averi$uar 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 34/137

ntr ycou ntr ycou

El %uión de la etapa

pro$rama paraase$urarse de

#os usuarios

no siempre

&acen lo 8ue

son

supone 8ue

debe &acer. /i

un usuario

proporciona una

entrada

inesperada; esto

puede causar un

VerrorV en el

pro$rama; 8ue a

menudo &acer

8ue el pro$rama

VCras&V. #os

pro$ramas 8ue

tienen errores en

ellos se dice 8ue

Hip ...

33

6ua de un principiante Us de

Cada ve1 8ue usamos este pro$rama; la etapa &a de restablecer al Vladrillo9all0V

de %ondo. #as sentencias condicionales necesitan para mantener la

 8u; &emos creado tres Vanidadas /iV declaraciones condicionales; 8ue

cambiar el %ondo de acuerdo a la elección del perro. <tili1amos el tDrmino

VanidadoV cuando

/eleccione la etapa en la #ista de /prites y construir la secuencia de comandosse puede ver en el

 

Para completar el pro$rama 8ue necesitamos para pro$ramar los %ondos. /i usted no tiene

ellos importados de RPi/cratc& ` Resources ` ondos; a&ora es el momento de

el destino del perro eli%e ser, almacenado en el@pa&s@ 4aria!le. esto es importante9

 

>s& 0ue > sealmacenaen la 4aria!leu u

el %atotiene

 

Por *ltimo; completar la secuencia de comandos con un blo8ue de Vesperar XYse$undosV y Vparar todoV man1ana de

Fe control. Estable1ca el valor de los Vesperar XY se$undosV a VV y colocar

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 35/137

El %uión completo

34

6ua de un principiante Us de

Para ver una muestra del códi$o de esta lección; abierta

RPi/cratc& B Proyectos B &olidayWdo$.

N otas:El códi%o para la etapa

El códi%o para el %ato

<%; 8ue se complicó. Pero esperemos 8ue se las arre$ló todo en el %inal. /ólo

para &acer las cosas un poco más %ácil; a8u están los $uiones completos tanto

para el sprite $ato y

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 36/137

una Mltima pala!ra

ección 1.6 Control

El ro!ot

35

6ua de un principiante Us de

7mportar el sprite VrobotW arribaV de RPi/cratc& B Resources B

Fis%races. 'ientras estamos en ello; importe el %ondo V%ondo 6reenWV

de

Zamos a pro$ramar nuestro robot para 8ue podamos controlarlo utili1ando la V%lec&a&acia arribaV

clave. Para 8ue sea más %ácil ver nuestro movimiento robot; tenemos 8ue ser

Pero vamos a empe1ar con un robot adecuado; pasado de moda. No tenemos

un robot real; o todos los cables y circuitos 8ue bamos a necesitar para

controlar una. s; en lu$ar; vamos a utili1ar un robot 8ue vive dentro de la

etapa de /cratc&. #o 8ue se aprende al &acer esto es cómo &acer 8ue su

<na %orma más moderna de pensar acerca de un robot es como cual8uier cosa 8ue

puede ser controlado por una computadora. Esto se conoce como Vin$eniera de

controlV. Este dispositivo podra ser un avión; una lavadora; un torno; una má8uina

de soldar; un paso a nivel

Probablemente estás acostumbrado a los robots de las pelculas: los &ombres de metal

&aciendo sonar y &ablando en vo1 metálicos. Esto es en realidad una idea pasada de moda de

un robot. Fata de un

as& es comopensamos

ro!ots9 pero la mayor&a

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá cómo escribir pro$ramas

de control 8ue responden de di%erentes maneras dependiendo de insumos para

el pro$rama.

Fe &ec&o; el $ato no es inteli$ente en absoluto. #as computadoras tienen

nin$una inteli$encia - es los pro$ramas 8ue se ejecutan en ellos 8ue los &acen

parecer inteli$ente. Es por eso 8ue usamos el tDrmino Vinteli$encia arti%icialV. #as

*nicas cosas inteli$entes a8u son el pro$ramador;

Pre%unta Estudie la palabra clave para el sprite $ato y el escenario.

MEntiendes esoO

Harea E=perimentar con el códi$o. Zea si usted puede a$re$ar al$unas

ocincor  to you  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 37/13736

6ua de un principiante Us de

Para ver un ejemplo de este script; abierta RPi/cratc& B Proyectos B robotWv0.

Eso no va a ser muy *til. Zamos a ver si podemos &acer al$o

1. #a tecla V%lec&a arribaV se &a pulsado - en cuyo caso; el robot caminar &asta

la pantalla de " pasos; el cambio de vestuario como lo &ace.

2. #a tecla V%lec&a &acia arribaV no se &a pulsado - en cuyo caso; el robot

&acer nada.

en este script9 hay dos situaciones posi!les

El Vtocando XYOV 'an1ana de detección se establece en VbordeV. Eso si$ni%ica

8ue si el robot toca el borde de la pantalla del ras$uLo; el evento se detendrá

la secuencia de comandos.

El resto del códi$o se coloca dentro de una Vrepetición &astaV loop 4de control5.

Fentro del bucle de repetición; tenemos un VsiV 4una sentencia condicional5 8ue

comprueba si la tecla V%lec&a arribaV &a sido presionado. Esto se &a

establecido en una Vclave X%lec&a arribaY presionaV evento

Ec&a un vista1o a la ima$en de arriba. @emos utili1ado la Vllave cuando

XespacioY presionadoV evento de control para ejecutar el pro$rama. El sprite

robot se mueve &acia el centro de la pantalla mediante un Vir a la =: XY y XYVman1ana de movimiento 4ver VPosicionamiento

N otas:Estescript

hacer nuestro

ro!ot se

mue4a en

nuestro

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 38/137

Esto es *til

para

controlar

códi$o de

caracteres

 

Hip ...

3

6ua de un principiante Us de

Para un ejemplo de este script en acción; abierta RPi/cratc& B Proyectos B

Harea &ora es tu turno de &acer al$o de pro$ramación. Pro$ramar el robot y

lue$o usar su pro$rama para &acer 8ue el robot si$a el camino amarillo en el

%ondo VrobotW laberintoV.

Harea Car$ue el códi$o y lue$o cambiarlo a &acer el paseo robot más

@emos incluido en el códi$o de una versión más completa del pro$rama del robot;

VRobotW"V 4ver la ima$en de arriba5. En esta versión; el robot puede moverse &acia

arriba;

ecursos3 El sprite VrobotWcontrolV y el %ondo Vlaberinto robotWV.

 r o!ot pr o?ect  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 39/1373

6ua de un principiante Us de

Este blo8ue permite a un pro$rama para detectar cuando un área de uno

to8ues de color en contra de otro color: por ejemplo; como en la ima$en dearriba; una manc&a de rojo toca un

Nuestra tarea es &acer un coc&e para se$uir una lnea; al i$ual 8ue el verdaderodiseLo de los in$enieros

#Zs para su uso en las carreteras. Nuestra principal &erramienta va a ser el Vcolor XYV

ladetección

scripts !lo0ues

permiten su

pro%rama para

detectar los

cam!ios en su

entorno9 ya sea

enrespuesta a la

En este ejercicio; vamos a ver con más detalle los blo8ues en la sección de

Ese robot es como al$o salido de una pelcula de ciencia-%icción cursi. Zeamos

un ejemplo más moderno. #os cient%icos están e=perimentando con ve&culos

8ue pueden conducir a s mismos. <na %orma de &acerlo es mediante la

pro$ramación del ve&culo para se$uir una lnea pintada en la super%icie de la

carretera. Estos ve&culos son conocidos como Vlos ve&culos de la lnea de

ecursos3 El sprite Vyello9WcarV y el %ondo V%ondo lineWV.

 yone8ollayyon% cincohyocle O8 S  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 40/137

/i usted no puede

dejar su coc&e

durante el tiempo

su%iciente para

probar un color;

$olpeó el Vdejar

de $uionesV botón

rojo en el

 

Hip ...

3J

6ua de un principiante Us de

El problema es 8ue el coc&e necesita dos sensores. ctualmente; si la lnea se

dobla a la derec&a; la lnea de ne$ro va a tocar el sensor de color verde - el

pro$rama lo detectará y

 &ora; &a$a clic en la bandera verde y ver 8uD pasa. Fios mo; todo está bien;siempre y cuando las curvas de la lnea a la i18uierda pero tan pronto como se

curva a la derec&a del coc&e

jate bien en el coc&e; y verás 8ue &ay una manc&a de verde en su

parac&o8ues. Zamos a utili1ar ese verde como nuestra primera VsensorV.

Construir la secuencia de comandos 8ue pueda

Pero Mcómo podemos utili1ar la capacidad de detectar el color para ayudar a

&acer nuestra #Z si$ue una lnea en la carreteraO Aueno; vamos a empe1ar

importando nuestro V%ondo lineWV y el sprite

Para con%i$urar los colores de su blo8ue; &a$a clic en uno de los pe8ueLos cuadrados de

colores. /u puntero del ratón se convertirá en un Vcuenta$otasV. <tilice el cuenta$otas para

&acer clic en la

<na ve1 8ue el pro$rama puede detectar dos colores tocando; entonces

podemos decir 8ue la %orma de responder cuando esto sucede. El evento de

color se convierte en un $atillo; &aciendo 8ue el

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 41/137

/i su coc&e se

detiene en un

án$ulo e=traLo; y

no se puede

endere1arlo;

puede importar el

sprite

Vyello9WcarV de

nuevo; arrastre y

suelte el $uión

terminado en el

nuevo /prite y

elimine la

 

Hip ...

Ejecute el

pro$rama enmodo de pantalla

completa - es

más

impresionante.

@a$a clic en el

botón de la

derec&a en el

la parte superior

derec&a de la

Hip ...

El paso a niel

4#

6ua de un principiante Us de

En primer lu$ar; importe el %ondo VlevelWcrossin$V. Como se puede ver en la

ima$en de la pá$ina si$uiente; el %ondo muestra el camino 8ue lleva &asta el

cruce; la

#ue$o; una computadora responde a este evento al detener el trá%ico 8ue se acerca

el paso a nivel y cerrar la barrera. Este pro$rama de control puede ser escrita en los

araLa1os. Pero antes de empe1ar; tenemos 8ue importar los sprites necesarios y

de %ondo.

/istemas de control de la computadora pueden salvar vidas. En un paso a nivel

8ue tenemos 8ue ase$urarnos de 8ue los coc&es y los trenes nunca se

encuentran. Esto se &ace con un sensor en la pista 8ue

ecursos3 #os sprites VlucesV y VbarreraV; el %ondo VlevelWcrossin$V

y el sonido VlevelWcrossin$W aV.

Para un ejemplo de una versión completa de este proyecto;abierta

 

n<n blo8ue de Vir aV se utili1a para colocar el coc&e en la lnea.

nNos la &emos utili1ado un bucle Vpara siempreV para mantener el coc&e en marc&a.

nEl coc&e se mueve ;2 pasos 4para cada ciclo del bucle5.

n<n VsiV blo8ue se utili1a para comprobar si la manc&a verde en el coc&e &a

tocado la lnea de ne$ro. /i es as; el coc&e va a $irar a la derec&a en 0

$rado.

n,tro VsiV blo8ue se utili1a para comprobar si la manc&a roja en el coc&e &a

Como se puede ver; el pro$rama se ejecuta con un evento bandera

 8u está el códi$o 8ue necesita para terminar su

 &ora; tenemos 8ue usar el parc&e rojo en el parac&o8ues del coc&e como un

sensor de color rojo. El pro$rama será capa1 de detectar cuando la lnea $ira a

la i18uierda y decirle al coc&e para $irar 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 42/13741

6ua de un principiante Us de

#a *ltima cosa 8ue necesitamos &acer antes de empe1ar a construir nuestro

script es importar el sonido de la alarma de nivel de cruce. Para ello; &a$a clic

en la %ic&a /onidos; encontrar el sonido VlevelWcrossin$W aV y lue$o utili1ar la

%unción de importación; tal como lo &i1o con

'ira la ima$en de arriba; y verás 8ue el VlucesV sprite tiene cuatro trajes

di%erentes. l cambiar trajes rápidamente; podemos &acer 8ue se vea como si

las luces

 &ora necesi tamos nuestros sprites. 7mportación VlucesV yVbarreraV de la

 

cuadro de

apoyo !arrera N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 43/13742

6ua de un principiante Us de

Construir la secuencia de comandos se puede ver en la ima$en anterior. Esto&ará 8ue la alarma para

 

Cuando el tren se apro=ima a la barrera del paso a nivel; &e utili1ado un blo8ue

Vcuando XY tecla pulsadaV de control para detectarlo; estableciendo el valor de

VtV. Este evento

#o primero es lo primero: 8ue 8uieren empe1ar con las luces apa$adas. s 8ueusamos un evento de bandera verde

 

 &ora; vamos a construir nuestro script . ntes de empe1ar; seleccione la opciónVlucesV de sprites en el

 

importar el efecto de sonido

desde la ficha Conidos.

usted lo encontrar, ?usto al

lado de las secuencias de

 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 44/137

a !arrera

43

6ua de un principiante Us de

Sa por la barrera: arrastrarla &asta 8ue se sienta en el apoyo de barrera; con su

e=tremo más $rueso simplemente descansando en la parte superior del poste.

Cada ve1 8ue se inicia el pro$rama; la barrera debe estar apuntando &aciaarriba. El uso de un Vpunto en el sentido X+YV blo8ue 4de movimiento5 se llevará

Este es el pro$rama completo de las luces; con todos los blo8ues en su lu$ar.>en$a en cuenta 8ue

 

Para &acer 8ue las luces rojas parecen parpadear tenemos 8ue cambiar los dos trajes de lu1

roja en varias ocasiones. <samos un bucle de VrepeticiónV para esto. Construir la secuencia de

comandos en la pá$ina anterior.

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 45/137

a usted

ección 1. ue$os raspaditos

No se olvide de

a$re$ar sonidos

y m*sica; ya 8ue

esto mejora en

$ran medida un

Hip ...

44

6ua de un principiante Us de

inalmente; necesitará %ondos para su etapa de crear las &abitaciones; losniveles y

 

<sted puede encontrar $randes imá$enes para sprites y %ondos importándolos de las carpetas

de marcar el papel o mediante la b*s8ueda en 6oo$le; el a&orro y la importación a los araLa1os.

/i 8uieres tener una idea de cómo empe1ar y lo 8ue puede &acer; ec&ar un vista1o a los jue$os

de al$unas otras personas. #a mejor manera de aprender a pro$ramar es e=aminar los $uiones

de otras personas para ver cómo &icieron %resco

las cosas

El punto de partida de cada nuevo jue$o es el tema o idea; y el objetivo del

 jue$o . Cuando usted tiene una idea para un jue$o; pensar en la V&istoria V 8ue

8uieres contar y los personajes del jue$o; los ju$adores; los peda1os etc. 8ue

usted necesita. Estos serán

 l$unos de los más divert idos 8ue se pueden tener con cero es a travDs de

 jue$os de pro$ramación. <sted puede &acer jue$os sobre lo 8ue 8uieras.

@emos incluido dos jue$os de muestra para 8ue investi$ue; y &ay un montón

más jue$os y otro

A!?eti4o de aprendi(a?e En este ejercicio; aprenderá al$unas de las tDcnicas

utili1ado para la pro$ramación de jue$os por ju$ar al$unos jue$os de /cratc&.

Harea Como una caracterstica adicional para este pro$rama; crear un spritede tren 8ue se mueve

 

Para ver un ejemplo de este proyecto en su estadoacabado; abierta

 

FespuDs de un tiempo determinado; 03 se$undos; nos plantean la barrerautili1ando otro blo8ue de repetición.

 

Para bajar la barrera; vamos a $irar la pole en etapas usando un blo8ue de VrepetirV.

E=perimente con el n*mero de repeticiones y el án$ulo de $iro para mover la barrera

la cantidad justa.

En el $uión de la barrera; &e utili1ado un blo8ue Vcuando XY tecla pulsadaV de

control; con su valor establecido en VtV. Piense de nuevo - el $uión de las luces

tambiDn se inicia cuando se pulsa la tecla VtV. Fe esta manera; las luces y la

barrera se sincroni1an: 8ue

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 46/137

Poney Pisador ?ue%o

Moiendo el pony

45

6ua de un principiante Us de

@emos utili1ado un bucle Vpara siempreV para mantener nuestro pony en movimiento

4recuerde su #Z5. Para cada ciclo del bucle; el pony avan1a 3 pasos. /i se $olpea el

borde de la

/eleccione el sprite pony y arrastra un evento de bandera verde a la pestaLa/cripts. <saremos

 

1. mantener el moimiento de

Por lo tanto;

1. 'ueva el pony alrededor del campo.

2. @acer cambios aleatorios en dirección del pony.

3. 'ueva la c&ica con el puntero del ratón.

4.  Ladir un punto a la puntuación cada ve1 8ue la niLa se coloca

@ay cuatro tareas para pro$ramar:

ecursos3 #os sprites: VponyV y VniLaV y el VcampoV de %ondo.

El o!?etio del ?ue%o <n caballo se mueve alrededor de un campo; &aciendo

cambios aleatorios de dirección. Con el ratón; el ju$ador controla el sprite c&ica.

Para $anar puntos; debe poner a la niLa en el potro.

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 47/13746

6ua de un principiante Us de

n@emos creado una variable para manejar la puntuación y la llamó VmarcarV 4con

ima$inaciónI5.

nCuando el jue$o comien1a la puntuación se establece en VV.

n#os Vsiempre siV controles de bucle para ver si el color rojo de la parte

superior de la niLa está en contacto con un pe8ueLo punto a1ul en la silla del

caballo.

En esta secuencia de comandos; se

4. Marca unpunto

cada e( 0ue

la ni'a se

nEstable1ca la coordenada K del sprite niLa a la posición = del puntero delratón.

 

/eleccione el sprite c&ica en la #ista de /prites. El uso de otro bucle VparasiempreV; as

 

3. Muea la chica con el ratón

puntero

Esto se establece a suceder cada ;2 se$undos por el

El Vpic aleatoria XY a XYV blo8ue de operador se &a %ijado para reco$er unn*mero aleatorio

 

/i el potro no cambia de dirección; e=cepto cuando $olpea una ventaja; el jue$o

va a ser un poco aburrido. s 8ue vamos a utili1ar otro bucle Vpara siempreV

para 8ue el pony cambiar al a1ar 

N otas:2. os cam!iosaleatorios

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 48/137

moviDndose de

manera 8ue se

puede de$ustar el

color de la parte

superior de la

niLa con el

&erramienta

cuenta$otas;

apretó el botón

rojo Vdetener

$uionesV.

/i usted no puede

encontrar el sprite

c&ica; ec&ar un

vista1o en la

es8uina in%erior

i18uierda. Ella

Recuerde 8ue para

Hip ...

 ?ue%o de carreras

4

6ua de un principiante Us de

ncambiar a Vcostume0V

n

posicionarse en las coordenadas =: 32 y:03

 

Comience con un evento de bandera verde. Cuando se &ace clic en la

1. Hraslado de lacarro ro?o

1. #nea de coc&es para arriba en la lnea de salida.

2. Estable1ca los coc&es en movimiento.

3. Cras& el coc&e si se sale de la pista.

4. Feclarar el primer coc&e de la raya como el $anador.

5. ,&; s - y los ju$adores tienen 8ue ser capaces de controlar

@ay cinco tareas para pro$ramar cada N otas:

ecursos3 El sprite VredWcarV y el %ondo VpistaV.

El o!?etio del ?ue%o <n jue$o para dos ju$adores. Cada ju$ador controla a

un coc&e de carreras en una pista. /i el coc&e se sale de la pista; 8ue se estrelle. Elprimero de ellos sobre la lnea es el $anador.

Para ver un ejemplo de trabajo del jue$o Pony Pisador; abierta

RPi/cratc& B Proyectos B pony prancin$W.

No te preocupes pro$ramadores suelen &acer esto. Recuerde 8ue una variable

no es un n*mero es un contenedor 8ue puede almacenar n*meros. Podemos

&acer una suma con la

parar todo

Espera un momentoI Cada ve1 8ue el rojo toca el punto a1ul; VpuntuaciónV se

cambia a Vmarcar [ 0V. /i usted es bueno en matemáticas 8ue debe establecer

la seLal de alarmaI

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 49/1374

6ua de un principiante Us de

Códi$o similar se utili1a para controlar el coc&e p*rpura con al$unas

modi%icaciones li$eras. #a %orma más sencilla de &acerlo es &acer 8ue el coc&e

rojo y lue$o duplicar el sprite.

3. hacen lo mismo

para el coche

Como era de esperar; la tecla V%lec&a derec&aV convierte el coc&e a la derec&ay la V%lec&a i18uierdaV

 

,; as 8ue podemos conse$uir el movimiento coc&e rojo. Pero tenemos 8ue

ser capaces de diri$irlo. Para ello necesitamos dos Vcuando XY tecla pulsadaV 4de

control5 eventos se utili1an para el control

2. control

el coche ro?o

Cuando el coc&e cru1a la lnea de meta; se tocará la lnea blanca. Este eventocausará

 

/i el coc&e sale de la pista; 8ue va a tocar la &ierba verde. Este evento &ará 8ueel

 

N otas:Para &acer todo esto; usted necesitará; junto con la bandera verde; man1anas de miradas y de

movimiento. Para mover el coc&e; usamos nuestro viejo ami$o el bucle Vpara siempreV. El coc&e

se mueve un paso

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 50/137

Cuando se crea

un jue$o; no

ten$a e=ceso

ambicioso al

principio.

Pro$rame su

idea básica y

ase$urarse de

8ue %unciona. continuación;

desarrollar su

 jue$o poco a

poco; aLadiendo

nuevos

personajes;

eventos y niveles.

Es una buena

idea

$uardar cada

nueva versión

con un n*mero

di%erente; demodo 8ue usted

pueda reali1ar un

se$uimiento de

los cambios 8ue

tu &as &ec&o. Es

Hip ...

4J

6ua de un principiante Us de

Para ver un ejemplo acabado de este jue$o; abierta

RPi/cratc& B Proyectos B racin$W$ameWv".

Por *ltimo; en lu$ar de tener los coc&es se estrellan cuando lle$an a la &ierba;tratar de &acer 

 

#lame a esta nueva variable de al$o as como V&aveW9innerV. El valor por de%ecto

de V&aveW9innerV debe ser VV. /iempre 8ue sea coc&e $ana; al tocar la lnea de

acabado blanco; se debe establecer el valor de V&aveW9innerV a V0V. Este debera

ser el

>rate de crear una nueva versión del jue$o; $uardarlo como al$o parecido

VRacin$W$ameWv"V; esta ve1 &aciendo 8ue el coc&e perder para

detener en seco el momento el $anador cru1a la l-nea de meta.

En el jue$o de carreras 8ue acaba de crear; el coc&e dice Vyo $anoIV Cuando

lle$ue a la lnea. Pero la burbuja del discurso se &a ido tan rápido; es di%cil de

leer. /in embar$o; si cambiamos el $uión para 8ue la burbuja de diálo$o

permanece en la pantalla para; por ejemplo; " se$undos; entonces &ay una

posibilidad de 8ue el se$undo coc&e tambiDn lle$ará a la lnea de meta en ese

 

Harea Ladir el sonido de los coc&es de carreras para mejorar el jue$o. >endrá

8ue $rabar o crear su propio arc&ivo de sonido.

Harea >rate de &acer estas mejoras en el jue$o de carreras:

 ocincor  to you 

Para ver un ejemplo acabado de este jue$o; abierta

RPi/cratc& B Proyectos B racin$W$ameWv0.

>ambiDn debe utili1ar la tecla V=V para encender el coc&e a la derec&a y la tecla VJV para activar 

el coc&e a la i18uierda.

El coc&e p*rpura debe alinearse al lado del coc&e rojo en =:

N otas:#os cambios 8ue necesita &acer en su códi$o para el coc&e

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 51/137

7ue es lo si%uiente-

5#

6ua de un principiante Us de

>tascado y nohacis

sa!en cómo salir 

del atasco- =o

sufra en silencio.

hay al%unos

%randes foros9

ama!le en elsitio Fe! de

Ccratch en los

0ue hay un

montón de otros

 

S por 8uD no decirle a sus pro%esores acerca de /cratc&O >al ve1 usted ya

otros niLos como de mentalidad de su escuela podra incluso establecer un

ras$uLo Club. S cuando usted tiene proyectos para &acer; usted podra pedir 

a sus maestros si se puede &acer usando los araLa1os.

http BBlearnscratch.or  % http

 BBFFF.scratch.iehttpBBscratch.redFare.

comBindex.p<

httpBB!lo%s.Fsd1.or%Betr B- P N 3J5 

http BBscratched.media.mit.edu

httpBBmorpheus.ccBictBscratchBdefault.htm

 %ortunadamente; una de las mejores cosas de cero es la ri8ue1a de apoyo y

asesoramiento en el 7nternet. @e incluido al$unos enlaces a al$unos tutoriales

en lnea para usted

En&orabuenaI &ora eres un pro$ramador de /cratc&. Con suerte; esto es sólo

el comien1o para usted; y usted se inspiró para crear sus propios pro$ramas

utili1ando el len$uaje de /cratc&. @ay muc&as otras &abilidades y tDcnicas de

pro$ramación

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 52/13751

6ua de un principiante Us de

 &ora es el momento de pasar al si$uiente captulo; en el 8ue aprenderá a

pro$rama en el len$uaje Pyt&on tambiDn. Cosas increblesI

6racias por leer esta $ua. Espero 8ue le ayuda a tener &oras de diversión consu

 

Cuando usted se convierte en un usuario avan1ado de /cratc&; usted puede

encontrar 8ue no &ay un blo8ue de script para un trabajo concreto 8ue 8uieres

&acer. , es posible 8ue desee mejorar su pro$rama mediante la creación de

mejores blo8ues. #a ayuda está a la mano con AS,A en

 !uyold your  ayn !locLs  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 53/1372

E = por iments en P y t&on

Este captulo no pretende ser una $ua tutorial o re%erencia a la Pyt&on

len$ua - si 8uieres estos; entonces &ay muc&os recursos %inas en

internet. /in embar$o; es de esperar; estos anuncios será un $ran

punto de partida para 8ue usted pueda e=perimentar usted mismo.

Para ayudarle a moverse más cerca del proceso por el cual muc&os en el mundo real

aplicaciones se desarrollan; este captulo muestra cómo los pro$ramas

están escritos en un idioma muy popular; llamado Pyt&on. /e$*n

?iipedia; VPyt&on %ue concebido a %inales de 0+( y su aplicación se

inició en diciembre de 0+(+ por 6uido van Rossum en el C7> en los

Pases Aajos.V Pyt&on es un len$uaje 8ue pretende ser divertido de

usar. #leva el nombre de la serie de televisión británica de la comedia

de 'onty Pyt&on lyin$ Circus. /i no lo encuentra divertido; esperar 

&asta 8ue lo intente al$unos otros len$uajes de pro$ramaciónI

/in embar$o; este estilo de pro$ramación tiene limitaciones cuandose trata de

la construcción de soluciones a problemas complejos muc&o más

$randes y más. Para obtener el mejor rendimiento de un ordenador 

y de conse$uir la mayor %le=ibilidad; &ay muc&os otros len$uajes y

tDcnicas de pro$ramación de computadoras. Ellos contarse por 

cientos; y cada uno tiene su propio lu$ar en la solución de

 

N otas:En las secciones anteriores 8ue &an visto cómo desarrollar pro$ramasutili1ando

 raLa1os y 6reen%oot. Estas son $randes ambientes para el

aprendi1aje de cómo construir un pro$rama de pie1as. /e toman

los datos del pro$rama y el usuario; manipularla y lue$o cambiar lo

 

os experimentos en

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 54/137

>>> W = 20>>> impresión (W)

>>> W = 20>>> para yoen el rango(W):impresión(">"+""* (W-i) +"."* I * 2 +""*

 

>>> W = 35

3

E = por iments en P y t&on

Pulse 7ntro dos veces. &ora; eso es un poco más impresionante. /i 8uierespuedes

 

$tilice la función @imprimir@de )+2E

 

Zamos a usar V9V de una manera más

Esto le mostrará el n*mero " en la ventana de s&ell. V?V es una variable 8ue

&an establecido en el valor ". continuación; imprimir ese valor en la salida.

En primer lu$ar; tienes 8ue escribir al$unos comandos en el smbolo para &acersu Pyt&on

 

 &ora pulse la tecla de retorno unas cuantas veces y verás 8ue aparece VV

al comien1o de cada lnea. Eso se llama la VprontaV. El mensaje es la manera en

8ue le dice 8ue está esperando para 8ue usted pueda darle al$unas

instrucciones de Pyt&on. Prompts se utili1an en

#o primero 8ue 7F#E te da es un VPyt&on /&ellV. #as serpientes no tienenconc&as pero si

 

En el men* de su escritorio; usted debera ser capa1 de encontrar VPro$ramaciónV y

lue$o V7dle3V. /eleccione esta opción para abrir un editor especial de Pyt&on para la

creación de pro$ramas en Pyt&on; llamados V7F#EV. /i no lo encuentra; presione

 #> [ " y escriba V7dle3V

 esson 3.1 6ettyon$ to $r ips 9yot& Pyt&on N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 55/137

>>> impora!ión pygame

>>> impora!ión pygame>>> 

$na nota acerca de los colores del textoMientras esta!as escri!iendo @py%ame importación@ 0ue de!er&a

ha!er dado cuenta de 0ue la pala!ra @importación@ cam!iado de

color tan pronto como se termine de escri!irlo. Esto se de!e a )+E

tiene una caracter&stica llamada @resaltado de sintaxis@. El color no

es necesario para cual0uier pro%rama de Python para tra!a?ar9 pero

es til para los pro%ramadores al leer el códi%o. uando el texto de

un pro%rama se destaca con colores9

0ue hace 0ue sea m,s f,cil de detectar errores.

Por ahora9 sólo pensar en l como lo contrario de los pe0ue'os

%ara!atos ro?os 0ue marcan los errores de orto%raf&a al escri!ir un

ensayo en un procesador de textos. =o se'alan errores9 pero destaca

>>> eep#l$e = (2%&0&255)>>> 'in!ream = (25255250)

>>> ygame.ini ()>>> ie = (500&500)>>> $per,i!ie = pygame.isplay.semoe (ama/o)

4

E = por iments en P y t&on

Esto &a dado al$unos nombres de un par de VtuplasV para su uso posterior.

Estos tuplas son sólo de datos para el ordenador; y van a utili1ar para crear

colores en

Cómo &acer una increble jue$o se llevará a las edades y un montón de

comandos; pero mientras estamos construyendo &asta 8ue; a8u son sólo unas

pocas lneas más para 8ue escriba para ver al$o

6uauuI <sted importado VPy6ameV. Entonces; M8uD es eso; y M8uD si$ni%icaO <na

ve1 más; no te preocupes por eso. <sted acaba de dic&o Pyt&on 8ue desea utili1ar 

sus %unciones de creación 6ame-. V7mportarV car$as comandos adicionales en Pyt&on

8ue puede utili1ar 

FespuDs de un par de se$undos verá el reaparecen

 &ora vamos a obtener a l$unos $rá% icos por ordenador

  continuación; puede utili1ar las teclas de %lec&a para mover el cursor &asta la

lnea 8ue empie1a con VaV y pulse Retorno; dos veces. /i usted se está

pre$untando por 8uD &ay 8ue pulsar 7ntro dos veces la primera ve1 es

completar el VparaV comandos. l pulsar el se$undo tiempo; Pyt&on reconoce

8ue &aya terminado ese comando y ejecuta

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 56/137

Pi=el es la %orma

abreviada de

Velemento de

ima$enV. En lapro$ramación;

un p=el puede

ajustarse a

cual8uier color

8ue te $usta; y su

VpantallaV se

compone de

muc&as %ilas y

columnas de

ellos; lleno tan

 juntos 8ue

desdibujanuno en el otro

Hip ...

>>> $r,a!e.,ill (eep#l$e)

>>> ygame.isplay.$pae()

>>> $r,a!e.,ill (min!ream)>>> ygame.isplay.$pae()

5

E = por iments en P y t&on

>ctualice supantalla

otra 4e( para 0ue

,ye ... eso es bastante

MuD tal con el otro colorO >ipo:

 &ora tendrá una super%icie a1ul en la ventana 8ue aparece. s 8ue; eso %ue bien divertido;

bien o realmente aburrido. Esperemos 8ue al menos bien.

>ctualice su pantallapara

hacer el relleno a(ul

@as llenado la super%icie con el color a1ul; pero no pasará nada en la pantalla. #a computadora

no sabe 8ue usted &a terminado de dibujar cosas a la super%icie; por lo 8ue no &ace nada por elmomento. Zamos a decirle Py6ame 8ue puede actuali1ar la pantalla

con este comando:

 &ora debera tener una pantalla en la pantalla; 8ue tiene una super%icie de 2 = 2 puntos

diminutos; o Vp=elesV. Eso es un $ran total de "2. p=eles. Zamos a cambiar todo

"2. p=eles a un color a1ul pro%undo 8ue utili1an ese tupla VdeepblueV &emos

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 57/137

>>> iolo$r = (1235%4)>>> $r,a!e.,ill (iolo$r)>>> ygame.isplay.$pae ()

ype6rror: arg$meno no 78lio e !olor

>>> 25% * 25% * 25%

>>> 25% ** 3

6

6ua de un principiante Us de

El ordenador puedemostrar 

256 x 256 x 256 colores.

Eso es 16..216

 

#os smbolos si$ni%ica Velevado a la potencia deV. Note Vprint 45V 8ue no &eusado.

 

,

Pyt&on le está diciendo 8ue la tupla color no es válida. #a documentación

Py6ame dice 8ue la tupla color sólo debe tener valores entre y "22. Cada

n*mero representa la cantidad de rojo; verde o a1ul 8ue 8uieras en el color 

4en ese orden5. 'e1clando estos le dará todos los colores 8ue el e8uipo

puede mostrar. Eso es"2) = "2) = "2) colores di%erentes. Pruebe a escribir esto en el indicador para

 

<sted tendrá 8ue mirar para $ra%as estadounidenses como estos comandos al escribir 

a las computadoras; ya 8ue se desarrollan una $ran cantidad de normas de

 r$&I &ora 8ue no era divertido. @a creado un mal color y Pyt&on le &a dic&o

4En las mDricas5.

>rate de &acer sus propios colores. N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 58/137

>>> $r,a!e.,ill (eep#l$e)>>> osi!ión = (250&250)>>> 9aio = 50

>>> n!;o e lnea = 2>>> ygame.ra.!ir!le (s$per,i!ie& min!ream& posi!ión& raio&an!;$ra e lnea)

  veces;

tenemos más

códi$o para

escribir 8ue

cabe

en una lnea.

Cuando vea una

lnea de códi$o;

tales como el

*ltimo a8u; 8ue

va en una nueva

lnea sin un

smbolo o $uión;

8ue es realmente

una sola lnea decódi$o. No

presione

Zuelva a iniciar 

 

Hip ...

>>> ygame.isplay.$pae()

6ua de un principiante Us de

7ntente cambiar al$unos de los n*meros para dibujar el crculo y ver 8uD pasa.

Recuerde actuali1ar despuDs de cada crculo se a$re$a a la super%icie.

 ctuali1ación de nuevo para ver el

Goin% r ound en cir cles  t 

 &ora 8ue usted &a llenado el %ondo; vamos a aLadir un crculo a la super%ic ie.

N otas:Ees oo NN: s:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 59/137

>>> osi!ión = (20&300)>>> 9aio = 0>>> ygame.ra.!ir!le (s$per,i!ie& min!ream& posi!ión& raio&an!;$ra e lnea)>>> ygame.isplay.$pae()

>>> $r,a!e.,ill (eep#l$e)

>>> ygame.isplay.$pae()

=o respondeuando se utili(a PyGame interactia9 como este9 puede 0uedar

atascado en ocasiones. Esto se de!e a PyGame est, tratando de

eniar eentos de nueo a usted información so!re las cosas 0ue

0uiere 0ue usted sepa acerca. En esta etapa9 usted no necesita

sa!er acerca de ellos9 pero an de!e decirle a Python para

responder a ellas.

Escri!a el códi%o y pulse )ntro dos eces9 y er, todo el

@eentos@ 0ue PyGame 0uiere 0ue usted sepa acerca.

>>> para e7eno en ,$n!ión pygame.e7en.ge ():impresión(67eno)

Para cerrar la entana P Game utilice el cerrar x en la es uina su erior

E = por iments en P y t&on

/i desea empe1ar de nuevo; sólo tiene 8ue rellenar la super%icie con el

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 60/137

Cin una asp!erry Pi

J

E = por iments en P y t&on

7ma$ina 8ue la cuestión estaba encontrando los %actores de 0".!O <sted

tendra 8ue comen1ar en 0 y su %orma de trabajo a travDs de más de ).

n*meros para descubrir todo

Para calcular los n*meros más $randes; es necesario ver cuál de esos n*meros más pe8ueLos

de lo 8ue no tendrá 8ue 8ueda cuando se dividen en ella. En el caso de "): 0; "; 03 y ")

no dejar residuo.

26B1 ^ ")

26B2 ^ 03

26B3 ( ^ "B3

26B4 ) ^ 0B"

26B5 2 ^ 0B2

26B6 ^ 0B3

...

26B13 ^ "

...

26B26 ^ 0

/altando por delante; vamos a tratar de "). >enemos 8ue dividir ") por todos losn*meros menores 8ue

 

1 T 1

2 T 1 y " se dividen en "

3 T 1 y 3

4 T 19 " y . 3 no divide en

5 T 1 y 2 solamente. "; 3 y no se dividen en 2 sin dejar resto

6 T 19 "; 3 y )

T 1 y ! sólo

T 19 "; y (

#os primeros son %áciles; por8ue se puede dividir el n*mero por los n*meros

más pe8ueLa de lo 8ue en su cabe1a y ver si &ay un resto.

MCuáles son los %actores de todos los n*meros de 0 a 2O Es decir; Mcuáles son losaspectos positivos

 

Para empe1ar; vamos a ir a travDs de un problema de matemáticas simple 8ue probablemente

&aya sido 

uD pesadilla. /ólo acaba de empe1ar y ya no &ay tarea. Computadoras e

in%ormática comparten muc&o con las matemáticas. >enemos

dibujado un crculo colorido o dos; pero a&ora es el momento de mirar a al$*n

Munths casaFoL  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 61/137

El $uión de

cuatro espacios

debe aparecer

automáticamente

despuDs de la

lnea 8ue

termina con dos

puntos 4:5. El

$uión de oc&o

espacios

aparecerá

despuDs de la

se$unda lnea

Hip ...

 para nmero en el rango(1& 51):

 para i7isor en el rango(1& nmero + 1):si ?mero@ i7isor == 0:

impresión(i7isor& ,inal ="")impresión()

En matemáticas

in%ormáticos; los

si$uientes

smbolos se

utili1an en lu$ar

de lo 8ue podra

ser utili1ado para:

Upara

multiplicar;

en lu$ar de =

 Bpara la

división; enlu$ar de ]

Hip ...

#

E = por iments en P y t&on

#a %unción de impresión normalmente termina la lnea con un retorno de carro 4el

mismo 8ue cuando &a pulsado la tecla de retorno5. Para detener esto; usted

puede decirle a la %unción de impresión lo 8ue 8uiere al %inal. En este pro$rama; le

estamos diciendo VimprimirV para poner un espacio en blanco al %inal de

>ambiDn; notar cómo V^^V se utili1a en lu$ar de sólo V^V. Esto es por8ue; en un

ordenador; el establecimiento de una variable a un n*mero es di%erente a la

comparación de la i$ualdad de n*meros.

Este pro$rama utili1a dos bucles; Vran$oV; VimprimirV; VsiV; VV y V^^V; y dosvariables para almacenar los datos. #a %unción de Vran$oV $enerará los

n*meros de la primera a uno por debajo de la *ltima en este caso; del 0 al 2.

El operador VV dará el resto despuDs

impresión(?mero& ":"& Ainal

En esta ventana; escribe e=actamente lo 8ue ves a8u; incluyendo los espacios

correctos antes de cada lnea y todo en min*sculas. <sted puede usar >ab para

san$rar sus lneas en el

 bre el editor de 7F#E como antes; pero esta ve1 utilice el men* rc&ivo para

seleccionar una nueva ventana de edición. Esto ya no es el s&ell de Pyt&on;

pero un editor de te=to. Puede escribir en su pro$rama pero no va a ser 

interpretado por el Raspberry Pi &asta 8ue le indi8ue a VEjecutarV. Este editor de

te=to se &a ajustado para 8ue sea muy bueno para escribir Pyt&on;

>!ra una nue4a 4entana de

edición

en el menM >rchi4o en )+2E.Esto le permitir, tra!a?ar en 

Por lo tanto; la misma pre$unta. MCuáles son los %actores de todos los n*meros

de 0 a 2O ntes de empe1ar la pro$ramación; usted tendrá 8ue poner en

marc&a un editor para 8ue pueda escribir 

 Vust undd unsp!err y Pyo  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 62/137

>>> ============= 96I?II9 ================>>> 1: 12: 1 23: 1 3: 1 2 5: 1 5%: 1 2 3 %

: 1 : 1 2 4: 1 3 4

1

E = por iments en P y t&on

a 4entana de la derecha

mostrar la salida de la

ódi%o Python a la

Estos son sus %actores para los nueve primeros

FespuDs de presionar V6uardarV; el pro$rama se ejecutará y podrás ver unmontón de pantalla de los n*meros en la cáscara pitón. Este es el resultado de

su pro$rama; 8ue muestra toda la

=ota Es importante incluir la parte V.pyV de este nombre; para 8ue Pyt&on puede

reconocer %ácilmente esto como un pro$rama 8ue puede interpretar.

Para &acer este pro$rama de ejecución; puede seleccionar V'ódulo EjecutarV en el men* de

depuración del editor o simplemente presione 2 y se le pedirá 8ue $uarde antes de poder

ejecutar. Prensa

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 63/137

 primero = 0

impresión(rimero& ,inal ="")seg$no = 1 mienras (rimera <100):

impresión(eg$noeBremo ="") er!ero = primero + seg$no primero = seg$nos

 

0 1 1 2 3 5 13 21 3 55 4 1

el nMmero #

>>> CD para Den el rango(0& 10)E F 10 nmeros G$e !omienan en 0C0& 1& 2& 3& & 5& %& & & 4E

>>> CD para Den el rango(1& 51)EC1& 2& 3& & 5& %& & & 4& 10& 11& 12& 13& 1& 15& 1%& 1& 1& 14& 20& 21& 22& 23& 2&

25& 2%& 2& 2& 24& 30& 31& 32& 33& 3& 35& 3%& 3& 3& 34& 0& 1& 2& 3& & 5& %&

& & 4& 50E

2

E = por iments en P y t&on

Esto puede llevar a a*n más con%usión en el otro e=tremo de su ran$o decontado. /i usted comien1a a y necesita 0 n*meros consecutivos; el *ltimo

n*mero será +. El Vran$o 45V %unción no está $enerando los n*meros de la

primera a la *ltima serie; 8ue está empe1ando en el primer n*mero y 8ue le da

los valores consecutivos despuDs de eso. Es por ello 8ue en el ejemplo de los

%actores; el pro$rama parece contar del 0 al 20. Comen1ar en

0 y me dan 20 n*meros consecutivos. @e a8u una manera de iterar 4es decir; 

En casi toda la computación; el n*mero de recuento comien1a con . En el

mundo real; es com*n a contar desde 0. Esto puede ser muy con%uso &asta 8ue

se acostumbre a ella - y a*n más con%uso si usted comien1a a usar uno de los

pocos len$uajes de pro$ramación eso contar desde 0. #a &istoria de contar 

desde en la in%ormática se deriva de la inde=ación en la memoria. /e puede

decir el primer elemento de la memoria es una distancia desde el inicio de su

memoria. #os idiomas 8ue se basan en 0 compensar este

Este pro$rama debe ser más %ácil de se$uir 8ue el primero. >iene un solo la1o;

pero; en lu$ar de usar VparaV; utili1a VtiempoV. Este bucle continuará mientras

8ue la variable VprimeroV es menos de 0. <sted debe ser capa1 de ver 8ue

V0V en la pantalla; ya 8ue es el primer valor 8ue pasó esta prueba. Zea lo

8ue sucede cuando se cambia

S el resultado

El si$uiente será calcular los n*meros en la secuencia &asta el primer valor 8uees mayor 8ue 0.

Zamos a escribir otro pro$rama para elaborar una %amosa secuencia

matemática. Cada n*mero en la secuencia de ibonacci es simplemente los dos

n*meros anteriores sumados empe1ando por y 0. Crear un nuevo arc&ivo

usando 7F#E y el nombre de

 tl 8yo!onuncci Ce0uence  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 64/137

J1##1

1###

111

611#

51#1

41##

311

21#

11

##

+ecimalIinario

Pitones en directo

3

E = por iments en P y t&on

En la in%ancia del sistema operativo #inu= 4el sistema utili1ado por el Raspberry

Pi5; inter%aces $rá%icas no eran comunes. cceso a una sola computadora se

pareca muc&o el acceso a la 7nternet &oy en da: una pantalla y un teclado %ijado

en una consola con un cable en la parte posterior de una caja $rande 8ue

contiene el &ard9are. l acceder a su ordenador a travDs de un cable de este

tipo; 8ue no 8uieres 8ue esperar para las imá$enes para descar$ar; por lo 8ue

simplemente tena una pantalla de te=to. Zer cual8uier pelcula 8ue contiene un

ordenador viejo 8ue 0++ y verás al$unos ejemplos. /in embar$o; esto si$ue

siendo la %orma más e%ica1 para controlar un ordenador y muc&os servidores 9eb

 

#os e=perimentos anteriores 8ue &an tirado en la parte más pro%unda; usando

7F#E para entrar en los pro$ramas y ejecutarlos. 7F#E re8uiere 8ue usted

ten$a un escritorio $rá%ico 4llamado un Vinter%a1 $rá%ica de usuarioV; o V6<7V5;

pero cuando empe1aste tu Raspberry Pi; sólo te muestra una $ran cantidad de

te=to en la pantalla. Esto se llama el V>erminal

 8u están los n*meros decimales de a +; tal como

Cada unidad en binario se llama un VbitV; y esto puede tener uno de dos valores:

ó 0 4elDctricamente; VonV u Vo%%V ló$icamente; VverdaderoV o V%alsoV5. Cuando

las computadoras se suman los n*meros; 8ue necesitan tener %ilas de bits para

representar los n*meros. $rupando

( bits; podemos &acer todos los n*meros de a "22. Esto se conoce como un

VbyteV. /i duplicamos a 0) bits podemos tener )2.23) n*meros di%erentes 4)5.

<sted debe comen1ar a reconocer al$unos de estos n*meros in%ormáticos: "; ; (;

0); 3"; ); 0"(; "2) ... menudo; la memoria del ordenador se vende en estos

 

/i usted no lo sabe ya; las computadoras trabajan en VbinarioV. En lu$ar decontar desde

a + para cada unidad lo 8ue &acemos todos los das; 8ue cuentan de a 0 para

cada unidad. En n*meros decimales; por la derec&a; los n*meros son unidades;

lue$o 0s; 0s; 0 y as sucesivamente. Cada uno es 0 veces la anterior. En

binario; los n*meros más a la derec&a es una unidad; a continuación; "s; s; (s; y 

Iyots unnd !ytes  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 65/137

)nterpretación Python

H y;on

 pi rasp#errypi: JH y;ony;on 3.2.2 (por e,e!o& 0 e sepiem#re 2011&04:51:0) C9asp#erry iE ipo "ay$a"& "ere!;o ea$or"& "!rKios" o "li!en!ia" para m8s in,orma!ión.

<n punto y coma

45 se utili1a para

separar dos

comandos sin

necesidad de

Hip ...

>>> = 0

...

4

E = por iments en P y t&on

>>> mienras ( <10 000): a + = 1L impresión("9asp#erry i ="

 &ora; en el Pyt&on; escriba:

,bserve cómo el indicador &a cambiado de VV para VV. Esto muestra 8ue

Pyt&on está activo. Cuando desee volver a la terminal de #inu=; escriba V8uit 45V

y pulse 7ntro; pero no &a$as eso todava. Cuando vea el VV del sistema; usted

tiene

<sted debe ver:

En el tipo de ventana de

Como alternativa; puede pulsar lt-" y escriba

<sted puede probar esto por ti mismo. bra una ventana de terminal #inu= desde el men*en el escritorio; usted debera ser capa1 de encontrar VccesoriosV y lue$o

#os e8uipos utili1an instrucciones en el microprocesador para el control de ellos;

y estos son muy rápidos pero muy complicado. #os len$uajes de pro$ramación;

como Pyt&on; se inventaron para cerrar la brec&a entre lo 8ue la $ente piensa

acerca de los problemas y la %orma en 8ue un ordenador puede procesar datos.

Para mantener el mejor rendimiento; las computadoras se convierten; o

VcompilarV; las instrucciones le$ibles en esas complejas instrucciones

computacionales antes de ejecutarlos. Pyt&on no está obli$ado a &acerlo

aun8ue puede. l sacri%icar velocidad; pro$ramas Pyt&on no necesitan ser 

 

Entonces; M8uD tiene esto 8ue ver con pitones vivasO Cuando estabas

escribiendo lneas de códi$o Pyt&on para dibujar crculos en Py6ame al

comien1o de este captulo; 8ue estaba controlando pantalla $rá%ica del

Raspberry Pi al i$ual 8ue los servidores 9eb son controlados por sus amos.

Cada comando se interpreta lnea por lnea; y el e8uipo está esperando

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 66/137

Cuando vea

puntos

suspensivos 4...5

si$ni%ica 8uePyt&on está

esperando más

instrucciones a

se$uir sus

instrucciones V;

mientras 8ueV.

/implemente

Hip ...

>>> = 0>>> mienras ( <10 000):... + = 1... impresión("9asp#erry i =" Ms$arios& )...

H ?ano ,a!ors.py

 para nmero en el rango(1&51): ,a!ores = 0impresión(?mero& ,inal=":") para i7isor en el rango(1& nmero + 1):

si ?mero@ i7isor == 0:impresión(i7isor& ,inal="") Aa!ores + = 1

si (Aa!ores == 2):impresión("N es $n nmero primo")

 m8s:

H y;on ,a!ors.py

5

E = por iments en P y t&on

Para el resto de esta sección Pyt&on; utili1aremos 7F#E; pero; si lo pre%iere; puede

utili1ar un editor de te=to di%erente y ejecutar sus pro$ramas de la terminal de #inu=

como

<sted debe ver la salida del pro$rama en la ventana de terminal de #inu=; como lo &i1o en el

7F#E Pyt&on /&ell.

6uárdelo 4VCtrl-,V5; cerca nano 4VCtrl-KV5 y; a continuación; para ejecutar en laventana de terminal;

 

Con un poco de ensayo y error; usted debera ser capa1 de utili1ar nano paracambiar el pro$rama

Esos pro$ramas 8ue &a creado antes se pueden editar con el editor de te=to

VnanoV; por ejemplo. bre la terminal de #inu= para 8ue pueda ver un VV del

sistema. bre el

Pro$ramas Pyt&on no tienen 8ue ejecutar desde el ralent tampoco. <sted

podra utili1ar cual8uier aplicación para crear el te=to y lue$o ejecutar el

pro$rama directamente utili1ando Pyt&on. 7ncluso se puede utili1ar un

procesador de te=tos; pero usted encontrará 8ue si$ue tratando de capitali1ar 

palabras al comien1o de cada lnea y corre$ir la $ramática. No se recomienda 

unnyon% Python pr o%r soys 

No es una buena práctica para poner todo el códi$o para un blo8ue en una lnea

como Dsta. Puede pulsar Retorno despuDs de cada instrucción a8u y Pyt&on se

mostrará V...V para indicar 8ue está esperando más instrucciones; pero recuerde

8ue debe san$rar cada lnea

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 67/137

impora!ión!aenaimpora!iónaleaorio

F rear $na lisa e !ara!eres= se!reas Cranom.!;oi!e (OP6AO) para ar!$lo en el rango()E

F e!irle al Q$gaor lo G$e es8 pasano

impresión("Re sele!!ionao $n !óigo se!reo e !ara!eres elas leras & P& & & 6 y A. ")impresión("$ee G$e ;aya repeio alg$na.")impresión(";ora& raar e ai7inar lo G$e eleg.")

yo$rS$ess = CE mienras G$e la lisa(No$rS$ess) = se!reo:

yo$rS$ess = enraa("Inro$!a $n leras !onQe$ra: poreQemplo P:") .$pper ()si len(No$rS$ess) = :

!onin$ar

F Sire la !onQe$ra en $na lisa& !omo else!reo impresión("To ;as ai7inao"&No$rS$ess)

F rear $na lisa e $plas G$e !omparan el se!reo !on la!onQe$ra !omparingTis = !remallera(e!reo& yo$rS$ess)

F rear $na lisa e las leras G$e !oin!ienF (6so ser8 & !$ano las lisas !oin!ien eBa!amene)!orre!Tis = Cpeg para peg& el gr$po e eBperos en!omparingTis si peg

== 6l gr$po e eBperosE

F onar !aa $na e las leras en el se!reo y la !onQe$raF N anoe la menor !ania en !aa,eesTeers = C min(e!re.!o$n (Q)& yo$rg$ess.!o$n (Q)) para

Qen OP6AOE

 8u; de nuevo;

se puede ver

lneas de códi$o

8ue no caben

en una sola

lnea. No

presione

Re$resar al

inicio de una

nueva lnea;

acaba de dejar 

Hip ...

6

E = por iments en P y t&on

MPuedes adivinar la secuencia n*mero establecido por el e8uipoO El e8uipo

selecciona una secuencia de cuatro cartas de un conjunto de seis. <sted entra

en una secuencia de cuatro letras 8ue usted piensa 8ue el e8uipo seleccionado y

se in%orme cuántos eran e=actamente

>0u& est, el códi%o 0ue amos a utili(ar

@emos tenido un calentamiento; as 8ue vamos a ver si podemos crear un jue$o

usando Pyt&on. Ml$una ve1 &as ju$ado el jue$o 'astermind; donde tienes 8ue

adivinar los colores ocultosO Podemos &acer lo mismo a8u; pero con letras en lu$ar 

de las clavijas de colores. >ambiDn lo &ará

 esson 3.2 'unster Py N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 68/137

E = por iments en P y t&on

as cartas noutili(adas

N Menor 

cantidad

artas orre%ir 

N =mero encorrectist

 

 &ora su pro$rama construye una nueva lista de letras 8ue eran correctos 8ue

es la parte i18uierda y parte derec&a eran los mismos en la lista de la

comparación. /e crea la lista llenándolo con entradas V/PE6V. V/pe$V si$ni%ica

Vpe$ secretoV; y Vel $rupo de e=pertosV si$ni%ica Vpe$ conjeturaV. El pro$rama

recibe el V/pe$V de la lista comparando junto con el Vel $rupo de e=pertosV;

#a si$uiente parte de Pyt&on ma$ia es V1ipV. >oma las dos listas y &ace una

nueva lista; donde cada entrada tiene dos partes una parte i18uierda y parte

derec&a. Esto puede ser usado para

El e8uipo recibe el usuario de adivinar por la espera de la entrada de los

mismos. @asta 8ue el usuario escribe en al$o y prensas de entrar en elpro$rama se detendrá. El primero 8ue lo &ace con la entrada es para

convertirlo en may*sculas 4may*sculas5 y comprobar 8ue tiene al menos

cuatro letras. El e8uipo a&ora tiene 8ue comparar la respuesta secreta a la

conjetura. continuación; convierte la secuencia de letras de la %unción de

 

Este es un pro$rama muc&o más lar$o; 8ue si$ue pidiendo una nueva

conjetura mientras 8ue la conjetura no coincide con el secreto. #o primero 8ue

&ace es seleccionar al a1ar una secuencia de cuatro letras de una selección de

seis. /e basa esta secuencia de la lista; 8ue se denota por VXV y VYV; &aciendo

un bucle en cuatro ocasiones y ele$ir al a1ar una carta de

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 69/137

6omentarios OW y @@ @SEn el códi%o9 er, el car,cter @W@ antes de al%una l&nea de )n%ls. El

car,cter @W@ inicia un @comentario@ en el códi%o. Es decir9 todo lo

0ue iene despus del @W@ es i%norado por el ordenador.

Pro%ramadores de Python utili(an @W@ para escri!ir pe0ue'as notas a

s& mismos ya cual0uiera 0ue lea el códi%o.

El arte de escri!ir comentarios tiles es muy importante y una

ha!ilidad 0ue de!e aprender si 0uieres ser un !uen pro%ramador.

+espus de ha!er escrito al%unos pro%ramas sin comentarios9 los

de?ó por un mes y lue%o re%resar, a ellos9 as a entender el alor de

!uenos comentarios.

os comentarios tam!in se pueden poner dentro de un par de

comillas triples @@ @.. $sted 4er, esto en al%unos de los anuncios

Estos comentarios9 cuando se coloca en el inicio de un módulo9

función o clase9 0ue se conoce como@ cadenas de

documentación @9 0ue otro pro%rama de computadora OpydocS se

  @ @

E = por iments en P y t&on

Este ejemplo es bastante di%cil; pero es la capacidad de se$uir y entender este

tipo de pro$rama 8ue le ayudará a ser un $ran pro$ramador. #a capacidad de

crear un proceso ló$ico para resolver un problema le ayudará en su viaje para

ser un

Esto le da al ju$ador las pistas 8ue necesitan para adivinar

El si$uiente bit de in%ormación 8ue necesita el ju$ador es el n*mero de cartas

eran en su conjetura; pero no en los lu$ares correctos. Fado 8ue no importa la

posición; sólo estamos contando cartas. Para cada posible carta; contamos

cuántos están en el secreto y cuántos estamos en la suposición. Esto incluirá

los 8ue están en la posición correcta tambiDn; pero vamos a des&acerse de

esos car$os en un minuto. >ambiDn sólo 8ueremos 8ue el n*mero mnimo ya

8ue sólo estamos contando los de la suposición de 8ue tambiDn están en el

secreto. /umando todos estos aspectos; y restando los 8ue %uera correcta;

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 70/137

e, in2roman(?mero):n$meralUrer = C1000&400&500&00&100&40&50&0&10&4&5&&1En$meralTeers = V

1000: "'"& 400: "'"& 500: ""& 00: ""&100: ""& 40: "D"& 50: "T"& 0: "DT"&10: "D"& 4: "ID"& 5: ""& : "I"&1: "NU" X

res$lao = ""si nmero <1 o nmero> 444:

a$menar al$e6rror para 7alor en n$meralUrer:

 mienras nmero> = 7alor:res$lao + = n$meralTeers

C7alorEnmero - =

7alor reorno res$lao

 pro#ar:impresión(In2roman (in(enraa("Inro$!a $n nmero enero(1-444):"))))

 

impresión(In2roman (in(enraa("Inro$!a $n nmero enero

J

E = por iments en P y t&on

,bserve 8ue la secuencia Vnumeral#ettersV está &ec&o de un par de n*meros y

letras. Este es un tipo particular de secuencia conocida como un VdiccionarioV.

El orden de las entradas en el diccionario no se $aranti1a 8ue sea la misma

medida 8ue la in$resa. Esto es lo 8ue el e8uipo puede optimi1ar cómo se

almacenan los datos y le dará acceso rápido despuDs. #a parte i18uierda de la

entrada del diccionario es la VclaveV; y puede ser casi cual8uier cosa. Para

obtener el valor de la entrada 4la parte derec&a5; puedes pedirlo con la tecla;

utili1ando corc&etes VXYV en torno a la tecla. El Vnumeral,rderV es una lista de lo

normal; donde se mantiene el orden. Esto se usa para descomponer el n*mero

Para calcular el e8uivalente n*mero romano para un n*mero; sólo tiene 8ue se$uir tomando el

mayor n*mero romano posible del n*mero dado; y aLadiendo el n*mero romano a la cadena

como lo &ace. <na cadena es cómo los in%ormáticos

describir una secuencia de caracteres letras; n*meros y otros smbolos

/e imprime el resultado de la %unción Vint"romanV. /e inicia 4llamado5 con el

resultado de VintV y VentradaV. #a %unción VintV es convertir las letras 8ue escriba

en un n*mero. #a %unción de VentradaV permite Pyt&on para conse$uir al$unos

n*meros del usuario.

El si$uiente comando ejecuta una serie de %unciones en un

Este pro$rama introduce la idea de una %unción. los $rupos de %unciones

 junto comandos en un blo8ue. Es el mDtodo básico por el cual usted puede

crear sus propios comandos de Pyt&on. #as %unciones pueden tener variables

8ue se les da y 8ue puede devolver una respuesta una ve1 8ue se &ayan

terminado. /on $randes para la reutili1ación de las instrucciones sobre

di%erentes datos y la obtención de resultados. En este caso; se necesitará un

 

esas& n 3#.3 Romunn Numer un ls S duntun munnipuluntyoon N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 71/137

si nmero <1 o nmero> 444:a$menar al$e6rror

eB!epo al$e6rror:impresión("InKnalo e n$e7o")

J#

E = por iments en P y t&on

VZalueErrorV se eleva por otras partes de Pyt&on cuando seintenta una operación sobre una variable 8ue no se puede

&acer; por lo 8ue &emos utili1ado a8u-. El pro$rama de

#a parte principal del pro$rama de n*meros romanos tambiDn introduce la ideade

Ve=cepcionesV. Cuando una %unción se escribe detecta al$o mal; es necesario

N otas:

solucionar 

esos !ichos

$n @error@ es la ?er%a inform,tica por un error en su pro%rama. =o hepuesto intencionadamente errores en los listados9 as& 0ue si usted

encuentra 0ue no puede e?ecutar un pro%rama o se da una respuesta

extra'a9 0ue ha introducido al%una manera un error. El trmino ha estado

presente desde la poca de Hhomas Edison Oc. 1S9 pero a menudo el

caso reportado de una polilla 0ue causa un pro!lema dentro de una

computadora alrededor 1J4 consolidó el trmino en el mundo de las

computadoras.

a capacidad de locali(ar a los insectos es una ha!ilidad inalua!le

para todos los pro%ramadores. on todas las me?ores intenciones y

planificación9 se pueden cometer errores. >l iniciar el pro%rama9 es

me?or 0ue escri!ir en los e?emplos enumerados a0u&. Puede ser 0ue

tome m,s tiempo9 pero 0ue est,n en formación. $sted est, entrenando

para escri!ir y cómo eitar cometer errores de escritura. Cu capacidad

de códi%o de prue!a de lectura se incrementar, a medida 0ue tra!a?a a

tras de estos e?emplos.

uando usted encuentra un error9 don Ut p,nico y empe(ar a cam!iar el

códi%o al a(ar. Mira el perfil9 mirar a su códi%o9 y tra!a?ar a tras de cada

parte9 ló%icamente9 para aeri%uar lo 0ue usted de!e er9 en comparación

con lo 0ue en realidad se est, iendo. os errores dadas por Python ser,

confuso pero es sólo si%uiendo las instrucciones en el códi%o y 0ue le

dice por 0u no puede continuar.

En al%n momento9 usted descu!rir, 0ue los pro%ramadores utili(an

otro pro%rama llamado un depurador para anali(ar y encontrar errores

en su códi%o ya 0ue se e?ecuta. $sted no necesita el depurador por el

momento9 pero no hay un mtodo alternatio. El mtodo m,s f,cil es

a'adir @imprimir OS@ comandos a su códi%o para aeri%uar lo 0ue est,

pasando en las aria!les y lo le?os Python es a tras de su pro%rama.

Piense en ello como la inserción de una sonda en el códi%o 0ue le di%a

lo 0ue est, sucediendo.

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 72/137J1

E = por iments en P y t&on

 &ora; vamos a escribi r al$o de códi$o para ordenar estas pelculas en

)nception O2#1#S

ódi%o fuente O2#11S

>atar O2##JS

Hhe Cimpsons Moie O2##S

GMen Ari%ins :ol4erine O2##JS

an%o O2#11S

Hhe Green ;ornet O2#11S

GroFn $ps O2#1#S

;arry Potter y las eli0uias de la Muerte Parte 1

O2#1#S ;arry Potter y las eli0uias de la Muerte Parte

2 O2#11S Ctar HreL O2##JS

CpiderMan 3 O2##S

Hransformers O2##S

ChreL Hercero O2##S

Xun% 8u Panda O2##S

Mamma Mia" O2##S

7uantum of Colace O2##S

:>E O2##S

El ca!allero de la noche

O2##S $p O2##JS

a Ca%a repsculo una nuea O2##JS

CherlocL ;olmes O2##JSHoy Ctory 3 O2#1#S

+espica!le Me O2#1#S

ómo entrenar a tu dra%ón O2#1#S

Zamos a intentar al$o un poco más práctico; como la manipulación de datos y el

uso de los arc&ivos. Para este e=perimento; es necesario utili1ar una ventana de

te=to en 7F#E para crear una lista de nombres de cine. Escriba los nombres de

cine tal como se muestran en el editor y $uardarlo

 Cor ten% unnd s&unr chen%  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 73/137

F Urenar $n ar!;i7o !ompleo e nom#res e !ine

F e,inir $na ,$n!ión G$e e7ol7er8 el a/o se ;io $na pel!$laF i7ie el lao ere!;o e la lnea en el primero "("e, ,ilmNear(el!$la):

reorno ,ilm.rspli (O(O& 1) C1E

F argar el ar!;i7o en $na lisa en la memoria e y;onF N !ierre el ar!;i7o porG$e el !onenio se en!$enra a;ora en la memoria!on a#iera("Ailmlis"&"9")!omo ar!;i7o:

,ilmlis = eBpe-iene.leer (). splilines ()

F Urenar por nom#re $sano la ,$n!ión e #i#lioe!a,ilmlis.sor ()

F Urenar por a/o !on la e!la a la ,$n!ión e la #i#lioe!a - lalisa e pel!$laF e#e erminar !on $n a/o en el ,ormao (????),ilmlis.sor (!la7e = ,ilmNear)

F Imprimir la lisa 

J2

E = por iments en P y t&on

>rate de no incluir cada especie para ver 8uD pasa. >rate de poner e=tra V4V en al$unos de los

nombres de cine.

El se$undo tipo utili1a una clave para el aLo pelcula. Para obtener el aLo %uera

de cual8uier entrada de la lista; la %unción V%ilmSearV divide la entrada en dos a

lo más a la derec&a V4V y utili1a eso. Este es el aLo de la pelcula; en nuestro

caso. Este pro$rama se producirá un error si el ttulo de la pelcula no tiene un

aLo despuDs de la primera %inal V4V en el nombre; o si &ay una lnea en el

arc&ivo 8ue contiene el nombre de la pelcula. Normalmente usted tendrá 8ue

 

,rdenar la lista es %ácil; ya 8ue &ay una %unción llamada VclaseV; 8ue diri$e una

bien establecida al$oritmo de ordenación en la lista. ,rdena por las letras

iniciales 4en orden al%abDtico5 de cada lnea. Esto se reali1a por primera ve1 en

este ejemplo. /i desea ordenar de al$una otra manera; tiene 8ue proporcionar 

la clave de clasi%icación. Esta clave es el bit de cada entrada de la lista 8ue se

 

,btención de los datos de un arc&ivo re8uiere 8ue se abrió; leyó en una lista

de Pyt&on y lue$o cerrada. @ay una posibilidad de 8ue el arc&ivo podra ser

muy $rande y no cabe en el

En lu$ar de tomar la entrada del usuario del pro$rama; este e=perimento toma la

entrada de un arc&ivo 8ue contiene el te=to. /e procesa el arc&ivo para ordenar

sus lneas en nombre y aLo

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 74/137

F Urenar $n ar!;i7o !ompleo e nom#res e !ine

F A$n!ión para !omparar el elemeno mins!$las !on elsear!;,or e, omparar (ar!$lo):

reorno #$s!ar en iem.loer ()

F argar el ar!;i7o en $na lisa yF ierre el ar!;i7o porG$e el !onenio se en!$enra a;ora en la memoria!on a#iera("Ailmlis"&"9")!omo  pel<!$la:

,ilmlis = ,ilm.rea- (). splilines ()

sear!;,or = enraa("6ner pare e la pel!$la Ynom#re G$e es8 #$s!ano: ") .loer (). ira ()

F Msar la ,$n!ión in!orporaa e ,ilro& G$e lo ;ar8F Tlamar al primer par8mero en !aa ar!$lo enF Ta lisa y& si es 7era& $iliar8 el elemeno

,o$nlis = ,ilro(0omp8rese& ,ilmlis)

 para nom#re en ,o$nlis:

J3

E = por iments en P y t&on

Por *ltimo; las entradas de la lista de elementos encontrados se

@ay una %unción de Pyt&on llamado V%iltroV; 8ue tendrá una lista y $enerar una

nueva lista mediante la %iltración de las entradas 8ue no pasan una prueba. En

este caso; nuestra prueba de la voluntad

#a lista de pelculas 8ue &emos creado previamente se car$a en memoria.

>e=to para Vsearc&%orV se solicita por parte del usuario. Esto es inmediatamente

convertido a caracteres en min*sculas y espacios adicionales despojados.

Furante la b*s8ueda; cual8uier ttulo de la pelcula tambiDn se convertirá en

min*sculas antes de comprobar de manera 8ue el caso no será relevante para

 l i$ual 8ue en e l e=perimento anterior; el plan consiste en car$ar una li sta denombres de cine y despuDs

 

8yolm sear ch  N otas:

&neas

lar%asa l&nea de entrada tiene una mitad de camino car,cter @Y@ a tras de

la pre%unta. Esto se a'adió por0ue la cola era lar%a. Ci la pre%unta de

entrada se escri!e en una sola l&nea9 no necesitar&a este persona?e. $n

car,cter @Y@ al final de una l&nea es un marcador de continuación.

)ndica 0ue la l&nea no ha terminado toda&a y continuar, en la

si%uiente l&nea del pro%rama. uando se e?ecuta el pro%rama9 este

persona?e no aparecer, en el resultado 0ue sólo es utili(ado por el

intr rete ro rama ara no erder de ista el flu o del códi o.

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 75/137

F In!l$ye el sisema y mó$los e iner,a gr8,i!a e$s$ario impora!ión sysese yie.ZS$i impora!ión *

!lase 'yWino(ZWige):e, en eso (el,):

sper('yWino& a$o). en eso ()

F ?om#rar el igesel,.seWinoile (Oenana67enosO)

F rear $na eiG$ea ($n po!o e eBo)

sel,.la#el = ZTa#el ("9ea 'e"& $o)

F rear $n ige e #oón& posi!ionarlo yF one!ar $na ,$n!ión !$ano se ;a!e!li! #oón = Z$s;P$on (O$s; 'eO& $o) #$on.!li![e.!onne!(sel,.#$onli![e)

F rear $n !$aro e ise/o orienao 7eri!almeneF ara los oros igeslayo$ = ZPoBTayo$ (a$o)layo$.aWige (#oón)layo$.aWige(sel,.la#el)

F 9asrear el raónsel,.se'o$sera![ing( eraero)

e, #$onli![e (el,):"" "!$aliar el eBo !$ano se ;a!e !li! en el #oón" "" sel,.la#el.seeB ("!li![e")

e, mo$se'o7e67en(el,& e7eno):"" "

 !$aliar el eBo !$ano las or$gas) (raón se m$e7e so#re 'yWino"" "sel,.la#el.seeB (sr(67en.B ()) + "&" + sr(67en.y ()))

F Ini!iar $na apli!a!ión y !rear $n ige para la 7enana&F 8nole $n nom#reapli!a!ión = Zppli!aion (sys.arg7)

F onsr$ir $n ige llamao 'yWino 9epro$!or = 'yWino ()

F '$esran el

J4

E = por iments en P y t&on

 &ora &emos aprendido a util i1ar las %unciones; as como la manipulación de los

datos; vamos a volver a al$o un poco más visual. Esta ve1 vamos a se$uir

adelante con la visuali1ación

 esson 3.4 6ettin$ unr tistic  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 76/137J5

E = por iments en P y t&on

En el e=perimento; se demuestran los dos mDtodos

para la detección de cambios. Cuando se &ace clic

en el botón; la %unción VbuttonClicedV se llama. El

otro está respondiendo al cursor del ratón se mueve

sobre el 9id$et y cambiar la eti8ueta para mostrar laposición del ratón 4pero sólo cuando en la ventana;

no cuando el

Para responder a las in%luencias e=ternas; como el movimiento del ratón o del teclado

pulsaciones de teclas; debe reempla1ar %unciones de eventos. l$unos V9id$etsV 4como empuje

botones5 pueden conectarse una %unción a una seLal; como VclicV.

<na ventana debe ser controlado por una aplicación 4una aplicación5; por lo 8ue este

se crea por primera ve1. #a aplicación debe estar en ejecución para la ventana 8ue

se mostrará y; para ello; debe 8uedarse en un bucle sin %in: el bucle principal. ntes

de bucle; debe de%inir cómo desea 8ue la ventana para mirar y cómo cada parte va a

reaccionar a

Cuando le dices a un ordenador para cambiar la ima$en 8ue está mostrando; lo&ace cambiando el color de los p=eles en la pantalla de ordenador. Como

ocurre con casi todos los ordenadores actuales; la pantalla en un Raspberry Pi

es separada en lo 8ue se denominan VventanasV. Estas ventanas VvenV sobre

una super%icie estirable. >odo lo 8ue ves en una pantalla $rá%ica del ordenador 

es en realidad un dibujo dentro de una ventana incluso el dibujo de te=to

@asta este punto; 8ue los datos sean procesados se &a impreso a la pantalla

pero podra %ácilmente &aber sido impreso en papel o por escrito en un arc&ivo.

@emos estado poniendo el te=to directamente sobre la salida de la consola. /i

desea dibujar en una ventana en la 8ue tendrá 8ue utili1ar una biblioteca $rá%ica

ventana. En esta sección estamos utili1ando la biblioteca VPy/ideV 4una versión

de la biblioteca VtV5; aun8ue otro - llamado V>V - viene

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 77/137

F In!l$ye el sisema& maem8i!as y mó$los e iner,a gr8,i!ae $s$ario impora!ión sys& maem8i!asese yie.ZS$i impora!ión *ese yie.Zore impora!ión *

!lase [e!;Wino(ZWige):e, en eso (& el $lo& soreo&ama/o): sper([e!;Wino& a$o).ini () sel,.seWinoile ($lo)an!;$ra& al$ra = sel,.seSeomeryama/o (%0& %0& an!;o& alo)sel,.inoie = ama/osel,.ra = empae

e, pain67en(el,& e7eno):Gp = Zainer () Gp.#egin(a$o) pen = Zen (Z.yello& )

Gp.seen (pl$ma)sel,.ra (Gp& sel,.inoie)Gp.en ()

F 6sa ,$n!ión empae no es8 enro e la !lase[e!;Wino e, raine(oneBo& ama/o):

 p$nos an!;$ra&al$ra = sie = CE para Den el rango(n!;o):

8ng$lo = 5 * B * 2 * ma;.pi \ an!;$raZoin = Zoin (B& (al$ra \ 2) * (1 + 'a;.sin(8ng$lo)))

 poins.appen (Zoin)!oneB.raolyline (p$nos)

F rear la apli!a!ión y el ige y ini!iarloapli!a!ión = Zppli!aion (sys.arg7)9epro$!or = [e!;Wino (OineO& raine& (320200)) ige.s;o ()

 

J6

E = por iments en P y t&on

 yo=e!rasLa dr aFyon%  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 78/137J

E = por iments en P y t&on

omputadoras a!ordan la

pantalla con el ori%en de

coordenadas O#9#S en la

parte superior i(0uierda9 a

 

En este y en el *ltimo e=perimento; &abrás notado 8ue la parte superior i18uierda

de la pantalla y el contenido de la ventana se encuentra en las coordenadas ; .

 l dibu jar en papel cuadriculado el ori$en 4;5 está en la par te in%erior i18uierda.

Es importante recordar esto cuando

,bserve cómo se &a rede%inido el VpaintEventV con su propia %unción de la

pintura. Esta %unción pintura establece una pluma amarilla y lue$o utili1a la

%unción de dibujo 8ue se le dio a la ventana de dibujo. #a %unción de dibujo

dibuja una curva sinusoidal cinco veces; entre el borde i18uierdo y el borde

derec&o del marco de la ventana. #o &ace mediante la creación de una lista de

puntos 8ue representan la curva. /ine puede ir -0-0 pero el cálculo &ace 8ue

esta $ama de a ". Por *ltimo; se une todos los puntos utili1ando

El V/etc&?indo9V es un tipo de ?id$et; y compartirá todas las %unciones

tenido por un ?id$et. El /etc&?indo9 aLade una nueva %orma de iniciali1ar 

4WWinitWW5 o con%i$urar el ?id$et. >ambiDn de%ine una nueva %orma de dibujar 

el contenido del 9id$et. Eso es todo lo 8ue tenemos 8ue cambiar; la %unción

normal de la ?id$et si$ue siendo el mismo y

 ntes de i r al bucle principa l; tenemos 8ue establecer una ?id$et dentro de la

aplicación. Este e=perimento y el *ltimo introdujo el concepto de una VclaseV. #a

comprensión de una clase es bastante complicado; pero piense en ello como un

blo8ue de datos 8ue tambiDn de%ine las %unciones 8ue pueden manipular losdatos. Puede crear varios blo8ues de datos con la misma clase y todos ellos

tendrán las mismas %unciones están reali1ando en

Para dibujar una lnea; o un $rupo de lneas; primero re8uiere la unión del evento de pintura a

una %unción. Por lo tanto; cuando el sistema de ventanas está listo para sacar a la ventana lo

&ará

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 79/137

impora!ión

n$mpyimpora!iónolaimpora!ión pygame

F Are!$en!ia e m$esreo e $n ar!;i7o W 'T696 = 100 F R

e, !reaeignal(Are!$en!ia& $ra!ión): m$esras = in($ra!ión * 'T696) perioo = 'T696 \ ,re!$en!ia F 6n los p$nose m$esreo omega = n$mpy.pi * 2 \ peroo

eQe B = n$mpy.arange (m$esras& ype = n$mpy.,loa) * omegayaBis = 1%3 * n$mpy.sin (eQe B)

F 1%3 es m8Bima ampli$ (7ol$men)reorno yaBis.asype (OIn1%O) .6n!aenar ()

e, !reaeWAile(?om#re e ar!;i7o& la se/al):eBpe-iene = Wa7e.open (nom#re e ar!;i7o& OW#O)eBpe-iene.separams ((1& 2& 'T696& len(e/al)& O?I?SM?UO&

O?o !omprimiaO))eBpe-iene.rie,rames(se/al) eBpe-iene.!lose ()

e, playWAile(?om#re el ar!;i7o): pygame.miBer.ini ()sonar = pygame.miBer.o$n (nom#re e ar!;i7o)o$n.play ()

F 6sperar a sonio para eenerla repro$!!ión mienras pygame.miBer.ge o!$paa ():

 pasar

F rograma prin!ipal !omiena aG$ 

J

E = por iments en P y t&on

En el Raspberry Pi; Py6ame se puede utili1ar para reproducir sonidos desde

un arc&ivo. En lu$ar de proporcionar un arc&ivo con al$*n sonido en Dl; vamos

a $enerar un arc&ivo con los datos dentro de ella para ju$ar sonido. <sted

probablemente sabe 8ue el sonido es en realidad la compresión y

Reproducción de sonidos en un ordenador simplemente si$ni%ica tomar datos de

un arc&ivo; la conversión a la %orma de onda de datos y lue$o enva de 8ue a

&ard9are 8ue convierte la %orma de onda

#os $rá%icos son muy bien; pero si vamos a crear so%t9are multimedia cierto;

entonces vamos a tener 8ue dominar salida de audio tambiDn. Zamos a ver si

nos

 MunLen% un nois&   N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 80/137JJ

E = por iments en P y t&on

Normalmente; usted no $enerar sonidos y lue$o reproducirlos inmediatamente.

#os arc&ivos de sonido como Dstas seran creados de antemano; y sólo ju$aban

dentro de sus propios pro$ramas cuando sea necesario. /in embar$o; siestuviera desarrollando un pro$rama de sonido-manipulación; lo 8ue se necesita

para crear y manipular los datos de sonido directamente; un poco as. @ay

mejores %ormas de &acerlo 8ue no re8uieren escribir en un arc&ivo;

Esta lista de sonidos se pueden $uardar en un arc&ivo en un %ormato de ondaparticular. inalmente;

 

#a celebración de una $ran cantidad de datos en Pyt&on puede ser ine%iciente;

por lo 8ue al$unas soluciones inteli$entes para la celebración de los n*merospuede ser encontrado en una biblioteca llamada VnumpyV. #a primera Varan$eV

$enera una lar$a lista de n*meros consecutivos - ;0 por cada se$undo de

la m*sica. Cada uno es un punto en el tiempo de cada muestra de sonido. #a

%unción de VpecadoV tiene la lista de n*meros; ajustados por ome$a para la

 

No podemos pasar picos y valles cada se$undo por8ue &abamos perdemos

todos esos valores en el medio. En el mundo de la m*sica di$ital; CF y 'P3 envan

.0 n*meros para obtener los n*meros en el medio de cada se$undo desonido. Podemos &acer 

 

#a uni%ormidad de este movimiento está dada por la %unción matemática &emos

visto anteriormente; llamado sinusoidal; 8ue cuando se le da un án$ulo ran$os

de -0 a 0 para cada

0( $rados. >eniendo en cuenta los 3) $rados 8ue va -0-0 y lue$o de vuelta a -0 nuevo.

Esto da a los picos y valles. #a %unción de VpecadoV en Pyt&on no utili1a

os sin OS de4uel4e lafunción

un 4alor numrico entre

1 / 19 0ue representa

el seno del

par,metro

 

Esa VacciónV se almacena en un ordenador como n*meros 8ue van desde

al$unas $randes ci%ras ne$ativas al mismo n*mero positivo; dicen 0)3( 4" 0 -

Recordar su binario5; con una duración de tiempo determinado; dicen los

se$undosI. /i nos movemos &acia arriba y abajo de ese ran$o de manera uni%orme;

por ejemplo; veces por se$undo; y pasamos esos n*meros para el &ard9are de

sonido en el Raspberry Pi; debemos escuc&ar la nota musical VV; por encima de

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 81/137

<amos a ir a es0uiar"

F ySame[ier.pyimpora!ión pygame

F Mn sprie m$no es $n sprie pygame!lase orlprie(ygame.sprie.prie):

e, en eso (& la $#i!a!ión& laimagen): pygame.sprie.prie. ini(a$o) sel,.image = ,oosel,.re! = sel,.image.gere! ()sel,.re!.le,& sel,.re!.op = $#i!a!ión

e, i#$Qar($o& panalla):s!reen.#li (sel,.image& sel,.re!)

F i#$Qar ese elemeno sprie en la panalla (#li)

F Mn esG$iaor en el m$no sa#e lo r8pio G$e 7aF N se p$ee mo7er;orionalmene !lase orl[ier(Worlprie):

7elo!ia = 5e, a!$alia!ión(el,& ire!!ión):

sel,.re!.le, + = ire!!ión * sel,.speesel,.re!.le, = maB(0& min(30& sel,.re!.le,))

!lase[iWorl (o#Qeo):orrer = Aalso

[eyir = 0e, en eso (el,):

sel,.r$nning = eraerosel,.s[ier = orl[ier (C140&

50E& pygame.image.loa ("[ier.png"))

e, $paeWorl (el,):F 6l esG$iaor es pare el m$no y ne!esia $nare,orma sel,.s[ier.$pae (sel,.[eyir)

1##

E = por iments en P y t&on

Para este e=perimento; usted necesitará al$unas pe8ueLas imá$enes 4VspritesV5;

8ue se movan alrededor de la pantalla. Puede utili1ar cual8uier so%t9are de

VpinturaV para crear una ima$en de un es8uiador; 8ue es de " p=eles de alto y "

p=eles de anc&o. demás; crear una ima$en de un árbol;

 &ora podemos manejar $rá% icos y sonidos; as como la manipulación de los

datos y el uso de %unciones y clases. Podemos poner todo esto junto para crear

al$o realmente

 esson 3.5 /imuluntyoons unnd $unmes N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 82/1371#1

E = por iments en P y t&on

  pesar de 8ue &emos de%inido estas cosas; no &emos &ec&o los creó.

Esto sucede cuando creamos el /i?orld.

En la parte superior del pro$rama; se crea una clase V9orld/priteV; 8ue de%ine lo

8ue un sprite es y lo 8ue puede &acer con ella. Entonces; creamos un es8uiador y

permitirle moverse &ori1ontalmente por una distancia cuando se actuali1a. Por 

*ltimo; de%inimos el mundo; 8ue es sólo un es8uiador y un poco de in%ormación

acerca de las teclas del teclado 8ue tiene

 ntes de 8ue se inicie el bucle principal; el mundo del jue$o se debe crear o

iniciali1ado. 'undos del jue$o están %ormados por objetos y; en nuestro caso; se

trata de los pe8ueLos sprites

Este es un sistema muc&o más complicado y la e=plicación de la simulación es

en dos partes. En primer lu$ar; cómo el pro$rama mueve el es8uiador en la

pantalla. En se$undo lu$ar; cómo

 8u es una simulación de slalom de es8u; donde un es8uiador &ace su camino

a travDs de brec&as en %ilas de árboles. El jue$o utili1a un $enerador de

n*meros aleatorios para de%inir dónde poner la brec&a entre los árboles. En

lu$ar de competir verdaderamente el ju$ador por una pendiente; esta

#os jue$os son esencialmente simulaciones en tiempo real de un sistema de

re$las 8ue tienen una condición de partida 8ue se modi%ica con el tiempo

debido a la entrada e=terna. parte de la

N otas:rear estas dos sprites

utili(ando al%n softFare

de pintura. Guardar como

@sLier.pn%@ y @!locL.pn%@

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 83/137

e, ]ey67en(el,& e7eno):F 67eno e#e ser a!one!imieno !la7e pero sólo mo7imienoF i se p$lsa la e!la ;a!ia a#aQo y no lanao;asa sel,.[eyir = (0 si 67en.ype == pygame.]6NM m8s

-1 si e7en.[ey == pygame.]T6A m8s1 si e7en.[ey == pygame.]9ISR m8s 0)

Pi#lioe!a F pygame G$iere ;a!er $n par e !osas anes e G$e poamos $sarlo pygame.ini () pygame.isplay.se!apion ("[i lalom") pygame.[ey.serepea (100& 5)

F rear algo para apro7e!;ar !on $n ama/o e 00 ean!;o lieno = pygame.isplay.semoe (C00& 500E)

F enremos G$e ener $na !onsane e iempo enreramas reloQ = pygame.ime.lo![ ()

 m$no = [iWorl ()

F 6!;a e enraa& !am#iar el m$no el Q$ego y mosrar el n$e7o m$no el Q$ego mienras (Worl.r$nning):

F ompro#ar e7enos eBernos (p$lsa!iones e e!las& poreQemplo) para e7eno en ,$n!ión pygame.e7en.ge ():

si 67en.ype == pygame.ZMI: F eQar e !orrer elQ$ego orl.r$nning = Aalso

eli, (Rasar (e7eno& Ola7eO)): F ro!eso e esa enraael e!lao orl.[ey67en (e7eno)

F !$alia el m$noel Q$ego orl.$paeWorl ()

F i#$Qar el m$no en ellieno orl.raWorl(lieno)

F Imporane !onar !on $na !onsane e iempo enre !aa,lip panalla.F 6n ese !aso& espere por lo menos ;asa 1\30 e seg$no;a pasao !lo![.i![ (30)

 

1#2

E = por iments en P y t&on

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 84/137

impora!ión aleaorio

!lase orlreeSro$p(ygame.sprie.Sro$p):7elo!ia = 5

e, en eso ($o& imagen): pygame.sprie.Sro$p. ini (a$o)reei!$re = ,ooreero = pygame.sprie.Sro$p ()

F 6n ,ilas !on $na #re!;a en $n p$no inermeioF ólo ienen $na lnea e 8r#oles !aa G$ina ,ila o laF ^$ego es emasiao i,!il para yen el rango(0& 00):

si (N 5@ == 0): F aa G$ina& agregar ,ila 8r#ol !on$n ;$e!o gapsie = 3 + ranom.ranin (0&%) Fama/o e #re!;a

F osi!ión el ;$e!o e pariagapsar = ranom.ranin (0&10 - (gapsie \\ 2))

F rear $na ;ilera e 20 8r#oles& pero OgapsieOF alar 8r#oles en el meio para #en elrango(0&20):

si #> = gapsar y gapsie> 0:gapsie-

= 1 m8s: ?eree = orlprie (C# * 20& (y

+ 10) * 20E& reei!$re)ree9o.a 

(?eree)

sel,.a (reero)

e, a!$alia!ión(el,): 

1#3

E = por iments en P y t&on

#a parte actuali1ación de la clase de%ine lo 8ue es un $rupo de árboles puede

&acer cuando se actuali1a. El $rupo tomará todas las &ileras de árboles dentro

de ella y moverlos por una pe8ueLa distancia. demás; cuando la %ila de

árboles va detrás del es8uiador; de la parte superior de la

Para con%i$urar el V%uera de pistaV; esta clase adicional establece %ilas de árboles 8ue tienen un

&ueco en el centro para el es8uiador pase a travDs. El initialiser crea un $rupo de árbolesmediante el uso de la ima$en 8ue se da y la adición de un n*mero de veces 4dejando un

espacio5 a un $rupo 8ue representa a una &ilera de árboles. continuación; aLade 8ue el $rupo

al $rupo más $rande 8ue representa a un $rupo de %ilas de árboles. Note el uso de la división

entera; VBBV; para dividir el V$apsi1eV. /in ella; dividiendo $apsi1e un " puede dar un medio y no un

conjunto

 &ora; si podemos conse$uir &ileras de árboles 8ue avan1an sobre la posicióndel es8uiador; este jue$o lo &ará

 

adden% tr ees  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 85/137

CLi:orld

e, en eso (el,):sel,.r$nning = eraerosel,.s[ier = orl[ier (C140& 50E& pygame.image.loa("[ier.png"))

FF a/aieno 8r#olessel,.rees = orlreeSro$p (pygame.image.loa ("Plo![.png"))

e, $paeWorl (el,):F 6l esG$iaor es pare el m$no y ne!esia $nare,orma sel,.s[ier.$pae (sel,.[eyir)

FF 'o7er las ,ilas e 8r#oles - la elimina!ión e !$alG$ierFF Tnea G$e es la pare s$perior e la panalla sel,.rees.$pae ()

FF ompro#ar si el esG$iaor ;a !olisionao !on !$alG$ierFF pries 8r#ol en las ,ilas e 8r#oles en el gr$po e 8r#olessi pygame.sprie.sprie!ollie (sel,.s[ier& sel,.rees&Aalso):

sel,.r$nning = Aalso

FF ompro#ar si el gr$po e 8r#oles se ;a G$eao sin ;ilerase 8r#oles -FF 6sG$iaor llegó a la pare in,erior ela pisa si len(el,.rees) == 0:

sel,.r$nning = Aalso

e, raWorl (el,& lieno): 

1#4

E = por iments en P y t&on

<sted podra intentar a$re$ar e%ectos de sonido utili1ando el ejemplo de sonido antes. /i usted

puede encontrar al$unos arc&ivos V9avV de otra %uente; sólo tiene 8ue ju$ar con ellos. Esto &ará

$uarda les $enera a s mismo.

El *nico cambio en el bucle principal es 8ue el $rupo se basa en el

En el /i?orld; se aLade uno de estos $rupos de árboles cuando se iniciali1a el

mundo; los árboles se actuali1an cuando se actuali1a el mundo y se comprueba

por la colisión entre el es8uiador y cual8uier elemento sprite en el $rupo de %ilas

de árboles. Por *ltimo; si el $rupo árbol

@acer estos cambios en la clase V/i?orldV; no aLadirlos al %inal de su

pro$rama. Zea si usted entiende cómo e=tender la /i?orld lo 8ue creará

árboles; actuali1arlos; dibujarlos y compruebe si el es8uiador c&oca con el$rupo

Este $rupo del árbol del mundo no &ace nada todava; por8ue no &a sidoutili1ada por el principal

 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 86/1371#5

E = por iments en P y t&on

>hora tenemos nuestroes0uiador9

nuestros ,r!oles y

nuestro ?ue%o. > 4er si

 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 87/137

impora!ión emp,ile& ;eapG 

F 6so es $n generaor (o#ser7e el renimieno)e, linesAromAile(oreAile):

 ;ile r$e:

elemeno = (). soreAile.realine ira ()si no elemeno: F ?ingn elemeno& por lo G$e el ar!;i7oes8 7a!orenimienoe r$p$raelemeno

F #rir la ,ilmlis (eso naa no ;a leo an) pel<!$las = a#iero(OAilmlisO&O9O)generaorTis = CE ;ile r$e:

F Teer ;asa a 10 lneas en $na mari elemensoor = CE

 para yoen el rango(10): pel<!$la = ,ilms.rea-line () F olo lee $na lnea si no pel<!$la:

ro$ra

elemensoor.appen (pel!$la)

F i se leyeron sin lneas& ;emos erminao e leer el ar!;i7o m$y granesi no elemensoor:

ro$ra

F rear $n ar!;i7o emporal y orenar los 10 elemenos enese ar!;i7o soreAile = emp,ile.emporaryAile () para ar!$lo en orenaos(6lemensoor):

soreAile.rie ( #yes(Iem.en!oe ()))F e7ol7er ese ar!;i7o al !omieno lisa paraF Teer e n$e7o por el;eapG soreAile.see[ (0)F oner el generaor en la mari generaorTisLF 9e!orar esa ,$n!ión no se eQe!$aF Rasa G$e $n #$!le pie al sig$iene 7alor.generaorTis.appen (linesAromAile(soreAile))

1#6

E = por iments en P y t&on

 esson 3.6 #yomyoted r esour ces - memor y S stor un$e  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 88/1371#

E = por iments en P y t&on

#a %unción de %usión V&eap8V recorre los valores dados por los $eneradores y

los combina en orden. /e asume 8ue los elementos del $enerador vendrán en

una %orma ordenada. s; ima$ine 8ue toma las entradas iniciales de cada

arc&ivo parcial &asta 8ue se &aya resuelto cuál de ellos es el primero. Fa 8ue

volver; entonces contin*a &aciendo esto; uno por uno; 8ue sólo cuenten con

una pe8ueLa cantidad en la memoria. >odo lo 8ue 8ueda es

El arc&ivo 8ue se pasa a este $enerador es un subconjunto del arc&ivo más

$rande 8ue 8ueremos ordenar. El primer bucle crea una $ran cantidad de

arc&ivos temporales en su almacenamiento permanente; cada uno de los

cuales contiene 0 lneas 8ue &an sido ordenados. El primer bucle no &ace uso

de los arc&ivos parciales ordenados inmediatamente. /e ane=a el $enerador auna l ista. Está &aciendo una l ista de las %unciones del $enerador 

 

#a comprensión de un V$eneradorV es bastante di%cil; pero ima$ino 8ue es como

una %unción 8ue $enera los elementos de una secuencia. FespuDs de 8ue VcedeV

un elemento de la secuencia; no &ace nada &asta 8ue se llama de nuevo. s

8ue el $enerador de a8u toma un arc&ivo; lee una lnea de ella y los

rendimientos 8ue se alinean a lo 8ue llamó. <na ve1 8ue no puede encontrar 

nin$*n más lneas; simplemente deja de volver artculos; 8ue la persona 8ue

 

#a parte más inteli$ente a8u es utili1ar un $enerador de Pyt&on y

/istema operativo #inu= del Raspberry Pi tiene una solución de memoria

virtual; pero lo 8ue si se 8uera mantener bajos la memoria Pyt&on se utili1aO

#a respuesta es ordenar parte de la lista; $uardar esa lista parcialmente

ordenada al almacenamiento permanente; y repetir. <na ve1 8ue todo el

arc&ivo de $ran tamaLo &a sido parcialmente ordenados a arc&ivos más

pe8ueLos; unir todas las entradas en los arc&ivos juntos; uno por uno para 8ue

 

El almacenamiento permanente en un e8uipo 4donde todos los datos se

mantienen cuando la má8uina está apa$ada5 suele ser mayor 8ue el

almacenamiento temporal 4memoria interna del ordenador; 8ue se pierde

cuando se va la lu15. Por Raspberry P7; su tarjeta /F 4almacenamiento

permanente5 es probable 8ue sea muc&o mayor 8ue la "2)'b de R'

4almacenamiento temporal5. 'irar &acia atrás en el e=perimento anterior; 8ue

car$a un arc&ivo de te=to; ordenadas se$*n las entradas y lue$o muestra la

 

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 89/137

ese $rlli#.reG$es impora!ión$rlopen ese Bml.om impora!ión miniom impora!ión iempo

F 6Braer in,orma!ión so#re el iempo por el a!aparamieno e laseiG$eas e la ,$ene 9F OanalO !oniene oos los $los G$e !onienen eBoen!a#eao iempo e, 6Bra!Wea;er(o!):

 para noo en o!.ge6lemensPyag?ame (OanalO): para $lo en noe.ge6lemensPyag?ame (O$loO):

impresión(ile.,irs;il.aa)

9es$laos = CE ##!ea;er = "Rp:\\open.li7e.##!.!o.$[\ea;er\,ees\en\"To!a!iones = C"2%5341"&"2%55%03"&"2%33352"&"2%5322"&"2%5052"Eronosi!ar = "\3ay,ore!as.rss"

sar = ime.ime ()

 para $#i!a!ión en l$gares:F #rir el ,ee 9 y analiar el res$lao en $n o!$meno e#F N a/air el o! a la ,inal e la lisa res$ls.appen(miniom.parse ($rlopen (##!ea;er + $#i!a!ión +

re7isión)))

elapseime = (ime.ime () - ini!io))

 para e#o! en

1#

E = por iments en P y t&on

Este pro$rama puede tardar unos se$undos antes de 8ue se complete ir abuscar los cinco in%ormes. #a lista toma una instantánea de las veces antes de

llamar VurlopenV y de nuevo despuDs de 8ue

#a %unción principal de acaparamiento de datos de la 9eb es VurlopenV. <n <R#

es un Vlocali1ador uni%orme de recursosV; 8ue es el e8uivalente en 7nternet de

una dirección de calle para cual8uier cosa y todo en la 9eb. <n llamado a la

VurlopenV se detendrá el pro$rama Pyt&on &asta 8ue encuentra lo 8ue busca y

devuelve un resultado. Esto puede tardar menos de un se$undo; pero tambiDn

podra llevar varios se$undos. Esto podra ser un problema; y e=plica por 8uD

usted tiene 8ue esperar a 8ue su nave$ador para responder a

Este pro$rama está con%i$urado para encontrar el pronóstico de tres das por 

cinco lu$ares di%erentes en el Reino <nido. /e a$arra a las pá$inas en lo 8ue

se conoce como un VFocumentoV y lue$o se e=trae la in%ormación marcada

como VttulosV de ese documento. Estos contienen la

Estamos lle$ando al %inal de los e=perimentos a&ora; y Dstos se re8uiere 8ue usted

ten$a una cone=ión a 7nternet. #a primera parte de este e=perimento 8ue muestra

cómo obtener in%ormes de tiempo en un %eed R//. <na %uente R// es como una

pá$ina 9eb recortado &acia abajo con solamente un conjunto estándar de datos 8ue

pueden ser a$arró y se muestra. Cuando nos %ijamos en una pá$ina 9eb o un %eed

R//; usted realmente está a$arrando una lista de instrucciones sobre

 esson 3. #accessyon$ t&e 9eb - pr ovyodin$ un 9eunt&er or ecunst  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 90/137

impora!ión en;e#rarese $rlli#.reG$es impora!ión$rlopen ese Bml.om impora!ión miniom impora!ión iempo

F 6Braer in,orma!ión so#re el iempo por el a!aparamieno e laseiG$eas e la ,$ene 9F OanalO !oniene oos los $los G$e !onienen eBoen!a#eao iempo e, 6Bra!Wea;er(o!):

 para noo en o!.ge6lemensPyag?ame (OanalO): para $lo en noe.ge6lemensPyag?ame (O$loO):

impresión(ile.,irs;il.aa)

!lase $rlUpen;rea (;reaing.;rea):e, en eso (el,& ;os):

;reaing.;rea. ini (a$o)sel,.;os = an,irión

e, !arrera(el,):F #rir el ,ee 9 y l$ego analiar el res$lao en $nF o!$meno e# - a/air eso a ,inal e la lisa eres$laos res$laos res$ls.appen glo#al(miniom.parse ($rlopen (sel,.;os)))

 ##!ea;er = "Rp:\\open.li7e.##!.!o.$[\ea;er\,ees\en\"To!a!iones = C"2%5341"&"2%55%03"&"2%33352"&"2%5322"&"2%5052"Eronosi!ar = "\3ay,ore!as.rss"

9es$laos = CE

saring;reas = ;reaing.a!i7eo$n ()sar = ime.ime ()

F rear $n ;ilo para !aa $rl a#iero y !omenar,$n!ionano para $#i!a!ión en l$gares:

$rlUpen;rea (##!ea;er + $#i!a!ión + prónosi!o) .sar()

 mienras ;reaing.a!i7eo$n ()> saring;reas: pasar

impresión("iempo rans!$rrio:@ s" @ (ime.ime () - ini!io))

1#J

E = por iments en P y t&on

 thr eundyon% 5 Fhy Funyot 8or  r esponses-  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 91/13711#

E = por iments en P y t&on

,bserve cómo se tarda muc&o menos tiempo para las cinco direcciones <R#8ue se solicitarán cuando

 

El e=perimento de%ine una clase 8ue puede abrir una <R# como un &ilo y

re$istrar los datos devueltos en una lista $lobal de los resultados. Esta clase

crea un nuevo &ilo para abrir una dirección <R# para cada dirección 9eb; y la

inicia. El pro$rama principal espera &asta 8ue el n*mero

#a tDcnica se llama Ven&ebrarV. Cada &ilo se ejecuta al mismo tiempo 8ue los

demás. Cada solicitud de in%orme del tiempo se reali1a mediante VurlopenV;

como antes; y cada detendrá su &ilo &asta 8ue ten$a una respuesta pero no va

a detener a los otros. <na ve1 %inali1ada cada uno 8ue va a continuar. #os

temas pueden ser utili1ados para cual8uier cosa 8ue usted desea ejecutar al

mismo tiempo; pero los problemas se producen si empie1an a cambiar el

mismo bit de memoria - as; ser advertidos. 7ma$ina escribir un correo

 

Para evitar la espera de todas las pá$inas para responder; se puede decir 8ue el e8uipo

%uncione las cinco solicitudes de estos in%ormes del tiempo; al mismo tiempo y no esperar a 8ue

otros a

#as computadoras pueden &acer muc&as cosas muy rápidamente y es una

ver$Ten1a para dejar un e8uipo de espera. Este e=perimento demuestra 8ue el

computador puede tejer &ilos de

 l acceder a la 9eb; no obtendrá una respuesta inmediata a sus pet iciones. l

ejecutar el e=perimento anterior Pyt&on es posible 8ue &aya tenido suerte y

tena

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 92/137

H yo! -g y

111

E = por iments en P y t&on

lRe%erencia del len$uaje Pyt&on

httpBBdocs.python.or%Breference B

Para obtener in%ormación acerca de impresión; mientras 8ue; el

lPyt&on Re%erence #ibrary

httpBBdocs.python.or%Bli!rary  B

lPy/ide

httpBBFFF.pyside.or%BdocsBpyside B

lPy6ame

http BBFFF.py%ame.or%

lPyt&on ndice Pa8uete

http BBpypi.python.or%

Cuando usted está atascado puede probar la principal %uente de todo

conocimiento 4para Pyt&on5. Por ejemplo; la in%ormación sobre str; c&r; arc&ivo;

al a1ar; matemáticas; Py/ide y &eap8

l#ectura para principiantes

httpBBFiLi.python.or%BmoinBIe%innersGuideB=onPro%rammer s

lEl aprender con Pyt&on

httpBBopen!ooLpro?ect.netBthinLcsBpythonBen%lish2e B

l prender Pyt&on >&e @ard ?ay

httpBBlearnpythonthehardFay.or%B!ooL B

l7nventar con Pyt&on

httpBBin4entFithpython.comBchapters B

l>utorial de Pyt&on

httpBBdocs.python.or%Btutorial B

/i usted tiene acceso a internet; &ay un montón de recursos 8ue cubren cómopro$ramar usando Pyt&on. &ora usted tiene una &abilidad para introducir el

códi$o; la ejecución de códi$o

/eleccione Vdel nave$ador abiertaV en el cuadro de diálo$o 8ue aparece. Esto

puede tardar " se$undos en aparecer; as 8ue ten$a paciencia. partir de

a8u; se puede ver todo el Pyt&on

Este no es un manual de re%erencia o un tutorial; pero el len$uaje Pyt&on vienecon una $ua de re%erencia completa. /i usted no tiene acceso a internet;

puede

Estos e=perimentos pueden &aber dejado e=&austa y un poco con%uso; pero

espero 8ue tambiDn &an despertado su curiosidad para aprender más sobre la

pro$ramación in%ormática; ciencias de la computación y la in%ormática en

$eneral. Esta es sólo

 thyos yos only the !e%yonnyon% 5 Fher e do nosotros %o 8r om her e-  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 93/137112

E = por iments en P y t&on

X6+ W 353 @[email protected]

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 94/137

+iersión con los puertos

113

Entre paramento &ombre-

Por ejemplo; el protocolo @>>P utili1ado por la ?orld ?ide ?eb acepta entradas

utili1ando el puerto >CP (. /i el puerto ( está abierto; un servidor 9eb

responderá a una petición de un cliente; como el nave$ador 9eb; mostrando la

pá$ina 9eb solicitada . /i uno de los administradores del servidor 8ue &a cerrado el

puerto (; entonces usted no será capa1 de

Por VpuertoV; no me re%iero a una cone=ión %sica real en el e8uipo; como por 

ejemplo un puerto </A o ire?ire. En este conte=to; un puerto es una cone=ión

de so%t9are. <n puerto puede ser abierta o cerrada. /i está abierto; entonces

eso si$ni%ica simplemente 8ue el pro$rama aceptará cone=iones a travDs de

ella. /i el puerto está cerrado; entonces el pro$rama no aceptará

@ay un montón de otras maneras de utili1ar el 7nternet; como el correo

electrónico; mensajera instantánea; $rupos de noticias basados en te=to o

iniciar sesión en otro e8uipo mediante el /&ell 4//@5 protocolo de red se$ura.

Cada una de estas di%erentes %ormas de uso de 7nternet tiene un

#as entradas y salidas tambiDn pueden venir en %orma de una cone=ión de datos;

como por ejemplo un enlace de red a 7nternet. Piense en el 7nternet; y

probablemente piense en la 9eb

8uncionar9

ordenadoresnecesitan insumos

información de una

fuente externa.

Procesan esta

información y

producir un

 

Con el %in de &acer el trabajo 8ue están pro$ramados para; las computadoras

tienen 8ue recibir in%ormación del mundo real 8ue les dicen 8uD &acer estos son

llamados VinsumosV. <na entrada puede ser un usuario escribiendo un comando

o &acer clic en al$o con el ratón; o podra ser las lecturas de los sensores en un

ala de avión; 8ue cuentan la piloto automático la ubicación velocidad del viento;

presión atmos%Drica y la br* jula del avión. >odo

N otas:,d la palabra Ve8uipoV y probablemente piense en una caja con un monitor 

conectado; como un PC de escritorio. Pero en estos das; casi todos los

dispositivos electrónicos; desde su >Z o nave$ación va satDlite de sus padres;

&asta el piloto automático de un avión jumbo; es

)nterfa( hom!rem,0uinaCaptulo

113

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 95/137

*7u herramientas se necesitan-

114

Entre paramento &ombre-

httpBB%oo.%lBX3<P

Para completar los ejercicios de este captulo necesitará el pro$rama V7F#EV 8ue utili1ó en el

*ltimo captulo. l$unos de los ejercicios tambiDn re8uieren 8ue se instale módulos de Pyt&on

adicionales. >e lo dirD cuando este es el caso. /iempre 8ue sea posible; me &an &ec&o estos

e=tras disponibles en la tarjeta /F 8ue viene con el Raspberry Pi; a %in de buscar 

por el lo$otipo de la 

>odos los ejemplos de esta sección están diseLados para ser lo más simple

posible. Cada ejercicio demuestra sólo un tipo de comunicación. Piense en

estos ejemplos como in$redientes de una receta 8ue; cuando se me1clan;

producen al$o muc&o mejor 8ue las partes individuales. El alcance de lo 8ue

&acen sólo está limitado por 

En este captulo; vamos a utili1ar el Raspberry Pi para interactuar con una amplia

$ama de aplicaciones de 7nternet; incluyendo >9itter y correo electrónico. Noscomunicamos con cada pro$rama a travDs del puerto correspondiente;

aportaciones 8ue &ace 8ue el pro$rama para ejecutar una %unción espec%ica. S

vamos a &acerlo todo mediante la pro$ramación Pyt&on

N otas:,tros puertos comunes incluyen puerto >CP "2; 8ue se utili1a para el

protocolo de correo electrónico /'>P los puertos " y "0; 8ue se utili1an

para el protocolo de trans%erencia de arc&ivos 4>P5 y el puerto 0)0; para el

protocolo de $estión de red /N'P. @ay miles de di%erentes puertos

disponibles para su uso y por lo tanto miles de di%erentes maneras a

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 96/137

impora!ión osese gorQeo impora!ión *

F Ir a ;ps:\\e7.ier.!om\apps\ne para !rear s$ propioF U?M'69]6N y U?M'69696F enga en !$ena G$e $se ne!esia para esa#le!er el ni7el ea!!eso a leer y es!ri#ir

F ara ese s!rip para ra#aQar (e en!$enra en la pesa/a e!on,ig$ra!ión $na 7e G$eF Ran !reao $na n$e7a apli!a!ión)U?M'69]6N = O4R7o,_'p7Ro0]S_yg4![gOU?M'69696 = O5'D?2R0;2GINs!51WR#p#o$;[r%PO F U#ener la r$a !omplea el ar!;i7o en el .ieremooa$;F ire!orio personal el $s$ario a!$al oa$;,ilename = os.pa;.Qoin (os.pa;.eBpan$ser (OJO)&O.ieremooa$;O)

F Se !$ena e ier 6nrar In,osi no os.pa;.eBiss (oa$;,ilename):

oa$;an!e (O9asp#erry i ier emoO&

U?M'69]6N& U?M'69696& oa$;,ilename) (Ua$;o[en& oa$;o[ense!re) = reao[en,ile (oa$;,ilename)

F one!arse a iera$; = U$; (oa$;o[en& oa$;o[ense!re&U?M'69]6N& U?M'69696)ier ier = (a$; = a$;)

F ee $na n$e7a a!$alia!ión e esaoier.sa$ses.$pae (esao ="Rola '$no`")

F 'osrar oos mis ees 

 l i$ual 8ue en el

captulo anterior;

a veces tenemos

más códi$o para

escribir la 8ue

cabe en una sola

lnea. Cuando

vea una lnea de

códi$o 8ue va en

una nueva lnea;

no pulse

Zuelva a iniciar 

una nueva lnea;

simplemente

dejar 8ue el

 

Hip ...

$sted tiene la pala!ra

115

Entre paramento &ombre-

>rate de pensar en otras maneras en 8ue usted podra utili1ar este mecanismo. Por ejemplo;

tener una entrada de al$*n lu$ar; procesarla y t9ittear el resultado. <sted podra detectar el

tiempo %uera y t9ittear el resultado. <sted podra incluso &acer un t9eet desde su telD%ono

móvil y 8ue su Raspberry Pi leer y reaccionar a Dl 4al ju$ar al$unos

m*sica; por  

ser lataaplicacióndetipoestsimpleCóespectejemploa la vistaI Este

usando

#a si$uiente secuencia de comandos Pyt&on t9ittear el mensaje V@ola;

mundoIV Fe su 

Para completar este ejercicio; necesitará instalar las &erramientas de Pyt&on >9itter. <sted

puede descar$ar estos de httpBBpypi.python.or%BpypiBtFitter Bo instalarlos

desde la tarjeta /F 8ue viene con el Raspberry Pi.

 esson 4.1 >9 yotter N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 97/137

impora!ión smpli#ese email.mime.eB impora!ión 'imeeB

F rear el !orreo ele!róni!o mensaQe = "" "6sa es $na pr$e#a e $so e y;on en9asp#erry i para en7iar $n !orreo ele!róni!o. Z$e sei7ieran`" "" msg = 'imeeB (mensaQe) msg COs$noOE =Oes 9 y;onO msg COeOE = O'i 9  <'yrpi eBample.!om>O msg COaraOE =O7osor $omain.!omO

F 6n7iar el !orreo ele!róni!os = smpli#.' (Osmpser7erO) .login (Onom#ree $s$arioO&O!onrase/aO) .senmail (msg COeOE& 'sg COaraOE& 'sg.assring ()) s.G$i ()

116

Entre paramento &ombre-

Puede modi%icar el pro$rama para enviar arc&ivos adjuntos de correo electrónico; as como te=to

simple. El ejemplo de la pá$ina si$uiente enva una ima$en 4como un arc&ivo P65 como

arc&ivo adjunto al mensaje.

emailexample.py

<tilice la secuencia de comandos de Pyt&on abajo

Correo electrónico se trans%iere a travDs de 7nternet usando al$o llamado /'>P -

Protocolo simple de trans%erencia de correo. /'>P utili1a el puerto "2. No te

preocupes no es necesario entender cómo %unciona /'>P para poder enviar un

correo electrónico. @ay un Pyt&on

 esas& n 4.2 Emamáyol unpplyocuntyoon N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 98/137

impora!ión smpli#ese email.mime.m$lipar impora!ión 'ime'$lipar ese email.mime.eBimpora!ión 'imeeBese email.mime.image impora!ión 'I'6Image

F rear !orreoele!róni!o e 7arias pares msg = 'ime'$lipar () msgCOs$noOE = OTilyO msg COeOE = O'i 9  <'yrpi eBample.!om>O msg COaraOE = O7osor $omain.!omO msg.pream#le = "6se es $n mensaQe e 7arias pares en ,ormao 'I'6.

 F Q$nar eBo el !orreo ele!róni!o mensaQe = "" "6sa es $na pr$e#a e $so e y;on en

9asp#erry i para en7iar $n !orreo ele!róni!o. 6se !orreoele!róni!o am#iKn in!l$ye $na imagen !omo $n ar!;i7oaQ$no e !orreo ele!róni!o. Z$e se i7ieran`" "" msg.aa!; ('imeeB (mensaQe))

 F Q$nar $n ar!;i7o ^S ,ilename = Opi!$re.QpgO!on a#iera(?om#re el ar!;i7o& O9#O)!omo ,:

img = 'I'6Image (,.rea ())

img.a;eaer (Oonen-isposiionO&OpegoO& ?om#re e ar!;i7o =nom#re e ar!;i7o) msg.aa!; (img)

$sted tiene la pala!ra

=ota <sted tendrá 8ue cambiar el te=to resaltado en amarillo a su propio correo electrónico

dirección y servidor de correo electrónico detalles sobre el pro$rama para

11

Entre paramento &ombre-

@ay más in%ormación sobre los módulos de correo electrónico en Pyt&ondisponible en

 

<na ve1 más; tratar de pensar en otras maneras 8ue usted puede utili1ar este

script. Por ejemplo; se puede $enerar el contenido del correo electrónico 4la

salida5 basado en una entrada. Por ejemplo; el control de la temperatura

ambiente y envo por correo electrónico un aviso si se está &aciendo demasiado

calor. Esto se utili1a re$ularmente en salas de servidores; por ejemplo; para

 

N otas:emailattachment.py

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 99/137

ese Bmlrp!.ser7er impora!ión impleD'T9er7er

e, Rola(?ame =O'$noO):"" "e7$el7e $na !aena G$e i!e ;ola al nom#reao" "" reorno "Rola&@ s` O ?om#re@

e, a/air(D& y):"" "greg$e os 7aria#les Q$nas y e7ol7er elres$lao" "" reorno B + y

F on,ig$rar el ser7iorser7er = impleD'T9er7er (("To!al;os"& 000))

F 9egisrarse n$esras,$n!ionesser7er.regiser,$n!ion(;ola)ser7er.regiser,$n!ion(a/air)

11

Entre paramento &ombre-

serer.py

@ay dos pro$ramas a8u - un VservidorV y un VclienteV. El servidor se encuentraen espera

 

El tipo de llamada a procedimiento remoto 8ue estamos utili1ando para este

ejemplo se llama K'#RPC. E=tensible 'arup #an$ua$e 4K'#5 es un len$uaje

de marcado 8ue de%ine un conjunto de re$las para codi%icar datos en un

%ormato 8ue es a la ve1 le$ible y

El len$uaje de los pro$ramas están escritos en y tipo de computadoras no

tienen 8ue ser los mismos; ya sea - 8ue puede ser completamente di%erente de

&ard9are; sistemas operativos y len$uajes de pro$ramación. Por ejemplo; una

aplicación de telD%ono móvil podra ser pro$ramado para llamar a un pro$rama

en Pyt&on 8ue se ejecuta en un Raspberry Pi para reali1ar una

Cuando se utili1a RPC; llamar a un subpro$rama se ve i$ual en su códi$o como

si se está ejecutando como parte de su pro$rama. #a comunicación entre

pro$ramas si$ue siendo en $ran parte oculta y el pro$ramador no tiene 8ue

preocuparse acerca de la

<na llamada a procedimiento remoto 4RPC5 es al$o de códi$o en un pro$rama 8ue

&ace 8ue otro pro$rama para &acer al$o; por ejemplo; ejecutar una subrutina 4un

poco de un pro$rama 8ue reali1a una tarea espec%ica5. #os dos pro$ramas no

necesariamente tienen 8ue estar en

 esas& n 4#.3 Rem nti$uo >estamentoe Pr ocedur e Cun ll N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 100/137

impora!ión Bmlrp!.!lien

 s = Bmlrp!.!lien.er7erroBy (ORp: \\ lo!al;os: 000 ")

F Tlamar a la ,$n!ión O;olaO sin par8merosimpresión(.;ello ())

F Tlamar a la ,$n!ión O;olaO !on $nnom#re impresión(.;ello (OD'T9O))

F $mar os nmerosimpresión(O2 + 3 =@ sO 

$sted tiene la pala!ra

11J

Entre paramento &ombre-

@ay; sin embar$o; las bibliotecas K'#RPC disponibles en muc&os otrospro$ramas

Puedes leer más acerca de los módulos de Pyt&on K'#RPC a8u:

httpBBdocs.python.or%Bpy3LBli!raryBxmlrpc.serer.htm lht

tpBBdocs.python.or%Bpy3LBli!raryBxmlrpc.client.html

Esta aplicación central podra supervisar y controlar todas las &abitaciones

mediante la comunicación con persona Raspberry Pis - diciDndoles lo 8ue

desea mostrar en la pantalla; los dispositivos de control a travDs de 6P7,; y

devolver los datos re$istrados desde la &abitación 4como los niveles de lu1 o

temperatura5. 7ncluso se puede tomar %otos con una cámaraI Cada Raspberry

Pi %uncionara como un servidor K'#RPC el pro$rama de control central

 

MFónde se podra utili1ar este mecanismo K'#RPCO Aueno; ima$ina 8ue tienes

varias Raspberry Pis; cada uno conectado a una pantalla situada en una

&abitación di%erente. <sted tambiDn tiene una computadora central 8ue ejecuta

una aplicación de control con un

Como %uncionaO El pro$rama servidor se sienta y espera a 8ue las peticiones delos clientes. El pro$rama cliente; cuando se ejecuta; llama a las subrutinas

V&olaV y VaLadirV. #as llamadas se pasan desde el cliente al pro$rama servidor;

donde las %unciones se ejecutan en realidad. El resultado se devuelve entonces

al pro$rama de cliente; 8ue muestra el resultado

Para ejecutar este ejemplo; necesita dos ventanas libres separados - uno para el servidor y uno

para el cliente. >iene 8ue ejecutar el servidor primero para 8ue te está esperando

solicitudes del cliente. Para detener el servidor; pulse Ctrl-C.

N otas:rpcZclient.py

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 101/137

/i desea

conocer la

+irección )P de

el Raspberry Pi;

abra el >erminal;

escriba el

comando Vi%con%i$V

y pulse 7ntro.

Este comando

no &ace el

mismo trabajo

8ue Vipcon%i$V

en un e8uipo de

Hip ...

12#

Entre paramento &ombre-

@>'# 4@yperte=t 'arup #an$ua$e5 es un len$uaje utili1ado para describir el

diseLo de una pá$ina 9eb. En estos dos ejemplos a8u; te darás cuenta de 8ue

la pá$ina 9eb creada es bastante básico. 7ma$nese cómo se puede mejorar 

esto sólo modi%icando

+irección

Esta es la dirección de la pá$ina 9eb espec%ica 8ue desea ver. Por ejemplo;

en el <R# FFF.rasp!errypi.or%Bfa0slas Vpre$untas %recuentesV su%ijo es la

Puerto

Este es un n*mero entre 0 y )2232; 8ue especi%ica el puerto >CP 8ue se

utili1ará para la comunicación. /i no se especi%ica; el puerto predeterminado;

=om!rede host

Este es el nombre del e8uipo; el servidor 9eb; en la 8ue reside la pá$ina 9eb.En estos ejemplos; se utili1a el nombre de &ost Vlocal&ostV; 8ue si$ni%ica 8ue el

 

Protocolo

Para un sitio 9eb; esto es normalmente V@>>P:V pero no tiene 8ue ser. /itios 9eb

se$uros utili1an los V&ttps:V ci%rados de protocolo; y la mayora de los nave$adores

 

Ec&emos un vista1o a las partes

protocolo BB hostname port B dirección

<n <R# 4<ni%orm Resource #ocator5; tambiDn conocido como una dirección 9eb; es

lo 8ue se escriba en la barra de direcciones de un nave$ador 9eb. /e puede

compone de una

#a ?orld ?ide ?eb utili1a al$o llamado @>>P 4@yper >e=t >rans%er Protocol5.

Esto es lo 8ue los servidores 9eb y nave$adores 9eb uti li1an para

comunicarse entre s en un nivel bajo. El n*mero de puerto utili1ado para @>>P

es (. El detalle de cómo %unciona @>>P no tiene de 8uD preocuparnos por el

momento - todo el trabajo se &ace para nosotros por la 9eb

<na aplicación 9eb es un pro$rama 8ue se comunica en la ?orld ?ide ?eb. l

i$ual 8ue cual8uier otro pro$rama; 8ue tiene entradas; las procesa y produce al$una

salida. No todos los de entrada y salida de una aplicación 9eb tiene 8ue ser a travDs

de una 9eb

 esson 4.4 ?eb unpplyocuntyoons N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 102/137

Calidas

Hratamiento

121

Entre paramento &ombre-

Para completar este ejercicio; tendrá 8ue descar$ar e instalar el V?eb,b 0."V módulo de Pyt&on.

<sted encontrará esta bien en la tarjeta /F Raspberry Pi o en la 9eb

dirección httpBBpypi.python.or%BpypiB:e!A! B

En las pá$inas si$uientes son dos pro$ramas Pyt&on simples 8ue se ejecutan

como servidores 9eb. Este códi$o tambiDn %uncionará sin modi%icaciones en un

servidor en ejecución 9eb comercial

#as salidas de una aplicación 9eb se llaman una VrespuestaV. #a salida está

normalmente en la %orma de la @>'# de una pá$ina 9eb; aun8ue podra ser 

cual8uier tipo de datos; como un arc&ivo P6 4una ima$en5. El contenido de

esta salida es $enerada por la aplicación 9eb. <sted podra incluso &acer 8ue

su aplicación produ1ca un tipo completamente di%erente de la producción; as

como una pá$ina 9eb - por ejemplo; cambiar el mensaje en una

Entradas de su aplicación pueden ser al$o más 8ue solicitudes de pá$ina desde un nave$ador

9eb; aun8ue - una base de datos a menudo se utili1a para almacenar datos; por ejemplo.

7ncluso se puede utili1ar 

Normalmente; e=isten estas variables sólo por el tiempo de vida de una petición.

<na ve1 8ue cierre su nave$ador; se &an ido; y si usted visita el sitio de nuevo;

tendrás 8ue especi%icar los detalles de su solicitud al servidor de nuevo. /i

8uieres variables 8ue persisten entre las peticiones; se puede usar un tipo

especial de variable llamada VcooieV.

#a entrada principal a una aplicación 9eb se encuentra en la %orma de una

Vsolicitud de pá$inaV de un nave$ador 9eb. Como parte de esta solicitud; las

variables se pasan desde el nave$ador 9eb al servidor 9eb 4en este caso; su

pro$rama5. Estas variables pueden incluir cosas tales como la pá$ina

espec%ica 8ue 8uieres ver; datos de acceso; los detalles sobre la %orma en 8ue

 

 /Anputs  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 103/137

ese We#U# impora!ión ei!ión& 9esp$esa

!lase pli!a!ión e#(o#Qeo):e, llamaa (el,& am#ienal& sarresponse):

F ap$rar la pei!ión (e enraa)reG = 9eG$es (am#ienal)

F U#ener la 7aria#le e nom#re&F alor preeerminao e O'$noO si no seesa#le!e name = reG.params.ge(O?om#reO&O'$noO)

F Senerar el R'T e la resp$esa (salia);ml = "" "

 <> Rola@ s` <\ >  <Aorm me;o = "pos">  6s!ri#a s$ nom#re: <inp$ ype = "eB" name = "nom#re">  <Inp$ ype = "s$#mi" 7al$e = "6n7iar ,orm$lario"> 

 <\ Aorm> "" "

F rear y e7ol7er la resp$esaresp = 9esp$esa (;ml@ nom#re)reorno resp (am#ienal& sarresponse)

apli!a!ión = mó$lo e# ()

F rograma prin!ipal - elser7ior e# si  ?om#re ==Orin!ipalO:

ese sgire,.simpleser7er impora!ión

 ma[eser7er por = 00

;p = ma[eser7er (OO& 6l p$ero& la

122

Entre paramento &ombre-

Como %uncionaO #a variable VnombreV se pasa a travDs de su pro$rama en la

%orma de una petición VP,/>V. Esto se $enera mediante un %ormulario en @>'#.

#a primera ve1 8ue su pá$ina se ve; la variable VnombreV no está de%inida; por 

lo 8ue un valor por de%ecto de VEl 'undoV

>en$a en cuenta 8ue la mayora de las pá$inas 9eb son normalmente servidos

en el puerto (. Para poder ejecutar en un puerto por debajo de 0"; su

pro$rama se debe ejecutar con privile$ios 4root5 VsuperusuarioV. @emos utili1ado

el puerto (( con este pro$rama - esto es com*nmente utili1ado por 9eb

Ejecutar esta aplicación en 7F#E; a continuación; poner en marc&a un

nave$ador 9eb. 7r a la <R# V@ttp: BB local&ost: (( V. /i está trabajando

desde otro e8uipo disponible en la misma red; cambiar Vlocal&ostV a la

dirección 7P de su Raspberry Pi. Recuerde; usted puede encontrar su

dirección 7P; escriba Vi%con%i$V en el >erminal.

N otas:helloFe!.py

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 104/137

ese We#U# impora!ión ei!ión& 9esp$esa

!lase pli!a!ión e#(o#Qeo):e, llamaa (el,& am#ienal& sarresponse):

F ap$rar la pei!ión (e enraa)reG = 9eG$es (am#ienal)

F U#ener la 7aria#le !oo[ie!;ange& alor F e,e!o es $na !aena 7a!a!oo[ie!;ange = reG.params.ge (Ooo[ie!;angeO&OO)

si len(oo[ie!;ange.srip ())> 0:  F am#iar el 7alor e la !oo[ie si la !aQa !oo[ie!;ange

F e ;a !ompleaogalleas =!oo[ie!;ange

 m8s:F U#ener la !oo[ie& el 7alor preeerminao es$na !aena 7a!a galleas = reG.!oo[ies.ge(Ooo[iesO&OO)

F Senerar el R'T e la resp$esa (salia);ml = "" " <> Ta !oo[ie se esa#le!e en O@ sO <\ p>  <Aorm me;o = "pos">  am#iar 7alor e la !oo[ie: <inp$ ype = "eB" name ="!oo[ie!;ange">  <Inp$ ype = "s$#mi">  <\ Aorm> "" "

F rear la 7aria#le eresp$esa resp = 9esp$esa(;ml@ !oo[ie)

F lma!enar la !oo[ie !omo pare e la resp$esa&  'aB ea F 30 a (= %0 * %0 * 2 * 30 seg$nos)

resp.se!oo[ie (Ooo[iesO& Sallea& maBage = %0 * %0 *2 * 30)

reorno resp (am#ienal& sarresponse)

apli!a!ión = mó$lo e# ()

F rograma prin!ipal - elser7ior e# si  ?om#re ==

Orin!ipalO: 

123

Entre paramento &ombre-

cooLies.py

 cabamos de ver un ejemplo utili1ando un sencillo %ormulario. <sted puede &aber 

notado un inconveniente - la variable VnameV de esa %orma sólo dura el tiempo de vida

de una petición; entonces se pierde. /i 8ueremos una variable permane1ca entre

peticiones; tenemos 8ue utili1ar otro tipo de variable llamada VcooieV. El pro$rama

si$uiente se modi%icó una

 6ooLes decir9s  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 105/137

Atras lecturas

124

Entre paramento &ombre-

/olo &emos dado una muy pe8ueLa muestra de lo 8ue es posible a8u - &ay unaenorme

 

>ambiDn &ay varios marcos 9eb de Pyt&on disponibles 8ue &acen un montónde trabajo para usted. /e recomienda un marco si usted está pensando en

escribir un sitio 9eb completo. <n ejemplo muy conocido es el marco de

Fjan$o ver 

'ás in%ormación sobre la biblioteca V?eb,bV se puedeencontrar en

 

Como %uncionaO En primer lu$ar; se muestra el valor actual de la cooie. /i se

establece la variable Vcooiec&an$eV; el valor de la cooie se cambia y esto se

enva de vuelta al nave$ador 9eb para almacenar. #a cooie tiene una edad

má=ima; aun8ue - &emos utili1ado 3 das en este ejemplo. #a cooie se puede

perder incluso antes si se elimina por el usuario en el nave$ador 9eb. Elnave$ador 9eb; incluso puede ser con%i$urado para i$norar las cooies

completamente y nunca almacenar ellos; aun8ue esto no es $eneralmente

N otas: l uti li1ar este p ro$ram a; te darás cuenta de 8ue el valor de la coo ie esrecordado

 

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 106/137

os sensores y dispositios de salida

Entrada di%ital y analó%ica B ouput

311

21#

11

##

+ecimalIinario

125

Entre paramento &ombre-

Con dos bits di$itales podemos

<na seLal di$ital es uno 8ue puede e=istir en uno de los dos estados; tales como un

interruptor de la lu1 8ue está encendida o apa$ada. 'ientras 8ue un canal di$ital

4d$itos5 puede estar encendido 4V0V5 o desactivar 4VV5; podemos combinar varios

d$itos para &acer una serie. Este es el sistema binario

#as entradas son pie1as de in%ormación se &a enviado a un e8uipo; al i$ual 8ue

un ser &umano puede sentir; oler; $ustar; or y ver cosas. #os productos son los

peda1os de in%ormación 8ue se producen y envan a cabo por un e8uipo; todo lo

8ue pueda &ablar o $esto. 'edida 8ue las computadoras son elDctricos; entradas

y salidas se deben convertir desde y &acia una %orma elDctrica para 8ue el e8uipo

pueda trabajar con ellos. <n sensor es una pie1a de &ard9are elDctrico 8ue

detecta y convierte al$o en el mundo real 4tales como la velocidad de una rueda5

en una seLal elDctrica. <n dispositivo de salida es al$o 8ue

Para producir Mtilesresultados9 las

computadoras

necesitan datos

para tra!a?ar.

os datos pro4ienen de

los insumos9 y los

 

Por lo tanto; vamos a empe1ar por mirar cómo las computadoras reciben 

Esta sección e=plica los detalles tDcnicos de cómo las entradas y salidas están

conectadas y procesados por las computadoras. FespuDs de eso; &ay una

re%erencia tDcnica de las capacidades de 6P7, de Raspberry Pi. Zoy a terminar 

con al$unos circuitos electrónicos sencillos y el so%t9are 8ue se puede

construir y uti li1ar en su Raspberry Pi. En esta $ua; vamos a estar 

concentrado en la inter%a1 6P7, di$ital; 8ue es la

GP)A es la abreviatura de V6eneral Purpose 7nput B ,utputV. /u teclado; el ratón

y el monitor son ejemplos de dispositivos de entrada y salida en un e8uipo; pero

son para tareas especiali1adas y bien de%inidos. #a parte V6eneralV de 6P7,

indica 8ue

 esson 4.5 6enera l Pur correosse S,np<ta&B,<ta&p<ta& 46PS,,5  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 107/137126

Entre paramento &ombre-

-Fi$ital-analó$ico convertidores 4FC5 y analó$ico-di$ital de convertidores4FC5 son ampliamente utili1ados en la electrónica 8ue se conectan a las

computadoras. #os bits más di$itales 8ue maneja el convertidor; más resolución

4más preciso5 la conversión será. Por ejemplo; si un sensor de temperatura

produce una seLal analó$ica lineal en el ran$o de f C a 0 f C y 8ue 8uera

ser capa1 de medir; al menos; el $rado más pró=imo en el e8uipo; lo 8ue se

necesita por lo menos siete bits di$itales

>naló%ico a di%ital

con4ertidores O>+S y

de di%ital a analó%ico O+>S

con4ertidores son una parte

cla4e en la mayor&a de los

sistemas de entrada de la

 

<n ordenador sólo puede comprender los datos en una %orma di$ital; por lo 8ue

todas las entradas analó$icas tienen 8ue ser convertidos a un %ormato di$ital antes

de 8ue puedan ser utili1ados por el ordenador. Fel mismo modo; las salidas

analó$icas tienen 8ue ser creados mediante la conversión de los valores di$itales

8ue salen de un ordenador. En la rambuesa Pi; esta conversión se tiene 8ue &acer 

/ólo recuerde 8ue una seLal di$ital viene en pasos 4posiblemente muy pe8ueLos

pasos; pero a*n as los pasos5; mientras 8ue una seLal analó$ica es suave;

permitiendo 8ue cual8uier valor; pero más di%cil de

<na seLal analó$ica es uno 8ue puede tener un ran$o de valores; mientras

8ue una seLal di$ital sólo tiene dos. <na %orma de pensar en di$ital %rente

analó$ica está comparando un tramo de escaleras con una rampa. l subir las

escaleras puede estar se$uro de 8ue usted está en la sDptima etapa; por ejemplo. <sted no tiene nin$una opción de pararse a medio camino entre la

se=ta y sDptima de la escalera. Esto es muy similar a una seLal di$ital. Por el

contrario; al subir la rampa; se puede lle$ar a cual8uier altura sobre el suelo;

 

N otas:Esto nos da 4""5 combinaciones 8ue podemos utili1ar. #a primera V"V es el n*mero de

estados en un canal di$ital - dentro y %uera. El se$undo V"V es el n*mero de la tecnolo$a

di$ital

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 108/137

)nterrupciones9 4otación y multitarea

       /     e     r       i     a       l

       P     a     r     a       l     e       l     o

12

Entre paramento &ombre-

El primer mDtodo es un ejemplo del uso VinterrupcionesV. Cuando en el

telD%ono; puede escribir una nota para usted mismo para 8ue pueda dar 

prioridad a cual8uier trabajo 8ue se produce como resultado de la llamada

tele%ónica de una manera oportuna. <so de interrupciones es el uso más

e%iciente del tiempo con eventos poco %recuentes. @ay; sin embar$o; una

desventaja de usar las interrupciones: re8uiere &ard9are o so%t9are de bajo

 

1. >rabajar en el e8uipo &asta 8ue se le interrumpido por el timbre del telD%ono.

Contestar el telD%ono y lue$o continuar trabajando en su computadora.

2. >rabajar en el e8uipo por un minuto. #evante el telD%ono y comprobar para ver si

&ay al$uien en el otro e=tremo. Pon$a el telD%ono despuDs &a$a otra minuto de

trabajo en el e8uipo. Compruebe 8ue el telD%ono de nuevo. Repita este todo el daI

3. >rabajar en el e8uipo usted mismo y conse$uir otra persona a tomar las llamadastele%ónicas

 

 &ora sabemos lo básico de cómo la in %ormación 4datos5 % luye dentro y %uera de

una computadora; tenemos 8ue saber cómo manejar los datos 8ue &a de venir 

en cuando lle$a. Considere esta situación: <sted está trabajando en su

computadora; pero; al mismo tiempo; tambiDn está esperando una o más

llamadas tele%ónicas. Piense en la llamada tele%ónica como %uente de datos de

entrada. @ay tres maneras de ser capa1 de tratar con ambas tareas en el

#os datos di$itales %luye dentro y %uera de un ordenador en una de dos maneras

- en serie o en paralelo. En una inter%a1 paralela; &ay un canal de datos para

cada bit de datos 8ue es de entrada. Piense en ello como tener un montón de

carriles en una autopista. En una inter%a1 en serie; sólo &ay un canal de datospara cada dirección 4transmisión y recepción5; 8ue cada bit de datos *nica viaja

a lo lar$o; uno despuDs del otro. Piense en ello como un solo camino. 7nter%aces

en paralelo son más %áciles de diseLar y utili1ar; pero re8uieren más &ard9are y

cable de datos para construir 4al i$ual 8ue la autopista tomando más espacio

En una se'al enparalelo9

muchos !its de

datos pueden ser 

 

En las se'ales dedatos en serie9

hay dos

corrientes de

información

 

Cer younl unnd punr unllel duntun  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 109/137

aplicaciones em!e!idas

>plicaciones en tiempo real

12

Entre paramento &ombre-

Cuando &ay una %recuencia de muestreo irre$ular en los datos de entrada; esto

se llama VjitterV. #a precisión de tiempo predecible 8ue se re8uiere necesidades

los sistemas operativos en tiempo real especiales de &ard9are dedicado o y

len$uajes de pro$ramación de bajo nivel; como C o ensamblador. #os sistemas

operativos disponibles actualmente en el Raspberry Pi no son realmente

adecuados para aplicaciones en tiempo real. %ortunadamente; el Raspberry Pi

s incluye un compilador de C 4llamado 6CC5 si 8uieres aprender a escribir 

<na $ran cantidad de aplicaciones de control del mundo real se dice 8ue %uncionar 

en Vtiempo realV. Para las aplicaciones en tiempo real; a menudo es necesario ser 

capa1 de leer las entradas; procesarlos y producir salidas de miles de veces por 

se$undo. #a tasa de este tratamiento tiene 8ue ser predecible - un cálculo en un

pla1o %ijo. Por ejemplo; un CF tiene una %recuencia de muestreo de ;0 @1 - 8ue

si$ni%ica 8ue por cada punto de muestra de datos; es su%iciente 0B0 se$undos

4"";) microsiemens5 8ue &acer todo el procesoI En un sistema operativo multitarea;

como #inu= en el Raspberry Pi; no se puede $aranti1ar 8ue su pro$rama tendrá el

control total de la CP< durante esos pocos microse$undos

- El sistema operativo puede ser ocupado; la comunicación en el puerto de red;

<na aplicación embebida es donde un e8uipo está inte$rado en otro

dispositivo. Por ejemplo; un >F> caja de un televisor o un 6P/ en un coc&e.

/i se compara una PC de escritorio con una Raspberry Pi; se puede ver 8ue

una PC de escritorio no es adecuado como un componente para construir en

dispositivos pe8ueLos; a di%erencia de un Raspberry Pi. <n PC estándar 

normalmente no tiene nin$una inter%a1 6P7, e8uipados; ya seaI <n Raspberry

 

El tercer mDtodo es un ejemplo de VmultitareaV. #a primera persona puede

concentrarse en su trabajo en el e8uipo. #a se$unda persona podra ser lacomprobación 4de votación5 el telD%ono todo el tiempo y pasar mensajes a

usted como y cuando sea necesario. El problema es 8ue no siempre &ay una

se$unda persona alrededor. No te preocupes - sistemas operativos como #inu=

en el Raspberry Pi no &acen posible 8ue usted

N otas:El se$undo mDtodo es un ejemplo de Vpollin$V. >iende a perder muc&o de su

tiempo comprobando %recuentemente el telD%ono cuando no &ay nadie all.

>ambiDn necesita tiempo para cambiar de una tarea a otra. Esto es lo 8ue

tendra 8ue &acer si el telD%ono no tena tono de llamada. El sondeo es el

mDtodo 8ue se utili1a cuando los acontecimientos se producen con %recuencia

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 110/137

)nterfaces de hardFare GP)A en la asp!erry Pi

12J

Entre paramento &ombre-

El má=imo permitido de consumo de corriente de la clavija es 3.3Z 2m. El

consumo má=imo de corriente en el pin 2 Z depende de su %uente de

alimentación - usted debe dejar su%iciente para la Raspberry Pi a correrI

Aotones 8ue se seLalan en la tabla anterior se describen por tipo en las

si$uientes secciones. >en$a en cuenta 8ue al$unos pines pueden ser 

 

N +=6 no se conectan.Estos pines est,n

reser4ados

@ay varios tipos de pasadores de inter%a1 en la rambuesa Pi. Ellos pueden

ser con%i$urados y utili1ados para muc&as aplicaciones. >en$a en cuenta 8ue

debido a 8ue las patas de la placa Raspberry Pi se conectan directamente al

sistema en un c&ip 4/,C5; es muy %ácil daLar tu o tarjeta /F Raspberry Pi; si

no tienes cuidado. se$*rese de 8ue sólo utili1a 3;3 Z en los pines; no 2Z. Por 

esta ra1ón; se recomienda utili1ar una tarjeta de inter%a1; como el 6ertboard;

entre la %rambuesa

 BBFFF.aurduino.cc

 un8ue el Raspberry Pi puede correr rápido de E B / aplicaciones y e l rduino

puede utili1ar aplicaciones 9eb; esto no es lo 8ue son los más adecuados

para. Recuerde: siempre use las &erramientas adecuadas para el trabajoI @ay

un ejemplo de comunicación entre una

N otas:No se preocupe; sin embar$o; si usted &aba %ijado su cora1ón en la creación de

al$unas aplicaciones en tiempo real. @ay otra pe8ueLa plata%orma de prototipos

electrónica; llamada un rduino; 8ue contiene un microcontrolador pro$ramable

adecuado para aplicaciones en tiempo real. Es muy %ácil de usar un Pi de

%rambuesa y una placa rduino juntos. <n rduino se puede utili1ar para la alta

velocidad; las pie1as en tiempo real del diseLo y una Raspberry Pi pueden

ejecutar una inter%a1 $rá%ica de usuario de nivel superior o aplicación 9eb 8ue

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 111/137

26

24

1123

2522

J21

1#1J

241

2316

=mero IM GP)APin Vunta

2215

2113

112

111

151#

14

4

15 U

#3 U

=mero IM GP)APin Vunta

elo?C15 U

+atosC+>#3 U

+escripción8unción=mero IM GP)APin Vunta

anal ;a!ilitar 1. Ham!in conocido como ClaeE126

anal ;a!ilitar #. Ham!in conocido como ClaeE#24

elo? en serieCX1123

M,ster en9 Esclao de salidaM)CAJ21

+omina exprs9 Esclao EnMAC)1#1J

+escripción8unción=mero IM GP)APin Vunta

>en$a cuidado

con la cone=ión

<R>I

Ci utili(a

demasiada

corriente9

entoncesusted podr&a

Hip ...

eci!ir 151#

Hransmitir H14

+escripción8unción=mero IM GP)APin Vunta

13#

Entre paramento &ombre-

$ni4ersal as&ncrono receptor B transmisor O$>HS

#a <R> es una cone=ión de bus serie. >en$a en cuenta 8ue estos pines

%uncionan a 3.3Z y la especi%icación R/"3" es de 0"Z. /i se conecta a un

dispositivo serial R/"3"; usted podra daLar el Raspberry Pi. Por %avor; ten

@ay cinco pines disponibles para conectar dispositivos a la Raspberry Pi

Cerial Peripheral )nterface OCP)S

/P7 es una inter%a1 en la 8ue se puede conectar varios dispositivos esclavos

/P7. El Raspberry Pi sólo puede actuar como maestro en el bus.

)nter6ircuito )nte%rado O)[6S

7gC es una inter%a1 en la 8ue se puede conectar varios dispositivos esclavos

7gC. El Raspberry Pi act*a como el maestro en el bus.

>en$a en cuenta 8ue estos pines tienen una resistencia de 0.( pull-up en el

>lta N 3.3<

Ia?o N # <

@ay 0! pines disponibles para operar en el modo de 6P7,; con%i$urables comoentradas

 

GP /AA !ounr d pyons  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 112/137

Por %avor; ten$a

cuidado: si utili1a

demasiada

corriente;

entonces usted

podra %ácilmente

Hip ...

impora!ión 9i.SIU !omo SIU

F on,ig$rar el pin 11 a la saliaSIU.se$p (11& SIU.UM)

6sao =Aalso mienras 1:

SIU.o$p$ (11& esao)!omano = enraa("$lse Inro para !am#iar el T6 een!enio \ apagao o

"Z" para salir ")si !omman.srip (). s$perior (). sarsi; (OZO):

131

Entre paramento &ombre-

>en$a en cuenta 8ue este script Pyt&on se debe ejecutar con privile$ios de

superusuario 4root5. <sted puede &acer esto mediante la ejecución de su

pro$rama desde la lnea de comandos y poniendo VsudoV en

El si$uiente pro$rama Pyt&on le permitirá cambiar el #EF de encendido y

apa$ado. Para completar este ejercicio se necesitan los módulos de Raspberry

Pi 6P7,. Puede instalar estos desde la tarjeta /F Raspberry Pi o descar$arlos

de

>en$a en cuenta 8ue usted necesita para conectar el #EF de la posición

correcta. El lado plano del #EF indica el lado ne$ativo la pierna más lar$a

indica el lado positivo de la

Experimento circuito de2E+

 

/e trata del circuito más simple se puede construir para probar las salidas

6P7, de Raspberry Pi. Este circuito contiene sólo dos componentes: una

resistencia de 0 y un #EF 4diodo emisor de lu15. #a resistencia se utili1a para

limitar la corriente 8ue %luye %uera de la rambuesa Pi y en el #EF. /i &ay

demasiada corriente; podra

 &ora sabemos todo acerca de los datos y opciones de entrada B salida delRaspberry Pi; vamos a lle$ar 

 

e+ cyorcuyot  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 113/137

impora!iónen;e#rarimpora!ión

iempoimpora!ión 9i.SIU !omo SIU

!lase Poón(;reaing.;rea):"" "Mn ;ilo G$e !onrola $n #oón SIU" ""

e, en eso (el,& !anal):;reaing.;rea. ini (a$o)sel,.presse = Aalsosel,.!;annel = !anal

F on,ig$rar pin !omo enraa

SIU.se$p (sel,.!;annel& SIU.I?)  F erminar ese ;ilo al programa prin!ipal ermina

 

132

Entre paramento &ombre-

Cuando se utili1a el módulo de Pyt&on RPi.6P7,; #,? ^ alse y @76@ ^ >rue.

 l i$ual 8ue en el ejemplo anterior; este pro$rama debe e jecutarse como root

poniendo VsudoV delante de

En la pá$ina si$uiente se muestra un ejemplo de al$*n códi$o Pyt&on 8ue

monitorea un pulsador. <tili1amos las caractersticas multitarea de Pyt&on para

crear una clase 8ue controla un botón pulsador para demostrar cómo se puede

utili1ar la multitarea. Esto es para 8ue no perdamos el botón de prensa;

mientras 8ue el pro$rama está ocupado &aciendo otras cosas. Zas a

ircuito depulsador 

 

Este es el sobre el circuito más simple 8ue puede utili1ar para probar las

entradas 6P7, con su Raspberry Pi. #a resistencia de 0 es lo 8ue se conoce

como una resistencia Vpull-upV - 8ue si$ni%ica 8ue la entrada se tiró alto 4a 3;3

Z5 cuando no se pulsa el botón. l pulsar el botón; se conecta la entrada a Z

a travDs de la resistencia de 0; enviando la baja entrada. #a resistencia de 0

está presente para prote$er su Raspberry Pi en el caso de con%i$urar 

accidentalmente como una salida en lu$ar de una entrada. El 6ertboard tiene

 Push!$tahton cyor cuyot  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 114/137

F Rilo e ini!io e,$n!ionamienosel,.sar ()

e, plan!;ao(el,):si sel,.presse:

  F Porrar el ini!aor presionao a;ora ;emos ee!aosel,.presse = Aalso

 eraero reorno m8s:re$rn ,alse

e, !arrera(el,): =aneriores ?ing$no mienras 1:

F Teer !anal SIUa!$al = SIU.inp$ (sel,.!;annel)ime.sleep (0.01) F 6sperar 10 ms

F ee!ar el !am#io e 1 a 0 ($na p$lsa!ión e #oón)si == a!$al Aalso y == anerior eraero:

sel,.presse = eraero

  F 6spera para la #anera G$e esea #orrar mienras

sel,.presse:ime.sleep (0.05) F 6sperar

50 ms anerior = !orriene

e, onP$onress():

impresión(OPoón ;a sio presionao`O)

F rear $n ;ilo e #oón para $n #oón en el pin 11 #oón = P$on (11)

 ;ile r$e:F eir8 $n nom#re y e!ir ;olaname = enraa(OInro$!a $n nom#re (o Z para salir):O)si name.$pper () == (OZO):

impresiónes!anso(ORolaO&

133

Entre paramento &ombre-

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 115/137134

Entre paramento &ombre-

En este ejemplo se utili1a una placa rduino conectado a un Raspberry Pi

mediante un cable </A. <sted no tiene 8ue construir cual8uier circuito para

&acer de este pro$rama de trabajo - 8ue se deja a la ima$inación. Estepro$rama es muy simple pide para un personaje en su Raspberry Pi; y lue$o

lo enva a la rduino. El rduino responde devolviendo el personaje y su

códi$o /C77. Por *ltimo; la respuesta se imprime en la pantalla de

 rduino es una plata%orma de prototipos elec trónicos de códi$o abierto

basado en %le=ibilidad; &ard9are y so%t9are %ácil de usar. <na placa rduino

conectado a un Raspberry Pi es una combinación muy *til y potente. <sted

puede aprender más sobre

,bviamente; tambiDn tendrá una placa rduino.

Para completar este ejercicio necesitará la e=tensión de puerto serie Pyt&on. <sted puede

instalar esto desde la tarjeta /F Raspberry Pi o descar$arlos de

httpBBpypi.python.or%BpypiBpyserial B. >ambiDn necesitará el pa8uete Febian

llamado VrduinoV; con el %in de instalar el 7FE de desarrollo rduino. Puedes

descar$ar desde el sit io 9eb de

 ar duino yonterface  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 116/137

\\ on,ig$rar la 7elo!ia e!oneBión en serie 7a!o !on,ig$rar()V

erial.#egin(4%00)LX

7a!o #$!le()V

in inPyeL

si (erial.a7aila#le() > 0)V

\\ Teer los aos e la 9asp#erryi inPye = erial.rea ()L

\\ 6n7iaremos los aos e9asp#erry ierial.rie(inPye)L

erial.prin("=")Lerial.prinln(inPye)LX

impora!ión serial

F on,ig$rar la 7elo!ia e !oneBión en serieer = serial.erial (O\ e7 \ y'0O& 4%00)

F P$!le prin!ipal mienras 1:

! = enraa(OInro$!a $n !;ar:O)si len() == 1:

F 6n7iaremos los aos e r$ino ser.rie(!.en!oe ())

F 9e!i#ir aos ese el r$ino resp$esa =

135

Entre paramento &ombre-

ódi%o Python para la asp!err y

N otas:ódi%o para el >rduino

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 117/137152

E l # inu = C ommand # ine

/i eres nuevo en #inu=; es posible 8ue no estD %amiliari1ado con la lnea de

comandos en $eneral y con los comandos de #inu= en particular 48ue son a

veces similares a sus e8uivalentes de ?indo9s; pero a menudo son

completamente di%erentes5. Este captulo es una breve introducción a la ma$ia de

la lnea de comandos. Contiene todo lo necesario para

Con la lnea de comandos 8ue puede &acer las cosas 8ue no se puede &acer 

uso de la inter%a1 $rá%ica de usuario y se pueden &acer cosas %ácilmente 8ue

son di%ciles en la 6<7. En comparación con la inter%a1 $rá%ica; la lnea de

comandos apenas utili1a cual8uier tratamiento o $rá%icos de potencia; por lo 8ue

es $rande si usted tiene un trabajo pesado para 8ue el e8uipo &a$a. S; si se

conecta remotamente a un Pi de %rambuesa 8ue no tiene su propio monitor;

 

Eso suena como un trabajo duro. MRealmente 8ueremos 8ue molestarse conellaO / lo &acemosI Para empe1ar; de %orma predeterminada; al$unas

versiones de #inu= arrancar directamente en el C#7. Para abrir la inter%a1

$rá%ica de usuario; con todas sus &ermosas ventanas y men*s; entonces tienes

8ue escribir el comando Vstart=V y pulse 7ntro. Pero eso es de nin$una manera

 

>odo eso está muy bien; pero no &ay otra manera de interactuar con #inu=:

usando la inter%a1 de lnea de comandos 4C#75. Con la C#7 no &ay imá$enes

nada 8ue &a$a clic en. Para conse$uir 8ue su e8uipo &a$a al$o; debe escribir 

un comando de te=to bien construido. menudo; sólo se sabrá 8ue su

comando se &a ejecutado con D=ito por8ue el e8uipo no responde. /i no

responde; al$o

El sistema operativo en el Raspberry Pi es una versión de #inu=. Con toda

probabilidad; se ve un poco como ?indo9s o - más probable - como el 'ac

,/. Cuenta con una inter%a1 $rá%ica de usuario 46<75 8ue le permite interactuar 

con sus carpetas y arc&ivos &aciendo doble clic; clic derec&o o i18uierdo; o

arrastrando y soltando. /i 8uieres

N otas:

a l&nea de comandos de

152

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 118/137

s$o nano "'i Tin$B omanos"

 #as;: nano: !omano no en!onrao

El shell Iash

El Vsinta=isV de uncomando si$ni%ica

la manera 8ue

debe ser escrito

para &acerlo

%uncionar. ue

si$ni%ica el orden

de las palabras;

as como cual8uier 

puntuacion

importante 8ue

Hip ...

H 'an <!omano> 

153

E l # inu = C ommand # ine

/i conoce el comando 8ue desea usar; pero no sabe e=actamente cómo usarlo

- Por ejemplo; usted no sabe e=actamente la Vsinta=isV derec&o - se puede utili1ar el

comando VmanV 4manual5 en #inu=. En la lnea de comandos puede escribir:

Este captulo cubre muc&os de los comandos más comunes y *tiles. /i usted

no puede encontrar el comando 8ue necesita; intente buscar en lnea. @ay un

montón de buenos $uas en

Para utili1ar la C#7; lo 8ue necesita saber los comandos. El conjunto de comandos por de%ecto

está contenida en la VcáscaraV 8ue está utili1ando. @ay un montón de conc&as por a&; pero el

de este Raspberry Pi se llama VAas&V. Aas& es el s&ell de lnea de comandos por de%ecto

en la mayora de versiones de #inu=; as como 'ac ,/; por lo 8ue vale 

No se preocupe demasiado acerca de los comandos reales utili1ados all - Zoy ae=plicar 

 

Esto sólo si$ni%ica 8ue no &a instalado Nano todava. /in embar$o; la mayora

de los comandos 8ue se describen en esta pá$ina son la clase de comandos

Vlimpie1aV 8ue vienen por de%ecto; por lo 8ue no debera tener este problema.

Cada pro$rama tiene una

Pero podra ser 8ue; en lu$ar de abrir el nuevo arc&ivo de te=to; el sistemadevuelve el

 

/i introduce un comando y no %unciona; puede si$ni%icar 8ue el pro$rama no está

instalado todava. Por ejemplo; si intenta crear un nuevo arc&ivo de te=to llamado

V'i #inu=

 l escribir en el terminal está ejecutando pro$ramas. #a mayora de los

comandos 8ue aparecen a8u ejecutar pro$ramas 8ue le dan la capacidad de

ordenar el sistema para &acer al$o. l a$re$ar pro$ramas a su Pi %rambuesa;

usted será capa1 de correr 

 esson 6.1 Communnds un r e just pr o$r un/ra  N otas:

hom!reMuestra información so!re el !lanco9 procedente de los manuales de

referencia en l&nea.

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 119/137

H In,o <!omman> 

infoMuestra documentación en l&nea so!re el o!?etio.

M>>+A

154

E l # inu = C ommand # ine

@El hom!re@ es la

>l escri!ir @man apt%et@

en la l&nea de

comandos de re%resar toda

esta información en el

comando @apt%et@ y cómo

Para saber más sobre Aas&; ec&ar un vista1o a su entrada de ?iipedia:

httpBBen.FiLipedia.or%BFiLiBIashZ\2$nixZ shell\ 2 J

En los ejemplos anteriores; el sustituto de _command con el comando 8ue

desea saber más acerca de. <na palabra de advertencia: la orientación dada por 

el V&ombreV a veces es un poco %ormal y muy; muy detallada. Casi se podra

decir: V/i crees 8ue sabes un comando y lue$o ir a pá$ina de manual del

comando con el %in de descubrir 8ue

N otas:, bien; puede utili1ar el comando

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 120/137

 <omano> <Inerr$pores> <ar8meros> <esino> 

ls -l \ ;ome \ #rian

lsEnumera los contenidos de directorios.

 mo$n -A sm#,s \\ gr$po e ra#aQoL Are: ,oo142.1%.1.44 \ !asas \

monte;ace una estructura de archios disponi!les en una nuea u!icación.

155

E l # inu = C ommand # ine

Este comando indica al sistema operativo para utili1ar el nombre de usuario

V%redV y la contraseLa V%ooV 4parámetros5 para 8ue la unidad compartida

llamada V&o$aresV en el servidor de ?indo9s en 0+".0)(.0.++ 4parámetro5

aparecerá en el árbol de directorios en el punto V B mnt neto V4objetivo5 con el

mensaje del sistema Alo8uear Presentación B /ervidor 

,bjetivoParámetros7nterruComando

Para un ejemplo un poco más detallada; ec&emos un vista1o a la orden de

VmontarV; 8ue narra #inu= para incorporar un nuevo sistema de arc&ivos 4como un

CF o FZF5 en su propio arc&ivo

Este comando le dice a la lnea de comandos a la lista; en %ormato lar$o; el

contenido del directorio VB &ome B brianV. El comando es VlsV el interruptor V-lV le

dice a #inu= 8ue desea la lista en %ormato lar$o y el objetivo de este comando

es el directorio VB &ome B brianV. En este ejemplo; no &ay parámetros; por lo

8ue parte de la

,bjetivo7nterruptor de

Zeamos un ejemplo. Zamos a empe1ar con el comando VlsV; 8ue se puedeutili1ar para

 

•)nterruptores3 cartas individuales; precedidos por un $uión; 8ue se ajustan lo

8ue &ace el comando

•Par,metros3 cosas 8ue las necesidades de comando para saber paratrabajar 

 

En las $uas; como Dste; los soportes V_V y VV se utili1an a menudo para indicar 

el lu$ar un comando tomara en una cadena de te=to 8ue se escriben en la C#7.

#a lnea &ori1ontal VhV se utili1a para denotar VoV. Con%undidoO Aien; veamos el

ejemplo anterior. #eamos 8ue; como diciendo 8ue los comandos se pueden

utili1ar por 

Comandos toman la

esson 6.2  Communnd syntunK unnd %ile str uctur e  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 121/137

! \ ;ome \ #rian \ o!$menos

! ..

#os nombres de

arc&ivos y

directorios

4carpetas5 son

entre may*sculas

y min*sculas en

#inu=; por lo 8ue

el arc&ivoVm stu%%V es

Hip ...

6+

am!ia el directorio de tra!a?o actual.

156

E l # inu = C ommand # ine

Para obtener más in%ormación sobre el comando VcdV ver su entrada de?iipedia:

 

Por ejemplo; si está trabajando en la carpeta VB &ome B brian B Focumentos B

ProyectoV; el comando Vcd ..V le tomara de nuevo a VB &ome B brian B FocumentsV.

 se$*rese de dejar un espacio entre las letras VCFV y los dos puntos; de lo

contrario el

/i desea mover el árbol de directorios; utilice el comando:

Para ir a un lu$ar particular en la estructura del directorio; se utili1a el comando VcdV; 8ue si$ni%ica

Vcambio de directorioV; se$uido por su ubicación en el árbol. Por ejemplo; el si$uiente comando

te llevará a la carpeta VFocumentosV de Arian de

su directorio

El sistema de arc&ivos de #inu= es jerár8uica con directorios anidados 4a

menudo llamado VcarpetasV5 en un VárbolV. #a parte superior de la estructura de

directorios se denota por el smbolo VBV y directorios debajo VBV se re%ieren a la

utili1ación de VcaminosV; al i$ual 8ue en las <R#

 =unyo%untyon% the file system usyon% @cd@  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 122/137

H ls

 nSo$nmeine'$er.mi programa!ión omKsi!a aparaoses.mi nSo$nmeine'$er.ms! Ingeniera Asi!a $8ni!a$ora Al$i93 S'.ins 6s!$ela Wina

H Ts -l

oal e 33%-r-r-r--. 1 #rian #rian 224 02 e a#ril 20:2 nSo$nmeine'$er.mi -r-r-r--. 1 #rian #rian 05 02 e a#ril 14:52 nSo$nmeine'$er.ms! rBrBr-B. #rian #rian 04% 02 e a#ril

 

15

E l # inu = C ommand # ine

Para saber más acerca de los VlsV de comandos; ec&ar un vista1o a su entrada de?iipedia:

 

No te preocupes; vamos a entrar en los detalles de esta

En el se$undo; utili1amos Vls -lV. Esto muestra los arc&ivos en %ormato lar$o; 8uele dice;

 

Zeamos dos ejemplos. En el primero; usamos las VlsV llano de comandos conno &ay interruptores.

lVlsV; el comando sin modi%icadores; enumera todos los arc&ivos en eldirectorio actual.

lV#s -lV enumera los arc&ivos y muestra la versión lar$a de la in%ormación

acerca de cada arc&ivo o directorio. #a salida puede ser un códi$o de

colores en %unción de las pre%erencias de terminal 8ue &a establecido.

lV#s -RV pide una lista VrecursivaV - es decir; una lista 8ue incluye el

contenido de los subdirectorios; as como este directorio.

lV#s -V obli$a al sistema para mostrar arc&ivos VocultosV. #os arc&ivos

ocultos tienen nombres 8ue comien1an con un punto; 8ue no suele ser 

 

#os VlsV comando lista todos los contenidos del directorio en el 8ue están

trabajando. @ay una serie de interruptores 8ue puede utili1ar con VlsV para

&acer 8ue se vea e=actamente los arc&ivos 8ue le interesan y toda la

in%ormación *til sobre esos arc&ivos. @emos enumerado al$unas de

 yostyon% the files unnd 8older s yon un punr tyoculunr  plunce  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 123/137

H ;on ,re #roplo.o

-r-r-r--. 1 ,re #rian 10414 02 e a#ril 14:52 #roplo.o

H ;on ,oo: ,oo #roplo.o

-r-r-r--. Aoo ,oo 1 10414 02 e a#ril 14:52 #roplo.o

choFnam!ia la propiedad de uno de los m,s archios.

ch%rpam!ia el %rupo de uno o m,s archios.

15

E l # inu = C ommand # ine

'ientras estamos en ello; ec&ar un vista1o a Vc&$rpV para vercómo se compara:

 

Para obtener más in%ormación sobre el comando Vc&o9nV ver su entrada de?iipedia:

 

/i utili1amos Vls -lV de nuevo para ver el nombre de lar$o %ormato de

El arc&ivo se encuentra todava en $rupo Arian pero a&ora es propiedad de

red. Pero lo 8ue si 8ueremos &acer el usuario VooV el dueLo del arc&ivo y

tambiDn mover el arc&ivo al $rupo V%ooV.

/i ejecutamos el comando Vls -lV de nuevo; a&ora vamos a ver

<saremos el arc&ivo Vbrotplot.odtV como ejemplo. Fi$amos 8ue 8ueremos &acer red

el 

En la #ista de lar$a anteriormente; los arc&ivos son propiedad de Arian y tambiDn

están en el $rupo de Arian. #o 8ue si 8ueramos cambiar la propiedad de al$unos

de esos arc&ivosO #ue$o nos &ara

 6hunn%e ayner shyop o8 dyor ector yoes unnd files  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 124/137

-r-r-r--. 1 es$ianes ,re 10414 02 e a#ril 14:52 #roplo.o

15J

E l # inu = C ommand # ine

para el

usuario B

propietario

para el $rupo

u

%

o

u

Pero lo 8ue si 8ueremos cambiar los permisos del arc&ivoO @ay varias maneras

de utili1ar el comando Vc&modV para &acer esto; pero probablemente el más %ácil

es utili1ar 

#a bandera V=V no aparece en absoluto. Recuerde; K representa la capacidad

de ejecutar un arc&ivo. 

lArian &a de lectura y escritura en el arc&ivo.

l#os miembros del $rupo llamado VestudiantesV tambiDn &an de lectura y

escritura en el arc&ivo.

l>odos los demás 4el VmundoV5; sólo tiene acceso de lectura al arc&ivo.

/i volvemos a mirar nuestro ejemplo anterior; podemos

Por lo tanto; si los tres $rupos tuvieron los tres tipos de acceso; veramos

Vr9=r9=r9=V. /in embar$o; cada ve1 8ue al$uien no tiene un tipo de acceso; esreempla1ado su carta

 cceso de lectura

 cceso de escritura

El permiso para ejecutar elpro$rama

 

r

F

x

#os nueve caracteres 8ue si$uen; describen los derec&os de acceso para el

propietario 4usuario5; el $rupo y el mundo 4todos los demás 8ue puede ser

capa1 de acceder al arc&ivo5; en ese orden;

Nuestro ejemplo anterior comien1a con un $uión; as 8ue sD 8ue es un arc&ivo.En este caso; es

 

7ndica un directorio

7ndica un enlace

7ndica un arc&ivo

d

l

El primer carácter de la secuencia; en este caso un $uión; nos dice lo 8ue es elobjeto.

 

Cuando se utili1a el modi%icador V-lV para ver la lar$a lista de in%ormación de

contenido de un directorio; los resultados 8ue se ven están precedidos por una

cadena de letras y $uiones.

 6hunn%e unccess to dyor ector yoes unnd files  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 125/137

!;mo o + #roplo.o

!;mo a-r #roplo.o

!;mo $ + B #roplo.o

chmodam!ia el modo de acceso OpermisosS de uno o m,s archios.

16#

E l # inu = C ommand # ine

Para obtener más in%ormación sobre el comando Vc&modV ver su entrada de?iipedia:

 

Esto si$ni%ica a$re$ar ejecutar acceso para el usuario B propietario

Esto si$ni%ica eliminar el acceso de lectura para los tres 4usuario; $rupo y otros5todos de

 

Esto si$ni%ica a$re$ar el acceso de escritura para el $rupo VotrosV aVbrotplot.odtV. Ladir es

 

 &ora; vamos a probar el comandoN otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 126/137

s$o a$ser #rian

sudo

Ci tiene los permisos adecuados9 e?ecute el si%uiente comando como

superusuario.

onertirse en el usuario admin

 pass roo

161

E l # inu = C ommand # ine

En al$unos sistemas; sin embar$o; usted no será capa1 de utili1ar el comando

VsuV por8ue; por de%ecto; el usuario root no está &abilitado. En este caso; usted

tendrá 8ue permitir a la ra1

 l i$ual 8ue antes; se le pedirá 8ue introdu1ca su contraseLa para ase$urarse

de 8ue usted tiene los derec&os de superusuario. <na ve1 8ue &aya

autenticado correctamente con su contraseLa;

@ay otra manera de &acer las cosas como usuario root y 8ue es mediante eluso de la V<nión /oviDticaV

comando; 8ue si$ni%ica Vusuario sustitutoV 4o superusuario5. 7nvocando el VFoV

 

Para saber más acerca de comando VsudoV; consulte la entrada de ?iipedia:

httpBBen.FiLipedia.or%BFiLiBCudo

Esto iniciará una secuencia de comandos 8ue le permite con%i$urar un nuevo

usuario llamado VbrianV. /i al$una ve1 se trata de &acer al$o en la lnea de

comandos y el mensaje de error: V/ólo la ra1

Zeamos el ejemplo de la adición de un nuevo usuario al sistema; al$o 8uesólo el usuario root puede &acer. En Febian; el comando sera el si$uiente:

 l utili1ar VsudoV; estás d iciendo: V@a1 el si$uiente comando como usuario root.V

 l &acer esto; se le pedirá su contraseLa y; si tiene los permisos del sistema de

un usuario root 4com*nmente llamado V estar en el $rupo de administración V5; a

continuación; se ejecuta el comando. /i usted no tiene permisos de root; usted

recibirá una

Fependiendo de la versión de #inu= 8ue está utili1ando; 8ue o bien tiene 8ue

iniciar sesión como usuario root o el pre%ijo de su comando con VsudoV. #a

distribución Febian por de%ecto de #inu=; por ejemplo; no tiene con%i$urada la

contraseLa de root. s 8ue usted tendrá 8ue utili1ar el

El comando VsudoV introduce el VsuperusuarioV o VrootV. El tDrmino Vra1V

es el nombre para el administrador principal de un sistema V<ni=V; como #inu=.

@ay muc&os comandos 8ue sólo el usuario root puede ejecutar.

 esas& n 6#.3 >&e super user   N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 127/137

o -

rm -r -, \ *

No utilice nunca

estos comandos

cuando se operacomo

superusuarioI

Hip ...

H 9m -r -, .\*

+o

onirtase en superusuario.

passFd6rear o cam!iar una contrase'a asociada con el usuarioidentificado.

162

E l # inu = C ommand # ine

Para obtener más in%ormación sobre el comando VsuV. consulte la entrada de

?iipedia: 

<tilice sólo los privile$ios de root cuando

Eso sera simplemente eliminar los arc&ivos en el directorio actual. S 8ue no

suelen obtener advertencias como usuario root 4e=cepto Dsta5. #a primera cosa

8ue usted sabe sobre su

, es posible 8ue distradamente

Esto eliminará todos los arc&ivos en todo el

Por *ltimo; una palabra de advertencia: si &abitualmente &aces todo como

usuario root; con el tiempo 8ue va a &acer al$o a la ve1 educativo y desastrosa.

Por ejemplo;

 l ent rar en las claves de los sistemas tipo <ni=; el ind icador permanece en

blanco: sin manc&as o asteriscos destacan por los personajes de su contraseLa.No se desanime

N otas:/e le pedirá 8ue introdu1ca y con%irme una nueva contraseLa de root. /uponiendo 8ue usted

puede lle$ar a introducir la misma contraseLa dos veces; a&ora tiene un usuario root y usted

puede emitir el comando:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 128/137

6rear un nue4o archi4o 4ac&o

 H o$!; <nom#re e ar!;i7o> 

tocar >ctuali(ar el tiempo de acceso y modificación de tiempo del archio

con el nom!re Oy fechasS a la hora y fecha actuales. Ci un archio no

existe entonces un nueo archio se crear, con un tama'o de archio

de #.

6rear un nue4o directorio 4ac&o

H '[ir <nom#re el ire!orio> 

mLdir 6rear uno o 4arios directorios en la u!icación actual.

Eliminar un archio

 H 9m <nom#re e ar!;i7o> 

rm7uitar OeliminarS uno o m,s archios en la u!icación actual.

163

E l # inu = C ommand # ine

Para obtener más in%ormación sobre el comando VrmV; consulte la entrada de?iipedia:

 

Para eliminar un arc&ivo; vaya de 8ue la ubicación del

Para saber más acerca de comando VmdirV; consulte la entrada de ?iipedia:

httpBBen.FiLipedia.or%BFiLiBMLdir 

Para crear un nuevo directorio; vaya a donde desea 8ue el directorio sea y escriba:

Para obtener más in%ormación sobre el comando Vtouc&V; consulte la entrada de?iipedia:

 

El Vto8ueV de comandos realidad actuali1a V*ltimo accesoV tiempo de un

arc&ivo a la &ora y %ec&a actuales; pero si dic&o arc&ivo no e=iste ya

continuación; se creará un nuevo arc&ivo

Para crear un nuevo arc&ivo vaco; vaya a donde desea 8ue el arc&ivo sea y escriba:

Por *ltimo; ec&emos un vista1o a la creación y destrucción de arc&ivos ydirectorios; as como tomar 

 

esson 6.4 Cr euntyon$ unnd destr oyyon$ %iles unnd dir ectoryoes N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 129/137

H 9m -r -, <nom#re el ire!orio> 

H 9mir <nom#re el ire!orio> 

onectarse a un sistema o dispositio de presentación

H '[ir \ mn \ ?eAoler

164

E l # inu = C ommand # ine

'ontaje manual re8uiere un Vpunto de montajeV. Eso si$ni%ica un directorio 8ue

se llena con el dispositivo montado cuando se monta. menudo; esto está en el

directorio VB mnt BV en al$*n lu$ar. Por lo $eneral; antes de montar los nuevos

medios; primero debe ase$urarse de 8ue &aya un punto de montaje. /i no la

&ay; entonces debe crear un directorio en el

Este es un comando complejo. #os interruptores; parámetros y destino del

comando de montaje variará de acuerdo con el protocolo del sistema 8ue se

montan. l$unas cosas se Vauto-montajeV. Es por ello 8ue; al conectar una

tarjeta /F en un moderno

El comando VmountV le permite conectar un sistema <ni= para dispositivos

e=ternos. No &ay unidad VCV; como en ?indo9s. #o 8ue sucede en #inu= es

8ue un dispositivo se VmontaV en al$una parte del sistema de arc&ivo. Cuando

se despla1a a ese lu$ar; el

Esto tambiDn eliminará los directorios; pero sólo si

  más se$uro; pero menos potente; la opción es utili1ar el comando

El interruptor V%V indica 8ue la acción está Vobli$adoV - es decir; el pro$rama

eliminará los arc&ivos prote$idos contra escritura sin pre$untar. Esto tambiDn

es peli$roso; as 8ue

#a VrV si$ni%ica VrecursivoV; 8ue - en el caso de un directorio - elimina todo el

directorio y todos sus contenidos; incluyendo los subdirectorios. No estar muy

se$uro de 8ue usted

Este utili1a el comando VrmV se utili1ó anteriormente; pero los interruptores

adicionales decirle 8ue para eliminar el directorio; todo su contenido y tambiDn

cual8uier subdirectorios y

Para eliminar un directorio; vaya a su ubicación y el

emo4e un dyor ector  y  N otas:

rmdir 7uitar OeliminarS uno o m,s directorios en la u!icación actual9 siempre

y cuando estn ac&os.

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 130/137

 mo$n -A sm#,s \\ gr$po e ra#aQoL Are: ,oo142.1%.1.44 \ !asas \

>dem,s del aprendi(a?e

165

E l # inu = C ommand # ine

#os comandos 8ue se presentan a8u son sólo una pe8ueLa selección de todos

los comandos disponibles en el sistema. <sted puede encontrar una lista

completa de los comandos de #inu= en el sitio 9eb de ,UReilly:

httpBBFFF.oreillynet.comBlinuxBcmd

Para obtener más in%ormación sobre el comando VmountV; consulte la entrada de?iipedia:

 

Esto; como &emos aprendido antes; le dice al sistema para montar la unidadcompartida llamada

V&o$aresV en el servidor de ?indo9s en 0+".0)(.0.++; en el árbol de

N otas:>ambiDn debe ase$urarse de 8ue utili1a los interruptores necesarios; parámetros y

directorios. Por ejemplo; desde el ejercicio anterior:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 131/137

E?ecución de una ) remota

 <ire!!ión I el 9 > ss; -l <nom#re e $s$ario en 9 > 

CPrian ,!1%os;i#$n JE H ss; -D 142.1%.1.10 -l #rianTa a$eni!ia e a!ogia O142.1%.1.10 (142.1%.1.10)O no se p$eeesa#le!er. 9 ;$ella e la !la7e es 2%: a: a1: a#: !2: ,,: 50: 44: : e1: 4: %e: ,2: 40: ,#: 40.beg$ro G$e G$ieres !onin$ar la !oneBión (s \ no)c s 7eren!ia: ermanenemene a/aio "142.1%.1.10" (9) a la lisa e

;oss !ono!ios. #rian142.1%.1.10 e !onrase/a:Tin$B rasp#errypi 3.1.4+ F 4 l$n 04 e a#ril 20:50:3% P 2012 arm7%lTos programas in!l$ios !on el sisema e#ian S?M \ Tin$B son so,areli#reLlos Krminos e isri#$!ión eBa!as para !aa programa se es!ri#enen la ar!;i7os ini7i$ales en \ $sr \ s;are \ o! \ * \ !opyrig;.e#ian S?M \ Tin$B 7iene !on PUTM'6?6 ?I?SM? S9?d& en

166

E l # inu = C ommand # ine

En este punto; usted está en marc&a y %uncionando. >odo lo 8ue escribe estásucediendo realmente en

 

<sted debe ver una salida similar a la

_Firección 7P del RP W debe sustituirse por la dirección 7P de su Raspberry Pi; y_nombre de usuario en RP W debe ser reempla1ado con el nombre de usuario de

la %rambuesa

/i está utili1ando un cliente #inu= o 'ac; entra esto en la lnea de

Con el %in de &acer una cone=ión e=itosa; debe tener el puerto "" abierto tanto en

el &ost remoto y el P7 %rambuesa. <sted tambiDn tendrá 8ue con%i$urar un usuario

adecuado

Para conectarse a la Raspberry Pi; se necesita un pro$rama cliente //@. #inu= y 'ac ,/ ya se

&an instalado estos. Para ?indo9s; puede descar$ar Pu>>S

4@ttp:BB999.c&iar.$reenend.or$.uBs$tat&amBputty5. Consulte el manual de

su pro$rama cliente //@ ele$ido para obtener más in%ormación sobre cómo instalar  

#a instalación por de%ecto de #inu= en su Raspberry Pi debe tener Vdemonio

//@V corriendo. Esto si$ni%ica 8ue su Raspberry Pi está escuc&ando en el

puerto "" para un e8uipo remoto pidiendo para &acer una cone=ión a la misma.

En su caso; esto probablemente si$ni%icará

ApenCC; es una aplicación 8ue le permite acceder de %orma se$ura los

sistemas #inu= de %orma remota sobre la red. Puede utili1ar ,pen//@

simplemente para compartir arc&ivos de %orma se$ura. Pero tambiDn le permite

iniciar sesión en un sistema y controlarlo travDs de la red; incluso

 esson 6.5 Remote unccess to t&e Runspberr y Pyo N otas:

166166

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 132/137

ss; -D <ire!!ión I el 9 > -l <nom#re e $s$ario en 9 > 

*7u es un seridor -

16

E l # inu = C ommand # ine

Esto si$ni%ica 8ue la inter%a1 $rá%ica de usuario y el servidor de K están

separados. Esto tambiDn si$ni%ica 8ue puede ejecutar un pro$rama en el

Raspberry Pi y tienen la salida $rá%ica aparece en la pantalla del servidor K en

otro lu$ar de la red. Esto elimina una $ran cantidad de demanda procesador de

la rambuesa Pi. S tambiDn si$ni%ica 8ue usted puede conectar su Raspberry

Pi en su red; en lu$ar de darle su propio

<n ordenador #inu= 4u otro sistema <ni=5 8ue se ejecuta una inter%a1 $rá%ica de

usuario es casi se$uro 8ue ejecutan VKV; y tambiDn un servidor K. El K enva

comandos al servidor K sobre

El si$uiente comando utili1a el interruptor K para decirle //@ para enviar el Kmanda

 

4@ttp:BB999.cy$9in.com5 - /e puede descar$ar tanto de %orma $ratuita. Para el 'ac ,/; vaya

a V/&ell Nueva cone=ión remotaV y ele$ir la opción V/ecure /&ell 4//@5V.

Cy$9ino4@ttp:BB999.strai$&trunnin$.comBKmin$Notes5Kmin$pr 

Para conectarse de %orma remota a su Raspberry Pi y utili1ar su inter%a1 $rá%ica de usuario 8uetendrá 8ue

 

unnyon% un r emote G$ /A N otas:

16

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 133/137

 #rian rasp#errypi: JH

 'iori y C1E 53

16

E l # inu = C ommand # ine

Midori se e?ecuta enremoto

Gnome 3 $) utili(ando

  veces obtendrá errores 6>G; 8ue reportan de%iciencias biblioteca en el &ost

4RP75 o servidor 4el servidor K5; pero el proceso es bastante robusto.

Recibimos la respuesta VX0Y 2!!3V; 8ue es el n*mero de proceso del 'idori

pro$rama a&ora corriendo.

>enemos 8ue incluir el smbolo VV despuDs del nombre del pro$rama; por8ue este le

dice al servidor para lan1arlo como un proceso independiente; lo 8ue si$ni%ica 8ue

conse$uimos nuestro comando

Zamos a ver lo 8ue pasa cuando trato de ejecutar un nave$ador 9eb de %orma

remota. El nave$ador 9eb en el Raspberry Pi se llama 'idori; as 8ue esto es lo

8ue necesitamos para entrar 

 Apen un r emote !r ayser   N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 134/137

*+ónde puedo o!tener ayuda9 ideas e inspiración-

16J

? sombrero

0Fescar$o de responsabilidad: si un recurso se menciona a8u; no 8uiere decir 8ue sea el

mejor en su clase. simismo; si no se menciona un recurso; 8ue no 8uiere decir 8ue noes bueno. No tenemos nin$una a$enda; aparte de &acer 8ue la $ente en la in%ormática y

no tenemos nin$una a%iliación con cual8uiera de los sitios o las personas mencionadas.

 

El mejor recurso para ayudar a 8ue contin*e su viaje computin$ es la 9eb. Es

inmensa; llena de personas con cerebros $randes; llenos de conocimientos

diversos y arcano; ya di%erencia de este manual 8ue se actuali1a con

%recuencia. Para a&orrar tiempo solo nos bamos a robar una enorme lista de

enlaces desde al$*n lu$ar; pe$arlos a8u y &acernos escasos. Pero nuestros

editores nos dijeron apa$ado. @e a8u; pues son nuestros vnculos con un

  medida 8ue su comprensión de la Raspberry Pi crece y mejorar sus

&abilidades de pro$ramación; usted encontrará 8ue sus proyectos se vuelven

más y más compleja; y 8ue el Raspberry Pi se convierte en una &erramienta

muy *til para la e=perimentación y la creatividad. 'anten$a práctica - una de

las cosas bellas acerca de la pro$ramación es 8ue se puede tener un arc&ivo

de te=to en blanco y crear al$o 8ue antes sólo e=ista en su cabe1a.

S a&ora 8uDO Realmente no &ay manera correcta o incorrecta para continuar su

e=ploración de la Raspberry Pi. >odo depende de lo 8ue te interesa. Podra ser 

tan simple como conse$uir mejor en su len$uaje de pro$ramación ele$ido; o la

mejora de sus &abilidades de la lnea de comandos de #inu=. #os proyectos

pe8ueLos; como por ejemplo la creación de un servidor de medios en casa o

escribiendo un jue$o simple; son tambiDn una buena manera de empe1ar. En

al$*n momento; la mayora de la $ente 8uiere tener un ir en la inter%a1 del

Raspberry Pi con el mundo e=terior 4este es uno de sus puntos %uertes5;utili1ando una tabla de ruptura como el 6ertboard; o &aciendo su propia inter%a1.

 

Esperamos 8ue esta breve introducción 8ue &a demostrado la utilidad de la

in%ormática; emocionante y divertido es como un &obby o una carrera. /i; en cual8uier 

momento mientras se si$ue esta $ua; sonrió para s mismo o $ritaste abajo; VZenid y

ved lo 8ue &e &ec&oIV; Entonces &emos &ec&o nuestro trabajo - esto es; despuDs de

todo; Mpor 8uD la Raspberry Pi se &i1o. /i no ir más lejos con su viaje Raspberry Pi;

entonces por lo menos saber lo 8ue todo el alboroto y 8ue no es tan di%cil como la

$ente piensa. Es muy probable; sin embar$o; 8ue usted &a co$ido el $usanillo de

computación y 8uieres

/i usted &a trabajado a travDs de este manual usted tiene una buena

comprensión de los conceptos básicos de la in%ormática y usted será capa1 de

escribir un pro$rama in%ormático para resolver problemas sencillos. Esta pena

repetirlo: se puede escribir una serie de instrucciones para &acer 8ue un e8uipo

&a$a al$o. Esta simple declaración abarca un conjunto de poderosas &abilidades

de pensamiento 8ue incluyen el ra1onamiento ló$ico; la resolución de problemas;

diseLo de al$oritmos y muc&o más. partir de a&ora; usted ya no es sólo un

 

N otas:

7ue es lo

16J

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 135/137

ecursos %enerales y ayuda

Pro%ramación

1#

? sombrero

Por lo tanto; ele$ir un idioma y empe1ar. menos 8ue ten$a ra1ones para no&acerlo; lue$o continuar con Pyt&on parece sensato. Con el tiempo; aprenderá

otros idiomas

Xctuali1ación: el autor de esta declaración &a tenido desde 8ue esconderse;

despuDs de 8ue %ue atacado en su supermercado local por una &orda de

pro$ramadores enojados; 8ue arrojó

a primera len%ua 0ue se aprende no es importante. Eli%e uno y o!tener la

Cada idioma tiene sus ventajas; desventajas y usos particulares; y todos los

pro$ramadores tienen sus %avoritos. >odo puede ser un poco; 8ue no es tan *til

si no sabes por dónde empe1ar Ves mejor 8ue tu papá 'i papáV. En *ltima

instancia; son los conceptos computacionales subyacentes 8ue se aprende

durante la pro$ramación 8ue realmente

#a primera pre$unta 8ue los nuevos en la pro$ramación se pre$untan es:

VMCuál es el mejor len$uaje para aprenderOV En pocas palabras - no &ay uno.

/ólo discutir len$uajes de pro$ramación llenara otro volumen 4y te &ara $arra

%renDticamente a su

>al ve1 lo más *til 8ue se puede &acer es unirse a al$unos %oros 4no; no los %oros5

y &ablar con la $ente. Participar; &acer pre$untas; ayudar a los demás. Por

encima de todo mantener en la in%ormática y divertirseI

El 9ii Raspberry Pi en e#inu= 4@ttp:BBelinu=.or$BR-PiW @u!5 >ambiDn es una $ran %uente de

in%ormación y se actuali1a constantemente. Es un 9ii; as 8ue siDntete libre de aLadir a

y mejorarlo como su conocimiento crece y ampla su e=perienciaI

El primer lu$ar para buscar es el sitio 9eb o%icial Raspberry Pi y %oro 4@ttp:

BBraspberrypi.or%5. @ay muc&o 8ue &acer en los %oros y &ay sub%oros para temas espec%icos como 6P7,;

pro$ramación; sistemas operativos y la educación. #os miembros son un $rupo muy ami$able 8ue en conjunto

tienen una $ran cantidad de e=periencia y conocimientos. Ellos estarán encantados de responder a cual8uier 

pre$unta; le ayudará con los problemas y apuntar en la dirección correcta. /i usted tiene al$una pre$unta

sobre su rambuesa Pi o está tratando de conse$uir al$o para trabajar lue$o

este es probablemente el mejor lu$ar para empe1ar.

/e concentra en la pro$ramación por8ue el Raspberry Pi se &i1o para %omentar

una nueva $eneración de pro$ramadores. /i bien &ay muc&o más para

cómputo de la pro$ramación; es un muy buen lu$ar para empe1ar.

N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 136/137

Python tutoriales en l&nea9 recursos y referencias

os cursos en l&nea

11

? sombrero

edx O;ttp BBedx.or%S

<na colaboración de '7>; @arvard y Aereley; ed= o%rece actualmente dos cursos

introductorios de computación: C/2= 7ntroducción a la 7n%ormática 7 4@arvard5 y

).= 7ntroducción a la Ciencia y Pro$ramación 4'7>5 8ue comen1ará en

,ctubre de "0".

oursera O;ttp BBcoursera.or%S

Coursera o%rece 0" cursos en 0) cate$oras. Ciencias de la Computación 00

es el curso de computación para principiantes obvio; pero no se &a iniciado apartir de octubre de "0". <na de las ventajas es 8ue tiene una opción de auto-

estudio en el 8ue se procede a su propio ritmo 4pero no obtiene un certi%icado5.

$dacity O;ttpBBudacity.comS

En la 7ntroducción a la 7n%ormática 4C/005 curso no necesita nin$una

e=periencia in%ormática o pro$ramación previa. >e lleva de la nada a la

construcción de su propio motor de b*s8ueda 4aun8ue no creemos 8ue 6oo$le

En la actualidad; los principales

#os cursos suelen ser entre$ados a travDs de video con%erencias y %olletos; con

ejercicios 8ue acompaLan. 'uc&os tienen %ec&as de inicio y %inal de%inidos; con

pla1os de tareas y e=ámenes %ormales; aun8ue al$unos - como el curso

<dacity C/00

- &ora está VabiertaV y usted puede comen1ar 4y terminar5 en cual8uier momento.

Estos cursos son ideales para las personas 8ue 8uieren &acer al$unas cosas más

 

Cursos $ratuitos en lnea por las principales universidades &an despe$ado

recientemente; y enseLar a muc&os temas relacionados con la computación; como

la pro$ramación; la electrónica; la inteli$encia arti%icial y la ló$ica. #os cursos se

asentaron en la universidad B nivel universitario; pero el

El sitio o%icial de Pyt&on mantiene una lista enorme de recursos de calidad;tanto para principiantes

 

El '6P7; la revista de los libres Raspberry Pi <suarios 4@ttp:BBt&ema$pi.com5 >iene

artculos y tutoriales e=celentes para principiantes.

#iam raser &a &ec&o una serie de tutoriales Raspberry Pi-espec%icas deSou>ube; 8ue

 

unspser rr  y Pyospecyofic r ECAur ces  N otas:

8/21/2019 Raspberry Pi Education Manual.en.Es

http://slidepdf.com/reader/full/raspberry-pi-education-manualenes 137/137

M,s all, de aprendi(a?e en l&nea

'ira códi$o de otros pro$ramadores y tratar de entenderlo. Cambiar para su

propio propósito o tratar de mejorarlo. /i se &a roto; tratar de averi$uar por 8uD.No se olvide 8ue la pro$ramación a este nivel debe ser divertido - 8ue se

e=tiende a s mismo es una cosa; pero no lo entiendo tan %rustrado 8ue usted da

#a práctica y ejercicios en lnea son *tiles; pero la mejor motivación para

aprender a pro$ramar es &acer realidad al$o. Esto si$ni%ica empe1ar un

proyecto con un %in espec%ico. ,tra %orma de mejorar es trabajar en proyectos

con otras personas. ver si &ay un $rupo local de usuarios Raspberry Pi o

#inu= cerca de usted. /i usted está en

'enos desa%os en lnea %ormales pueden ser un $ran motivador. Estos e=isten

para ambos len$uajes espec%icos; como el adictivo Pyt&on Fesa%o

4@ttp:BB999.pyt&onc&allen$e.com5; S para la solución de problemas espec%icos; tales como el Proyecto

Euler basada matemáticas- 4@ttp:BBprojecteuler.net5. #a lista completa se puede encontrar 

en los %oros Raspberry Pi en httpBB%oo.%lBne?4.

'ás %ormas in%ormales de aprender a pro$ramar en lnea incluyen Codin$bat

4@ttp:BBcodin$bat.com5 S Codecademy  4@ttp:BBcodecademy.com5. Codin$bat es una serie de retos de

pro$ramación 8ue ayudan a construir %ortale1as en áreas espec%icas; como el manejo de cadenas y la ló$ica.

#os pro%esores pueden se$uir el pro$reso de los estudiantes; y las &erramientas incluyen un $rá%ico *til 8ue

re$istra los intentos incorrectos y parcialmente correctas en una solución 4esto &ace 8ue sea di%cil de

en$aLarI5. Cuenta con ejercicios para ava y Pyt&on. Codecademy es un $ran lu$ar para 8ue cual8uiera

pueda empe1ar a pro$ramar desde cero. Es %ácil de usar y &ace un se$uimiento de su pro$reso. EnseLa

avascript sino un Pyt&on

Recientemente se &a aLadido

 Anlyone pr unctyoce unnd tutor younls  N otas: