[ Foro de Pascal ]
Buenas, yo programo nivel intermedio en c++ y este año he llevado pascal y me cuesta un poco adaptarme porque no entiendo ciertos cambios, y he hecho este ejercicio en c++ que necesito trasladarlo en Pascal, alguien podría hacerlo por favor? quiero estudiar el código también porque no me sale, gracias de antemano, dejo el código:
#include <iostream>
using namespace std;
int main(){
int anchura;
cout<<"Ingresar el ancho del rectangulo (como minimo 2): ";
cin>>anchura;
int altura;
cout<<"Ingresar la altura del rectangulo (como minimo 2): ";
cin>>altura;
if((anchura < 2) || (altura < 2)){
cout<<"Error, datos incorrectos"<<endl;
} else {
for(int i = 1; i <= anchura; i++){
cout<<"*";
}
for(int i = 2; i < altura; i++){
cout<<"\n*";
for(int espacios = 2; espacios < anchura; espacios++){
cout<<" ";
}
cout<<"*";
}
cout<<""<<endl;
for(int i = 1; i <= anchura; i++){
cout<<"*";
}
}
}
la sentencia es: Realiza un programa que pinte por pantalla un rectángulo hueco hecho con asteriscos. Se debe pedir al usuario la anchura y la altura. Hay que comprobar que tanto la anchura como la altura sean mayores o iguales que 2, en caso contrario se debe mostrar un mensaje de error.
Deberías colocar lo que lleves de código en Pascal hecho, pero, no importa, aquí te lo dejo, decidí agregarle un espacio en blanco después de cada asterisco para que realmente luciera como un rectángulo en la pantalla. Acá te dejo el programa:
program Rectangulo;
uses CRT;
var
anchura, altura, i, j: integer;
BEGIN
Write('Ingresar el ancho del rectangulo (como minimo 2): ');
Readln(anchura);
Write('Ingresar el la altura del rectangulo (como minimo 2): ');
Readln(altura);
If (anchura<2) or (altura<2) Then
Writeln('Error, datos incorrectos')
Else
Begin
ClrScr;
For i:= 1 to anchura Do
Write('* '); (* Imprime asterisco y espacio en blanco *)
Writeln;
For i:= 2 to (altura-1) Do
Begin
Write('* ');
For j:= 2 to (anchura-1) Do
Write(' '); (* Imprime dos espacios en blanco *)
Writeln('*');
End;
For i:=1 to anchura Do
Write('* ');
Writeln;
End;
Readln;
END.
Espero haberte ayudado.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)