Meu nome (como já deu para perceber) é Silas, tenho 20 anos (e mais 8 meses até agora) e criei este blog porque minha professora de programação de computadores na UFMG passou como trabalho. Iniciei meu estudo em Engenharia de Minas no 2º semestre de 2010 (calouro!) e pretendo formar em 2015. Nasci em Pedro Leopoldo-MG, mas cresci em uma pequena grande cidade chamada Barão de Cocais (MG também)... Não sei o que postar neste blog (na verdade nem sei se vou mante-lo), mas quando souber eu posto!
quarta-feira, 27 de outubro de 2010
Cobra Norato
Exercício Estruturado 2
Este desafio não foi muito complexo. Tivemos que, através de procedimentos, desenhar figuras e posicioná-las uma ao lado da outra. Também tivemos que calcular o tempo que uma borboleta gasta para realizar um certo percurso. Não foi de alta complexidade.
Exercício Estruturado 1
No exercício estruturado 1 tivemos que criar programas simples como resolução de problemas, como achar múltiplos de 3 e de 5, dos dois ao mesmo tempo e de nenhum deles, descobrir se três valores poderiam ou não representar um triângulo (a < b + c), descobrir o encontra o maior e o menor número de um conjunto, entre outros. Este exercício ajudou a fixar a matéria e descobrir diferentes formas de resolver um mesmo problema.
segunda-feira, 25 de outubro de 2010
Resumindo GAE5
Este guia foi o mais complexo de todos. Tive muita dificuldade para resolvê-lo, já que envolvia uma linguagem de altíssi,o mível. O objetivo era criar desenhar duas bandeiras do Brasil, uma com as cores originais e outra com cores aleatóreas.
Programa Fonte:
program bandeirasilas;
var opcaomenu:integer; {para armazenar a opcao de bandeira escolhida}
vermelho:integer; {para armazenar um valor aleatório da cor vermelho}
verde:integer; {pra armazenar o valor aleatorio da cor verde}
azul:integer; {para armazenar o valor aleatorio da cor azul}
procedure retangulo(lado1 : real; lado2 : real);
{procedimento para desenhar um retangulo}
var i:integer;
begin
for i:=1 to 2 do
begin
pfrente(lado1);
pdireita(90);
pfrente(lado2);
pdireita(90);
end;
end;
procedure angulolosango(dmaior : real;dmenor : real);
{procedimento para calcular o valor dos angulos do losango}
var h : real; {hipotenusa(h) do triangulo retangulo (entre as diagonais do losango)}
x : real; {variável par o seno do angulo}
angulo : real; {angulo de abertura do losango}
begin
h:=sqrt(sqr(dmaior) + sqr(dmenor));
x:=(dmenor/h);
Angulo:=arcsin(x);
end;
procedure losango; {desenha um losango}
var i:integer;
begin
angulolosango(173.20,100);
pesquerda(30);
pfrente(200);
pdireita(60);
pfrente(200);
pdireita(120);
pfrente(200);
pdireita(60);
pfrente(200);
pdireita(150);
end;{losango}
procedure circunferencia(raio:real); {procedimento para desenhar uma circunferencia}
var i:integer;
begin
for i:= 1 to 360 do
begin
pfrente(0.017453277*raio);
pdireita(1);
end;
end;{Circunferencia}
procedure Estrelas; {procedimento para desenhar uma estrela}
var i:integer;
begin
for i:=1 to 5 do
begin
pesquerda(360/5);
pfrente(8);
pdireita(720/5);
pfrente(8);
end;
end;
{****PROGRAMA PRINCIPAL****}
begin
repeat {Usado para definir qual bandeira o programa ira desenhar}
write('Digite 1 para desenhar a bandeira aleatória ou 2 para a bandeira original');
readln(opcaomenu);{opcao que sera escolhida(1 ou 2)}
until(opcaomenu=1) or (opcaomenu=2);{so poderao ser escolhidas as opcoes 1 e 2}
clrscr;
ul;
retangulo(300,446);{retangulo}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(0,158,0);
end;
pdireita(45);
pfrente(10);
pinte;
pesquerda(45);
ptras(10);
pfrente(150);
pdireita(90);
pfrente(50);
ul;
losango; {losango}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(255,255,0);
end;
pfrente(30);
pinte;
ptras(30);
pfrente(112);
pesquerda(90);
ul;
circunferencia(65); {Circunferencia}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(0,0,255);
end;
pdireita(90);
pfrente(5);
pinte;
pesquerda(90);
ptras(5);
pdireita(90);
pfrente(35);
ul;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorlapis(vermelho,verde,azul);
end
else begin
mudecorlapis(255,255,255);
end;
estrelas; {Estrelas}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(255,255,255);
end;
pdireita(90);
pfrente(3);
pinte;
ptras(3);
pfrente(25);
pesquerda(90);
pfrente(25);
pesquerda(90);
pfrente(30);
ul;
estrelas; {Estrelas}
un;
pdireita(90);
pfrente(3);
pinte;
pesquerda(90);
ptras(3);
dr;
end.
Programa Fonte:
program bandeirasilas;
var opcaomenu:integer; {para armazenar a opcao de bandeira escolhida}
vermelho:integer; {para armazenar um valor aleatório da cor vermelho}
verde:integer; {pra armazenar o valor aleatorio da cor verde}
azul:integer; {para armazenar o valor aleatorio da cor azul}
procedure retangulo(lado1 : real; lado2 : real);
{procedimento para desenhar um retangulo}
var i:integer;
begin
for i:=1 to 2 do
begin
pfrente(lado1);
pdireita(90);
pfrente(lado2);
pdireita(90);
end;
end;
procedure angulolosango(dmaior : real;dmenor : real);
{procedimento para calcular o valor dos angulos do losango}
var h : real; {hipotenusa(h) do triangulo retangulo (entre as diagonais do losango)}
x : real; {variável par o seno do angulo}
angulo : real; {angulo de abertura do losango}
begin
h:=sqrt(sqr(dmaior) + sqr(dmenor));
x:=(dmenor/h);
Angulo:=arcsin(x);
end;
procedure losango; {desenha um losango}
var i:integer;
begin
angulolosango(173.20,100);
pesquerda(30);
pfrente(200);
pdireita(60);
pfrente(200);
pdireita(120);
pfrente(200);
pdireita(60);
pfrente(200);
pdireita(150);
end;{losango}
procedure circunferencia(raio:real); {procedimento para desenhar uma circunferencia}
var i:integer;
begin
for i:= 1 to 360 do
begin
pfrente(0.017453277*raio);
pdireita(1);
end;
end;{Circunferencia}
procedure Estrelas; {procedimento para desenhar uma estrela}
var i:integer;
begin
for i:=1 to 5 do
begin
pesquerda(360/5);
pfrente(8);
pdireita(720/5);
pfrente(8);
end;
end;
{****PROGRAMA PRINCIPAL****}
begin
repeat {Usado para definir qual bandeira o programa ira desenhar}
write('Digite 1 para desenhar a bandeira aleatória ou 2 para a bandeira original');
readln(opcaomenu);{opcao que sera escolhida(1 ou 2)}
until(opcaomenu=1) or (opcaomenu=2);{so poderao ser escolhidas as opcoes 1 e 2}
clrscr;
ul;
retangulo(300,446);{retangulo}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(0,158,0);
end;
pdireita(45);
pfrente(10);
pinte;
pesquerda(45);
ptras(10);
pfrente(150);
pdireita(90);
pfrente(50);
ul;
losango; {losango}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(255,255,0);
end;
pfrente(30);
pinte;
ptras(30);
pfrente(112);
pesquerda(90);
ul;
circunferencia(65); {Circunferencia}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(0,0,255);
end;
pdireita(90);
pfrente(5);
pinte;
pesquerda(90);
ptras(5);
pdireita(90);
pfrente(35);
ul;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorlapis(vermelho,verde,azul);
end
else begin
mudecorlapis(255,255,255);
end;
estrelas; {Estrelas}
un;
if opcaomenu=1
then begin
vermelho:=random(255);
verde:=random(255);
azul:=random(255);
mudecorpreenche(vermelho,verde,azul);
end
else begin
mudecorpreenche(255,255,255);
end;
pdireita(90);
pfrente(3);
pinte;
ptras(3);
pfrente(25);
pesquerda(90);
pfrente(25);
pesquerda(90);
pfrente(30);
ul;
estrelas; {Estrelas}
un;
pdireita(90);
pfrente(3);
pinte;
pesquerda(90);
ptras(3);
dr;
end.
Resumindo GAE4
Este guia foi fácil, pois não envolvia uma linguagem de nível tão alto como os outros.
Programa Fonte:
program silasviveirostoledo;
var x:real;
a:integer;
b:integer;
begin
writeln('Escreva o valor de a');
readln(a);
writeln('Escreva o valor de b');
readln(b);
while a<>b do
begin
if a>b
then begin
a:=(a-b);
end
else begin
b:=(b-a);
end;
end;
x:=a;
writeln('x é igual a:',x);
end.
Programa Fonte:
program silasviveirostoledo;
var x:real;
a:integer;
b:integer;
begin
writeln('Escreva o valor de a');
readln(a);
writeln('Escreva o valor de b');
readln(b);
while a<>b do
begin
if a>b
then begin
a:=(a-b);
end
else begin
b:=(b-a);
end;
end;
x:=a;
writeln('x é igual a:',x);
end.
Resumindo GAE3
Este guia de auto estudo ja apresentou uma complexidade maior, já que tivemos que desenvolver um programa em PascaL para calcular a variação da velocidade de um avião e seu deslocamento em um intervalo de tempo pré-determinado. Para isso, é necessário utilizar uma linguagem de programação de alto nível. Começamos aqui a utilização do comando "for".
Programa Fonte:
program aviaosilasviveirostoledo;
var velocidade,i,x,k,tempo,tempof:integer;
velocidadefinal,aceleracao,velocidademach,deslocamento:real;
begin
writeln('informe o indice de variação do tempo em s');
readln(tempo);
k:=tempo;
writeln('informe a velocidade para o calculo da aceleraçao em m/s');
readln(velocidade);
writeln('informe o tempo final para a aceleracao em s');
readln(tempof);
x:=tempof div tempo;
aceleracao:= velocidade div tempo;
writeln('a sua aceleracao e ',aceleracao);
write('tempodecorrido ');
write('velocidade final ');
write('velocidade mach ');
writeln('deslocamento ');
for i:=1 to x do begin
write(tempo);
velocidadefinal:= aceleracao * tempo * 3.6;
velocidademach:= velocidadefinal/1224.0;
deslocamento:=(velocidadefinal*(tempo/3600.0))/2;
tempo:=tempo + k;
write(velocidadefinal,' ');
write(velocidademach,' ');
writeln(deslocamento);
end;
end.
Programa Fonte:
program aviaosilasviveirostoledo;
var velocidade,i,x,k,tempo,tempof:integer;
velocidadefinal,aceleracao,velocidademach,deslocamento:real;
begin
writeln('informe o indice de variação do tempo em s');
readln(tempo);
k:=tempo;
writeln('informe a velocidade para o calculo da aceleraçao em m/s');
readln(velocidade);
writeln('informe o tempo final para a aceleracao em s');
readln(tempof);
x:=tempof div tempo;
aceleracao:= velocidade div tempo;
writeln('a sua aceleracao e ',aceleracao);
write('tempodecorrido ');
write('velocidade final ');
write('velocidade mach ');
writeln('deslocamento ');
for i:=1 to x do begin
write(tempo);
velocidadefinal:= aceleracao * tempo * 3.6;
velocidademach:= velocidadefinal/1224.0;
deslocamento:=(velocidadefinal*(tempo/3600.0))/2;
tempo:=tempo + k;
write(velocidadefinal,' ');
write(velocidademach,' ');
writeln(deslocamento);
end;
end.
Resumindo GAE2
Este guia de auto estudo foi de relativa facilidade, pois o objetivo era somente criar algoritmos para resolução de problemas muito simples, utilizando formas diferentes de representação, como o pseudo-código, o fluxograma de Chapin e diagramas UML), que já foram postados neste blog.
Resumindo GAE1
Este guia de auto estudo não tem um nível dificuldade alto, mas por ser o primeiro foi difícil de ser concluído.
Objetivo: Criar um programa que converta unidades diferentes de temperatura (de Farhenheit, Kelvin e Rankine para graus Centígrados) utilizando PascaL e Excel, tendo, desse modo, que lidar com a linguagem usada em programação.
Programa Fonte:
program temperaturasilas
var C,C1,C2,F,K,R:real {temperaturas};
begin
{entrada de dados}
writeln('Forneça a temperatura em Farhenheit');
readln(F);
writeln('forneça a temperatura em Kelvin');
readln(K);
writeln('forneça a temperatura em Rankine');
readln(R);
{Conversão}
C := (5/9)*(F-32);
C1:= (K-273.15);
C2:= (5/9)*(R-491.67);
{Saida de dados}
writeln(F, ' graus Farhenheit, corresponde a ');
writeln (C, ' graus Centigrados');
writeln(K, ' graus Kelvin, corresponde a ');
writeln (C1, ' graus Centigrados');
writeln(R, ' graus Rankine, corresponde a ');
writeln (C2, ' graus Centigrados');
end.
Objetivo: Criar um programa que converta unidades diferentes de temperatura (de Farhenheit, Kelvin e Rankine para graus Centígrados) utilizando PascaL e Excel, tendo, desse modo, que lidar com a linguagem usada em programação.
Programa Fonte:
program temperaturasilas
var C,C1,C2,F,K,R:real {temperaturas};
begin
{entrada de dados}
writeln('Forneça a temperatura em Farhenheit');
readln(F);
writeln('forneça a temperatura em Kelvin');
readln(K);
writeln('forneça a temperatura em Rankine');
readln(R);
{Conversão}
C := (5/9)*(F-32);
C1:= (K-273.15);
C2:= (5/9)*(R-491.67);
{Saida de dados}
writeln(F, ' graus Farhenheit, corresponde a ');
writeln (C, ' graus Centigrados');
writeln(K, ' graus Kelvin, corresponde a ');
writeln (C1, ' graus Centigrados');
writeln(R, ' graus Rankine, corresponde a ');
writeln (C2, ' graus Centigrados');
end.
Assinar:
Postagens (Atom)

