09.05.2013 Views

Programación en Pascal

Programación en Pascal

Programación en Pascal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

s<strong>en</strong>t<strong>en</strong>cia<br />

condicional<br />

{y=m1x+c1; -> x=(c1-c2)/(m2-m1)<br />

y=m2x+c2; -> y=m1x+c1<br />

}<br />

program Intersec_Rectas;<br />

var x,y,m1,m2,c1,c2:real;<br />

begin<br />

writeln ('Datos de la primera recta');<br />

write ('m1= '); readln(m1);<br />

write ('c1= '); readln(c1);<br />

writeln ('Datos de la segunda recta');<br />

write ('m2= '); readln(m2);<br />

write ('c2= '); readln(c2);<br />

lectura de<br />

datos<br />

if abs(m2-m1) < 0.00001 (*rectas paralelas*)<br />

th<strong>en</strong> writeln ('Rectas Paralelas, no intersectan')<br />

else begin<br />

x:=(c1-c2)/(m2-m1);<br />

y:=m1*x+c1;<br />

writeln ('Punto de intersección: (',x:4:2,',',y:4:2,')');<br />

<strong>en</strong>d;<br />

readln;<br />

<strong>en</strong>d.<br />

com<strong>en</strong>tarios<br />

declaración de<br />

variables<br />

cálculos y<br />

salida<br />

formateada<br />

Bucles<br />

En muchas ocasiones los programas repit<strong>en</strong> una serie de s<strong>en</strong>t<strong>en</strong>cias un número determinado o<br />

indeterminado de veces. Por ejemplo si deseamos leer por teclado los n vértices de un<br />

polígono, bastaría con escribir una s<strong>en</strong>t<strong>en</strong>cia de lectura g<strong>en</strong>érica, (por ejemplo que lea el<br />

vértice número i) y repetirla un total de n veces. Si recordamos, <strong>en</strong> seudocódigo exist<strong>en</strong> los<br />

bucles PARA-REPETIR, MIENTRAS y REPETIR-HASTA. Veremos sus modificaciones a<br />

<strong>Pascal</strong>.<br />

S<strong>en</strong>t<strong>en</strong>cia while (Mi<strong>en</strong>tras)<br />

• Sintaxis:<br />

while expresión_lógica do<br />

s<strong>en</strong>t<strong>en</strong>cia1;<br />

• s<strong>en</strong>t<strong>en</strong>cia1 puese ser una s<strong>en</strong>t<strong>en</strong>cia compuesta, <strong>en</strong> cuyo caso se escribiría:<br />

while expresión_lógica do<br />

begin<br />

conjunto se s<strong>en</strong>t<strong>en</strong>cias;<br />

<strong>en</strong>d;<br />

S<strong>en</strong>t<strong>en</strong>cia for (Para-Repetir)<br />

• Utilidad: escribir m<strong>en</strong>os <strong>en</strong> ciclos controlados por una variable contador.<br />

• Es m<strong>en</strong>os g<strong>en</strong>érica que while, exist<strong>en</strong> ciclos, que por su condición de iteración, pued<strong>en</strong><br />

expresarse mediante una s<strong>en</strong>t<strong>en</strong>cia while, pero no mediante una for.<br />

• Sintaxis:<br />

for vcb := valor_inicial to/downto valor_final do<br />

s<strong>en</strong>t<strong>en</strong>cia1;<br />

• Características:<br />

1) La variable de control del bucle (vcb) no debe cambiarse d<strong>en</strong>tro del bucle. Sus valores<br />

pued<strong>en</strong> utilizarse pero no deb<strong>en</strong> cambiarse. Esto es, la vcb puede aparecer <strong>en</strong> una<br />

expresión pero no debería aparecer <strong>en</strong> la parte izquierda de una s<strong>en</strong>t<strong>en</strong>cia de<br />

asignación.<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!