28 - Imagine que exista um comando chamado "posiciona (x,y)" em alguma linguagem de programação. Onde o X representaria a coluna que algo Deve Ser Impresso na tela, e Y a Linha que algo deve ser impresso na tela. Desta forma, o algoritmo abaixo:
início
posiciona (10,2)
escrever ‘Olá’
fim
Escreveria a palavra ‘Olá’ na segunda linha da tela, a partir da 10 coluna. Baseado nesta situação, escreva um algoritmo, utilizando este comando 'posiciona' citado, que desenhe na tela um retângulo de 60 colunas (a partir da coluna 1 da tela) e 10 linhas (a partir da linha 1 da tela), sendo que a borda deste retângulo será formada pelo caractere ‘+’. Lembre que somente a primeira e última linha deverão ter todas as colunas preenchidas com o caractere ‘+’. As demais linhas (entre 2 e 9) só terão as colunas 1 e 60 preenchidas. A aparência deste retângulo deve ser parecida com a figura abaixo:
+++++++++++++++++++++++++++++++++++++++++
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+++++++++++++++++++++++++++++++++++++++++
==============================================================
Algoritmo "Quadrado_ola"
// Disciplina : [Linguagem e Lógica de Programação]
// Autor(a) : Daniel Alves Barbosa
// Data atual : 12/06/2017
Var
// Seção de Declarações das variáveis
coluna, linha, contador, bug3: inteiro
mais, bug2: caractere
posicionacol, posicionaln, posicionacol2, posicionacol3: inteiro
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
mais := "+"
repita
escreval ("Digite a coluna entre 2 de 59")
leia (posicionacol)
ate ((posicionacol>=2) e (posicionacol
repita
escreval ("Digite a linha entre 2 e 9")
leia (posicionaln)
ate ((posicionaln>=2) e (posicionaln
//bug do 2
se(posicionacol=2) entao
posicionacol2:=posicionacol+1
bug3:=1
bug2:=""
senao
posicionacol2:=posicionacol-1
bug3:=2
bug2:=" "
fimse
//bug do 2
posicionacol3:=posicionacol+3
para linha de 1 ate 10 passo 1 faca
//se b determinei a 1ª e 10ª linha com mais
se ((linha=1) ou (linha=10)) entao
para coluna de 1 ate 60 passo 1 faca
escreva(mais)
se (coluna = 60) entao
escreval(" ")
fimse
fimpara
senao
//Determinei a linha que vai receber o ola
se (linha=posicionaln) entao
escreva (mais)
para contador de bug3 ate posicionacol2 faca
escreva (bug2)
se (contador = posicionacol2) entao
escreva ("Ola")
para contador de posicionacol3 ate 59 faca
escreva (" ")
se (contador=59) entao
escreva (mais)
fimse
fimpara
fimse
fimpara
escreval (" ")
fimse
//Linhas em branco
se ((linha1) e (linha10) e (linha posicionaln)) entao
para contador de 1 ate 60 faca
se (contador=1) ou (contador=60) entao
escreva (mais)
senao
escreva (" ")
fimse
fimpara
escreval (" ")
fimse
//fim ultimo se
fimse
fimpara
Fimalgoritmo
início
posiciona (10,2)
escrever ‘Olá’
fim
Escreveria a palavra ‘Olá’ na segunda linha da tela, a partir da 10 coluna. Baseado nesta situação, escreva um algoritmo, utilizando este comando 'posiciona' citado, que desenhe na tela um retângulo de 60 colunas (a partir da coluna 1 da tela) e 10 linhas (a partir da linha 1 da tela), sendo que a borda deste retângulo será formada pelo caractere ‘+’. Lembre que somente a primeira e última linha deverão ter todas as colunas preenchidas com o caractere ‘+’. As demais linhas (entre 2 e 9) só terão as colunas 1 e 60 preenchidas. A aparência deste retângulo deve ser parecida com a figura abaixo:
+++++++++++++++++++++++++++++++++++++++++
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+++++++++++++++++++++++++++++++++++++++++
==============================================================
Algoritmo "Quadrado_ola"
// Disciplina : [Linguagem e Lógica de Programação]
// Autor(a) : Daniel Alves Barbosa
// Data atual : 12/06/2017
Var
// Seção de Declarações das variáveis
coluna, linha, contador, bug3: inteiro
mais, bug2: caractere
posicionacol, posicionaln, posicionacol2, posicionacol3: inteiro
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
mais := "+"
repita
escreval ("Digite a coluna entre 2 de 59")
leia (posicionacol)
ate ((posicionacol>=2) e (posicionacol
repita
escreval ("Digite a linha entre 2 e 9")
leia (posicionaln)
ate ((posicionaln>=2) e (posicionaln
//bug do 2
se(posicionacol=2) entao
posicionacol2:=posicionacol+1
bug3:=1
bug2:=""
senao
posicionacol2:=posicionacol-1
bug3:=2
bug2:=" "
fimse
//bug do 2
posicionacol3:=posicionacol+3
para linha de 1 ate 10 passo 1 faca
//se b determinei a 1ª e 10ª linha com mais
se ((linha=1) ou (linha=10)) entao
para coluna de 1 ate 60 passo 1 faca
escreva(mais)
se (coluna = 60) entao
escreval(" ")
fimse
fimpara
senao
//Determinei a linha que vai receber o ola
se (linha=posicionaln) entao
escreva (mais)
para contador de bug3 ate posicionacol2 faca
escreva (bug2)
se (contador = posicionacol2) entao
escreva ("Ola")
para contador de posicionacol3 ate 59 faca
escreva (" ")
se (contador=59) entao
escreva (mais)
fimse
fimpara
fimse
fimpara
escreval (" ")
fimse
//Linhas em branco
se ((linha1) e (linha10) e (linha posicionaln)) entao
para contador de 1 ate 60 faca
se (contador=1) ou (contador=60) entao
escreva (mais)
senao
escreva (" ")
fimse
fimpara
escreval (" ")
fimse
//fim ultimo se
fimse
fimpara
Fimalgoritmo