LOGICA DE PROGRAMACAO
INDICE
AULA 01 - INTRODUGAO A LOGICA DE PROGRAMACAO
OBJETIVOS DA AULA.
ESTRUTURA DO CURSO.
L6GICA DE PROGRAMAS.
‘TOMADAS DE DECISAO.
ORGANIZANDO AS INSTRUGOES non
LINGUAGEM DE PROGRAMAGAO.
PSEUDOCEDICO...
-MODELO DE PSEUDOCODIGO PADRAO..
ExERcIClos.
AULA 02 ~- LOGICA DE PROGRAMAGAO- ‘TESTES DE MESA E DIAGRAMAS DE BLOCOS..
OBJETIVOS DA AULA.
© QUE VAMOS FAZER.
AULA 03 ~ TIPOS DE DADOS, CONSTANTES E VARIAVEIS..
OBJETIVOS DA AULA..
(0 QUE VAMOS FAZER.
ENTENDENDO A MEMORIA RAM.
MAS ENTAO, 0 QUE SAO AS VARIAVEI
DECLARANDO VARIAVEIS...
CONHECENDO 0S TIPOS DAS VARIAVE!
MAS E AS CONSTANTES, 0 QUE SAO ELAS?
AULA 04- OPERADORES ARITMETICOS, RELACIONAIS E LOGICOS ...
OBJETIVOS DA AULA..
‘0 QUE VAMOS FAZER
‘0 QUE sAo 0s oPERADORES:
‘CONHECENDO OS OPERADORES ARITMETICOS..
HIERARQUIA DAS OPERACOES ARITMETICAS
APP” “IDENDO SOBRE 0S OPERADORES RELACIONAIS
/ANALISANDO OS OPERADORES LOGICOS.
EXERCICIOS:. —
AULA 05 - ESTRUTURAS DE DECISAO E REPETICAO.
OBJETIVOS DA AULA.
(© QUE VAMOS FAZER
COMANDO DE DECISAO.
COMANDO DE DECISAOSE.
ComANDO DE DECISAO SEI
COMANDO DE REPETIGAO.
COMANDO DE REPETICAO FOR.
COMANDO DE REPETIGAO WHILE
By) escooenepencao
AULA 06 - ENTENDENDO A PROGRAMACAO, ORIENTADA A OBJETOS
QUE VAMOS path
O.CONCEITO DE CLASSE wan
O CONCEITO DE OBJETOS...
Ei HERANCASIMPLESE MULTIPLA...
‘USAR E CONVERSAR COM OBJETOS...
c ENCAPSULAMENTO.
EXERCICIOS.(0 QUE E0 SMALL BASIC) nnn
(CONHECENDO A INTELLISENSE....
BAIXANDO E INSTALANDO O SMALL BASIC...
INICIANDO A INSTALAGAO wm
PRIMEIROS CONTATOS COM 0 SMALL BASIC...
FAZENDO USO DO PROGRAMA crv
‘SALVANDO PROJETOS..
INICIANDO A PRATICA.
DICAS £ CURIOSIDADES.... a
FAGA VOCE MESMO! .
AULA 08 ~ ESTRUTURAS DE DECISAO E REPETICAO N NA PRATICA..
OBJETIVOS DA AULA.
(0 QUE VAMOs FAZER.
ESTRUTURA DE DECISAO SE.
COMANDO DE REPETICAO FOR...
(COMANDO DE REPETIGAO WHILE momo
FAGA VOCE MESMO! nue
AULA 09 ~ DESENHANDO com SMALL BASIC. =
OBJETIVOS DA AULA
(QUE VAMOS FAZER...
CONHECENDO A BIBLIOTECA GRAFICA DO SMALL BASIC...
DESENHANDO FORMAS CIRCULARES E RETANGULARES..
CCRIANDO FORMAS SEM PREENCHIMENTOreweveemeeonons
‘TRABALHANDO COM AS CORES DA BIBLIOTECA GRAFICA..
APRENDENDO SOBRE A TARTARUGA (TURTLE).
FAA vocé MESMO!..
AULA 10- CRIANDO E USANDO SUB-ROTINAS...
OBJETIVOS DA AULA.
(0 QUE VAMOS FAZER
UTILIZANDO SUB-ROTINAS..
CAPTURANDO EVENTOS DO MOUSE E TECLADO.
CCRIANDO UM PROGRAMA PARA DESENHAR..
aga voce MESMO!..
AULA 11 - DESENVOLVENDO UTI LITARIOS ¢ ‘COM CODIGOS AVANCADOS
OBJETIVOS DA AULA...
(0 QUE VAMOS FAZER.
ELABORANDO UM CONVERSOR DE MOEDAS.
(OBJETOS SEGUINDO OS CLIQUES DO MOUSE.
FAGA VOCE MESMO..
AULA 12 ATIVIDADES INTERESSANTES NO SMALL BASIC
OBJETIVOS DA AULA.
EXECUTANDO SONS NATIVOS DO SMALL BASIC..
CCRIANDO UM PROGRAMA QUE PERMITE AO USUARIO ESCUTAR A MUSICA QUE ELE. use =
PUBLICANDO PROJETOS NA WEB...
IMPORTANDO PROJETOS DA INTERNET on
JOGOS PRONTOS PARA ESTUDO..
‘AS 20 LINGUAGENS MAIS POPULARES DA ATUALIDADE (INFORMAGOES COMPLEMENTARES)
No QUE VocE SE TORNOU:
FAGA VocE MESMO!.
GABARITO.
1
y
y
LOGICA DE PROGRAMACAO
AULA 07 - INSTALANDO E CONHECENDO O MICROSOFT SMALL BASIC.
OBJETIVOS DA AULA wren = = : :
OQUE VAMOS FAZER nnn =
Cee Le,
=
Le |
‘O conteido deste método fl produ pela equipe de deservohimento da detentore dos deitos autora, a quem so reservados todos or iret, Neshuma
parte derta publeagso pode ser reproduida ou transmit, seam quasfrem os meios empregados: eleténios, mecca, ftogrfcs, sem autoragso
previa por esto ta apostla publica nomes comercase marcas repitradas de produtospertencentes adivesas compan, somente para fins eto,
‘educaciona em benefice dos propietris das marcas, sem nenhuma tengo de ating seus diets.
Fale conoscol
‘Sugestes, sypstos errs ou divas referents a conti desta aposta devero ser encaminhados para o email sac@ensinointeratvo com.b+
oaOBJETIVOS DA AULA
+ Conhecer a estrutura do curso;
+ Aprender o que é Logica de Programagao;
+ Tomadas de decisio;
+ Organizagao de instrugdes;
‘+ Exemplos de linguagem de programagao;
+ Pseudocédigo.
ESTRUTURA DO CURSO
Nosso curso é composto por 12 aulas, sendo elas in-
terativas e apostiladas. Trabalharemos com: testes de
mesa e diagramas de blocos, tipos de dados, constan-
tes e varidveis, operadores relacionais, estrutura de
decisdo e repeti¢ao, programagao orientada a objetos,
‘Small basic, sub-rotinas e cédigos avangados. Sempre
utilizaremos exemplos praticos que facilitardo 0 en-
tendimento do conceito e, no decorrer dos assuntos,
sero realizados exercicios para a maior fixacdo. Tam-
‘bém temos as as avaliagdes que, no final da aula, de-
finirdo se vocé obteve o desempenho necessério para
continuar. Agora que jé sabemos qual sera o andamen-
to do nosso curso, podemos comegar a ver 0 que nos
interessa,
, LOGICA DE PROGRAMACAO
Aula 01| Introducao a Logica de Programacao
LOGICA DE PROGRAMACAO
Logica de Programagao é a base para que possamos
entender linguagens de programacZo, além de qual-
quer outra estrutura que envolva dados que neces:
tem ser estruturados.
Existem alguns itens que compée a légica e que me-
recem ser explicados separadamente para que, juntas,
as explicagdes revelem exatamente o que estamos te
tando mostrar.
Pois bem, as instrugdes passadas ao sistema do
computador recebem 0 nome de algoritmos, que sio
0s passos que contém cada a¢ao que deverd ser reali-
zada. Para organiz4-los, temos uma sequéncia légica a
seguir, que se baseia em regras e faz, assim, tudo sair
corretamente.
Veja 0 exemplo a seguir para que fique mais clara
nossa explicacao:
Pegar obi
} Colocar a frigideira no fogao;
} Colocar o bife dentro do frigideira;
Ascender 0 fogo do fogao;
} Esperar o bife ficar pronto;
Apagar o fogo;
} Retirar o bife da frigidetra;
Colocar a frigideira dentro da pia.jee
LOGICA DE PROGRAMACAO
Essa é uma estrutura correta, com os algoritmos
em uma sequéncia légica, desempenhado a atividade
corretamente. Agora, imagine se algum desses passos
fosse feito na hora errada ou até mesmo nem fosse fei-
to. Veja:
b Pegar o bife;
} Colocar a frigideira no fogao;
} Colocar o bife dentro do frigideira;
+ Esperar o bife ficar pronto;
Apagar o fog 5
+ Retirar o bife da frigideira;
} Colocar a frigideira dentro da pia,
Aparentemente esta tudo como antes, mas veja que
© passo “Ascender 0 fogo do fogao", nio fol indicado.
Isso com certeza vai atrapalhar o resultado final, nao é
‘mesmo? Afinal, sem o fogo, nao tem como o bife ficar
pronto. Em programagao nao é diferente da vida real.
Se pularmos uma parte da instrucdo, ou a colocarmos
no lugar errado, algo que ndo querfamos ou esperava-
mos, iré acontecer.
Que tal um exemplo mais préximo do que iremos
encontrar em nossos trabalhos? Imagine que temos
que receber dois valores, multiplicd-los e exibir o re-
sultado obtido. Veja como ficaria um programa com
essa finalidade:
+ Receber o PRIMEIRO val
+ Receber o SEGUNDO valor;
+ Multiplicar o PRIMEIRO pelo SEGUNDO;
‘+ Informar o resultado obtido.
Simples, ndo é mesmo? Mas é importante deixar
claro que nao seré sempre assim. Existem programas
muito complexos e que necessitam de limitadores
para que nao acabem se misturando e impossibilitan-
do a compreensao da instrugao. Os responsaveis por
essa separa¢ao sdo as palavras INICIO e FIM. Veja na
pratica como funcionam.
Em uma escola, os alunos realizam duas provas no
final de cada semestre, de modo que a soma dos resul-
tados dividida por dois dé a média que o aprovaré ou
no. Ento, o programa seré assim:
+ INICIO;
+ Receber a PRIMEIRA nota do aluno;
+ Receber a SEGUNDA nota do alun
+ SOMA ¢ igual a PRIMEIRA nota mais a SEGUN-
DA nota;
+ MEDIA é igual a SOMA divi
ida por 2;
TOMADAS DE DECISAO
Até agora, vimos como organizar tarefas simples
em que existia apenas um caminho, ou seja, nao havia
mais de uma alternativa. Acontece que na programa-
‘sao e também na vida real, muitas vezes nos depara-
‘mos com uma encruzilhada, um ponto em que temos
que seguir um caminho ou outro, No que diz respeito a
programacao, chamamos esse momento de tomada de
decisdo. Nesse ponto, temos que escolher um caminho
a seguir dada uma situacdo. Vamos ver um exemplo
pratico:
INICI
+ Receber a PRIMEIRA nota do alun
‘+ Receber a SEGUNDA nota do aluno;
+ SOMA ¢ igual & PRIMEIRA nota mais a SEGUN-
DA nota;
+ MEDIA é igual a SOMA dividida por 2;
* Sea MEDIA for maior ou igual a7
+ Apresentar ao aluno a média;
+ Informar que ele foi APROVADO;
+ Sea MEDIA for menor que 7
+ Apresentar ao aluno a média;
+ _Informar que ele foi REPROVAD\
+ FIM;
Note que, assim, quando uma opgao € seguida, a
outra passa a ser ignorada, dependendo do resultado
da MEDIA. Essa é uma deciséo que sera tomada de-
pendendo da situagdo, e que o programa faz automa-
ticamente. Mais adiante veremos outros moldes dessa
ferramenta.
ORGANIZANDO AS INSTRUCGES
Nés sabemos que organizacao é algo bom em qual-
quer lugar e, em programacao, nao teria como ser di-
ferente. Até agora 6 falamos de algoritmos simples e
com poucas instrugées, mas isso ndo sera sempre as-
sim, Por isso, aprender a organizar as coisas desde o
in{cio é fundamental.
Vamos comegar imaginando uma tarefa um pouco
mais complexa, Vamos descrever os procedimentos de
‘um caixa de supermercado. Comegarei falando sobre.
as tarefas de maneira geral, sem detalhamentos:
Cumprimentar 0 cliente;
Registrar a venda do produto;
Informar o valor total ao cliente;
Receber o pagamento;
|:
:
1
LOGICA DE PROGRAMACAO.
‘Agora, imagine como seria um programa que exe-
cute essas tarefas. Ele nao poderia ser simples. Entao,
veja como uma a¢éo aparentemente simples, possui
detalhes que passam despercebidos:
TAREFA1 Cumprimentar o cliente
INICIO;
+ Se existir cliente na fila, entao:
+ Avisar ao cliente que 0 caixa esta aberto;
+ Sea hora estiver entre 8:00 e 12:00 dizer Bom
Dia;
+ Seahora estiver entre 12:01 e 18:00 dizer Boa
Tarde;
* Se ahora estiver entre 18:01 e 7:59 dizer Boa
Noite;
* Se nao existir cliente na fila, aguardar pelo pré-
0.
FIM;
Note que, nessa primeira tarefa, programamos 0
ato de “cumprimentar o cliente”, Perceba que, logo no
comego, o programa toma uma decisdo. Se existir um
cliente na fila, ele seguira determinada parte das ins-
trugdes, porém, se ndo existir, fard outra.
Pois bem, existindo um cliente na fila, 0 programa
passa para o bloco seguinte em que também ter que
tomar uma decisao. Vamos analisar!
Depois de avisar que o caixa est aberto, as instru-
ges irdo verificar que horas s4o para cumprimentar
corretamente o cliente, com Bom Dia, Boa Tarde ou
Boa Noite.
‘TAREFA2 Registrar a venda do produto
INICIO;
+ Existe algum produto no carrinho?
+ SIM
+ Pegar o produ
+ Procurar na embalagem onde est 0 cédigo
de barras;
+ Apontar para o leitor 0 cédigo de barras e
aguardar que o produto seja registrado;
+ _ Reinicie a tarefa desde a primeira linha;
+ NAO
+ Terminar a tarefa e passar para préxim:
+ FIM;
Nessa segunda tarefa, temos um novo e interessan-
te ponto que chamamos de Lago, ou Looping, o qual
verifica a existéncia de produtos no carrinho de com-
pras. Se sim, todo o processo descrito no bloco SIM do
) programa deve ser executado, de modo que, enquan-
to essa resposta for a mesma, o bloco se repetir4, por
isso, recebe esse nome. Abaixo, temos um exemplo de
como essa ferramenta acontece, num caso em que te-
mos 2 produtos:
+ Colocar 2 produtos da tela e ir fazendo a sequ-
éncia descrita:
+ Existe produto no carrinho?
+ Sim.
+ Entio:
+ Pegar o produto;
+ Procurar na embalagem onde est 0 c6-
digo de barras;
+ Apontar para o leitor o cédigo de barras
e aguardar que o produto seja registra-
do;
+ Reinicie a tarefa desde a primeira linha;
* Procurar na embalagem onde est o cédi-
go de barras;
+ Apontar para o leitor o cédigo de barras
‘e aguardar que o produto seja registrado;
+ Reinicie a tarefa desde a primeira linha;
+ Existe produto no carrinho?
+ Nao.
+ Entio:
‘+ Terminar a tarefa e passar para préxima;
Esse recurso de Looping sera uma ferramenta valio-
sfssima em sua vida de programador e vocé iré utilizé
-la diversas vezes.
‘TAREFA3 Informar o valor total ao cliente
= INICIO;
‘© Observar na tela o VALOR TOTAL;
+ Informar ao cliente o VALOR TOTAL;
+ FIM;
Essa tarefa é muito, muito simples mesmo. Entao,
nem precisamos entrar em detalhes a respeito dela.
Vamos para a préxima! Essa sim é a mais desafiadora
até agora
‘TAREFA4 Receber 0 pagamento
= INICIO;
= Receber do cliente um DETERMINANDO
VALOR;
+ Se o DETERMINANDO VALOR for igual
ao VALOR TOTAL, entao:
+ Fechara venda;
=LOGICA DE PROGRAMACAO
+ Seo DETERMINANDO VALOR for menor
que o VALOR TOTAL, entao:
‘+ Informar ao cliente que o valor é in-
suficiente;
+ Aguardar mais dinheiro por parte
do cliente;
+ Seo DETERMINANDO VALOR for maior
que 0 VALOR TOTAL, entao:
+ Calcular a diferenca entre o DETER-
MINANDO VALOR eoVALOR TOTAL;
Entregar a diferenga ao cliente;
+ Despedir-se do cliente; ~
+ Reiniciar tudo executando a TAREFA1;
+ FIM;
E 6a maior que veremos nesta aula, Apesar disso,
nao possui nada que vocé jé nao saiba. Deixe-me apre-
senté-la:
A primeira instrugao é receber o dinheiro do clien-
te. Com isso feito, o sistema ird fazer as verificagoes
para analisar qual deciso tomar. Sao trés situagbes
possiveis: ou o cliente da o valor exato, ou ele entrega
dinheiro a mais, ou entrega dinheiro a menos.
Somente um dos trés conjuntos de instrugdes ser
executado, concorda?
‘Alguém pode falar que o cliente iré pagar com car-
to ou sair correndo com as compras. Bem, para sim-
plificar as coisas, vamos imaginar que essas possibili-
dades nao existem.
Continuando, tendo feita uma das trés instrugdes, 0
sistema vai para:
+ Despedir-se do cliente;
+ Reiniciar tudo executando a TAREFA1;
0 ponto importante aqui é que a tiltima tarefa man-
da o programa la para a TAREFA1. Isso fard com que
tudo comece novamente! Simples, ndo 6? Pois bem,
com isso, temos um trabalho complexo dividido em
tarefas menores e facels de compreender. Dessa ma-
neira, se 0 caixa fosse um rob, poderiamos ordenar
seu dia da seguinte maneira: .
© Execute a TAREFA1;
+ Execute a TAREFA2;
+ Execute a TAREFA3;
* Execute a TAREFA4;
Como no final da TAREFA4 existe uma instrugo
para executarmos a TAREFA1, esse robé ficaria eter-
namente atendendo os clientes. Brilhante, concorda?
Com o que vimos até agora, damos nosso primei-
ro passo rumo ao entendimento do que é a Légica de
Programagao e de como é atuar realmente como um
programador. Antes de executarmos as atividades de
término da aula, gostaria de avisar sobre uma questdo
importante.
Esse curso de Légica de Programagio visa preparar
vocé para atuar como programador, isso é dbvio con-
corda? No entanto, vocé pode ter a seguinte duivid:
- Mas e os comandos? Como os programo realmente?
Quero colocar a mao na massa e sair criando meus.
programas!
LINGUAGEM DE PROGRAMAGAO
‘Alinguagem de programagao é um método padroni-
zado para a comunicacao computador-programador.
Com isso, instrugdes podem ser passadas e seguidas
a risca, desde as mais simples até as mais complexas,
além de quais ages devem ser tomadas sob varias ci
cunsténcias.
Para criar um programa, realmente vocé precisard
aprender alguma linguagem de programagao. Mas 0
que seria isso? Existem muitas linguagens de progra-
mago que podem ser usadas e o termo é esse mesmo,
linguagem. Cada ferramenta destinada 4 programa-
40 utiliza uma determinada linguagem. Para vocé ter
ideia, imagine um programa que sé serve para apre-
sentar na tela a frase: Hello, Word!
Em portugués, seria Ald, Mundo! Ou seja, o progra-
ma sé serviria para mostrar essas palavras na tela.
Veja como seria esse programa em algumas lingua-
gens diferentes:
LINGUAGEM C
main() {
printf(“hello, world\n");
}
LINGUAGEM PASCAL
PROGRAM HelloWorld;
USES
‘WinCRT;
BEGIN
InitWinCRT;
WriteLn(‘Hello World!'’);
ReadLn;
DoneWinCRT;
END.
oreLOGICA DE PROGRAMACGAO
LINGUAGEM VISUALBASIC.NET
Imports System.Console
Class HelloWorld
Public Shared Sub Main)
WriteLine("Hello, world!")
End Sub
End Class
LINGUAGEM ASSEMBLER
mov ax.cs)
mov ds,ax
+ movah,9
mov dx, offset Hello
int2ih
xor axax
int2ih
Hello:
db “Hello World!”,13,10,"$"
No site a seguir, existe uma série de tipos de linguagem:
http://pt.wikipedia.org/wiki/Anexo:Lista_de_lin-
guagens_de_programa%C3%A7%C3%A30.
0 objetivo aqui nao é assustar vocé, mostrando cé-
digos dificets ow algo do tipo. 0 propésito é revelar que
vocé deve, primeiramente, aprender a Légica de Pro-
gramagao e s6 depois dedicar-se a aprender alguma
dessas linguagens. Umas so mais faceis, outras nem
tanto. Mas, se vocé dominar a légica de programagao,
eu garanto que isso nao vai fazer diferenca para vocé.
Por isso, as aulas deste curso sao extremamente im-
portantes antes de passarmos para os demais cursos
relacionados com programacao que vocé fara.
PSEUDOCODIGO
Existe uma forma genérica de escrever um algo-
ritmo através de uma linguagem bem simples, que é
utilizada no ensinamento de iniciantes. Nesse caso,
nao é necessario saber nenhuma linguagem de pro-
gramacao. Como ja é indicado no nome, pseudo sig-
pessoa
nifica falso e, por isso, nao pode ser executado num
sistema real. Durante todas as aulas, vamos usar essa
linguagem. Existem algumas regras para 0 seu uso.
Na sequéncia, temos uma lista com essas regras. Caso
vocé nao as entenda agora, nao se preocupe, pois no
decorrer do curso isso mudara.
MODELO DE PSEUDOCODIGO PADRAO
Utilizaremos como padrao o seguinte modelo de
pseudocédigo:
+ Todo programa deve ser iniciado com progra-
ma SeuNome; z
‘+ 0 Inicio e Fim do programa serao limitados pe-
los marcadores Inicio e Fim;
+ As varidveis serao declaradas no inicio do pro-
grama, como NomeVariavel:tipo da variével;
+ Variaveis no podem ter espago em branco e
nao podem ter seu nome iniciado por numero;
+ Caracteres especiais nao devem ser utilizadas
nos nomes das varidveis (’,, ~.¢,-e afins};
+ Deve-se evitar 0 uso de palavras-reservadas
(ie. aquelas utilizadas pelo programa para fun-
ses especificas, como € 0 caso de Inicio e Fim
até agora). Para facilitar ao estudante colocare-
mos estas palavras em negrito;
+ Consideraremos que os nomes das variaveis
so case sensitive, ie. diferencia maiisculas e
mintisculas. Dessa forma, o nome declarado de
uma varidvel deve ser exatamente o mesmo, in-
cluindo maitisculas e minisculas até o final;
+ | Usaremos os comandos leia para receber dados
do usudrio e escreva para exibir dados ao usu-
rio;
+ 0s textos a serem exibidos na tela ou que te-
nham de ser inseridos como caracter serao co-
ocados entre “aspas”;
+ Os comentarios sobre o cédigo podem ser inse-
ridos {entre chaves} servindo apenas para efei-
to de informagao, mas nao alterando o cédigo.
Muito bem, para finalizar o contetido da apostila,
realize alguns exercicios que o auxiliardo na fixacao
dos conceitos apresentados.a4 '
LOGICA DE PROGRAMAGAO
EXERCICIOS
1 Marque verdadeiro ou falso para as seguintes afirmacde:
‘A Logica de Programacao, é a base para inserirmos dados em uma ferramenta de programagao.( )
© computador é uma ferramenta que nos auxilia na procura de dados na internet. ( 5
Um programador é responsdvel por organizar algoritmos em uma sequéncia ldgica, mas no necessita seguir ne-
nhuma regra. ( B
Se no indicarmos 0 INICIO e o FIM de um conjunto de instrugées, ele funcionaré normalmente. ( }
2 Complete as frases com as palavras corretas:
aya de programacéo é um padronizado para a ‘computa-
dor- :
comunica¢ao - método - linguagem - programador.
b)A de 6 um processo que ocorre quando temos dife-
rentes a ‘caminhos - decisdo - tomada~ seguir
Q de 6 a base para que possamos entender de progra-
magio, além de qualquer outra que envolva ‘que necessitem ser
dados - Programacao — linguagens — Légica— estrutura— estruturados
3 - Em relacdo ao Pseudocédigo, marque a alternativa correta’
a) € complexa e exige alto grau de conhecimento,
b) € utilizada apenas por programadores experientes.
) E um tipo de linguagem de programacao.
) € um cédigo falso que nao é executado em nenhum sistema
e) Todas as alternativas esto corretas.
Assim que terminar de responder essas questdes, confira se suas respostas estdo corretas, seguindo o gabarito.LOGICA DE PROGRAMAGAO
Aula 02| Légica de Programaco - Testes de Mesa e
_ Diagramas de Blocos
OBJETIVOS DA AULA
+ Conhecer um pouco mais a respeito de Teste de
Mesa;
+ Aprender o que so Diagrama de Blocos;
+ Conhecer os tipos de Figuras Geométricas para
Padronizacao.
© QUE VAMOS FAZER
Nesta atividade, vamos reforgar os conceitos vistos
no contetido da aula interativa. Sendo assim, iremos nos,
aprofundar nos detalhes de tudo que vimos a respeito de
Teste de Mesa e Diagrama de Blocos. Esperamos que se
empenhe ao maximo e preste muita atengao nos t6picos,
pois veremos também muitas formas geométricas que
sto responséveis por padronizar um Diagrama de Blocos.
TESTE DE MESA
Quando foi iniciado esse tipo de programagao, pro-
gramar computadores era muito complicado, levava
tempo, custava muito caro e havia pouquissimas fer-
ramentas para ajudar nessa metodologia. Era indis-
pensdvel pensar bem antes de submeter o programa
para executar no computador. Com o tempo os ins-
trumentos de desenvolvimento evoluiram e tornaram
possivel a programagao interativa. 0 programador,
agora, vai criando o programa, rodando pouco a pouco
e observando qual o resultado. Embora essa evolusio
tenha sido de grande importancia para os desenvolve-
dores profissionais, isso teve um efeito sobre o ensino
da programagio.
Nao podemos negar a importancia desse tipo de
exercicio para 0 desenvolvimento do raciocinio, sim,
porque para desenvolver nossa habilidade precisa-
mos de exercicio correto! Atualmente, nao é mais ne-
cessério, do ponto de vista do custo e da acessibilida-
de, realizar esse tipo de tarefa no papel, como era no
passado. Esse tipo de exercicio ganhou um novo ponto
de destaque, se nao por necessidade, por permitir que
estudante desenvolva uma capacidade fundamental
para o desenvolvimento de aplicagdes profissionais.
0 teste de mesa é feito utilizando algum recurso
para escrever (pode ser papel ou até mesmo no com-
putador) e a pessoa atua como se fosse o processador
da maquina interpretando 0 programa. Para peque-
hos programas, isso é rapido de fazer, mas se vocé ti
ver que controlar cinco variaveis dentro de um loop, jé
comega a ficar mais complicado.
Vocé deve estar se perguntando:
so saber disso?”
Bom, de infcio, pode falar que esse tipo de ativida-
de é cobrado em provas de certificagao em que, por
serem executadas em ambiente controlado, nao é pos-
sivel usar um compilador para nos ajudar. Além disso,
ajuda tremendamente a desenvolver o raciocinio.
0 teste permite que se verifique se 0 cédigo est
realmente executando a fungdo para a qual foi criado
e se existe algum erro de légica nos passos apresen-
tados. A medida que o programador evolui e se pro-
fissionaliza, essa pratica costuma ser deixada de lado
por ele e, muitas vezes, isso acaba Ihe tomando horas
e horas de trabalho desnecessério.
Alguns profissionais respeitados da drea conside-
ram que todo programa formado deve ter suas ins-
trugdes testadas sempre que necesséria, Para isso, a
partir de dados escolhidos com resposta previamente
conhecidas, simula-se a execugao do algoritmo ou pro-
‘or que eu preci-=A
‘grama e compara-se a resposta obtida com a resposta
esperada. Se nao houver coincidéncia, esta detectado
um defeito de software que pode levar a erros de exe-
‘uso em todo o restante do programa,
Saber escolher os dados para os testes é de muita
importancia na simulacao. Assim, devem-se escolher
padrdes de dados de forma que importunem a execu-
40 de todas as instrugdes presentes no algoritmo ou
programa, testando todas as diferentes possibilidades
de safda uma a uma.
Para realizar 0 Teste de Mesa sao listadas todas as.
varidveis utilizadas no algoritmo e registrados todos
08 valores assumidos pelas variaveis na ordem em que
ocorrem. Para localizar facilmente a varidvel que foi
definida ou alterada em um dado momento, é conve-
niente identificar com um ntimero cada uma das ins-
trugdes contidas no algoritmo.
EXECUTANDO UM TESTE DE MESA
De acordo com esse programa que aparece logo
abaixo, tendo como base se 0 VALOR1 for 10 e 0 VA-
LOR2 for 2, veja como serd realizado o Teste de Mesa
para obter a resposta de como est o nosso programa,
‘ou seja, se a resposta fornecida por ele est de acordo
com o esperado por nés.
+ INICIO;
+ Recebe 0 VALOR1;
+ Recebe 0 VALOR2;
+ RESULTADO é igual a VALOR1 vezes 0 VA-
LOR2;
‘+ Apresentar na tela o RESULTADO;
+ FIM;
= INICIO;
= Recebeo 10;
= Recebe 02;
+ RESULTADO ¢ igual a 10 vezes 0 2;
+ Apresentar na tela 0 20;
+ FIM;
0 procedimento que foi realizado é bem simples. 0
programa iré receber o valor 10 e o valor 2 que sera
do através do teclado por nés. Na sequéncia, foi
realizada a multiplicagdo entre eles automaticamen-
te, 10 vezes 2, em que obtivemos como resultado 20.
Tendo em vista que seria essa a manipulagao de dados
que desejamos, podemos dizer que est tudo certo
com o nosso programa mediante o Teste de Mesa que
aplicamos.
LOGICA DE PROGRAMACAO
Esse foi um exemplo simples de como seria o pro-
cessamento entre esses dados, mas, no decorrer de
nossas vidas de programadores, vamos nos deparar
com programas muito mais extensos e complexos, em
que esses testes terdo de ser muito mais rigorosos e
repetitivos para que, assim, tenhamos um funciona-
mento perfeito.
DIAGRAMA DE BLOCOS
Vou comegar a falar desse assunto contanto uma
histéria muito antiga em que poderemos ver como
tudo funciona em relagio ao Diagrama de Blocos e
suas padronizagées.
Vocé jé ouviu falar da historia da Torre de Babel?
Pois bem, muito tempo depois do diltivio, em que
todos ainda falavam a mesma I{ngua, diz a lenda que
alguns homens resolveram construir uma torre tao
alta, que chegasse até Deus.
A construcao ia muito bem, mas Deus, vindo passe-
ar sobre a terra, se deparou com tal monumento, nao
gostou da atitude e resolveu impedir a construgao.
Para tal facanha, ele simplesmente fez.com que cada
grupo de homens falasse uma lingua diferente. Assim,
0s pedreiros nao entendiam os carpinteiros que nao
entendiam os engenheiros e assim por diante. Como
resultado, a construgdo teve que ser interrompida,
Em programacao existem intimeras linguas e varias
maneiras de se programar, ou seja, ao se construir um
eros
Seer=
LOGICA DE PROGRAMACAO
programa grande, com muitos programadores envol-
vidos, corre-se o risco de se passar por uma nova Tor-
rede Babel. >
Para evitar isso, temos 0 que chamamos de Dia-
grama de Blocos, que é uma forma padronizada para
representar os passos légicos de um determinado al-
goritmo. Assim, todo e qualquer programador, inde-
pendentemente da linguagem de programagao usada,
consegue entender como deve ser o programa.
Ou seja, Diagrama de bloco é a representagao grafica
de um processo ou modelo de um sistema complexo, uti-
lizando figuras geomeétricas. Através dessas figuras geo-
métricas e ligagées entre elas, descrevem-se as relagées
entre cada subsistema e o fluxo de informagao. £ a representagao grafica da solugao de um problema.
Os simbolos devem ser dispostos em ordem l6gica e com sintaxe correta para atingir o objetivo de resolver 0
problema. Os diagramas diferem os fluxogramas por representarem pequenas partes de um grande sistema com
foco no processo légico.
As formas geométricas que representam a padroni-
zacao do Diagrama de Blocos sao as seguintes:
SIMBOLOS ESPECIAIS:
TERMINAL:
Sempre presente em todos os algoritmos, represen-
ta a entrada ou safda para o ambiente externo, origem
‘ou destino dos dados do in‘cio ou final do mesmo.
CONECTOR:
Representa a entrada ou safda para outra parte do
‘mesmo fluxograma. Os simbolos de conexto devem
possuir o mesmo identificador tinico interno, ou tam-
bém, para conexdes entre paginas, alternativamente
ao circulo.
1A
LOGICA DE PROGRAMACAO
SETA DE FLUXO DE DADOS:
Indica o Sentido que o fluxo de Dados deve seguir.
P Representa um processo nomeado que consiste em
‘um ou mais passos do programa especificados em outro
local. Por exemplo: sub-rotina ou médulo de programa.
ANOTACOES:
Representa a adi¢o de comentarios para maior
esclarecimento de determinado simbolo ou trecho do
algoritmo. Devem-se usar linhas tracejadas para ligar
ou cercar o simbolo ou trecho anotado.
OPERACAO MANUAL:
Representa uma operacdo executada, digitada, in-
serida por um ser humano,
ELIPSt
Representa aauséncia de um ou mais simbolos ndo
definidos. £ normalmente usado em verses iniciais
de algoritmos complexos.
Exemplos de uso de Elipse e anotagées:
Ve macy
/ S
\ oo
PREPARACAO:
Representa a modifica¢o de uma instrugo ou
grupo de instrugées e afeta a atividade subsequente.
Por exemplo: modificar o indexador de um registro
ou preparar uma rotina.
vio [ftw Zt
ee |
Fim H Fores [eee
Media (a+8)/2
‘SIMBOLOS RELATIVOS A PROCESSOS:
PROCESSAMENTO:
Representa qualquer tipo de processamento de da-
dos e executa uma ou mais operagies definidas pelo
programador.
DECISAO:
Representa uma deciséo ou um desvio. Possui
apenas uma entrada, mas pode ter varias saidas al-
ternativas, das quais apenas uma poderd ser segui-
da, como consequéncia da avaliagéo da expresso
interna ao simbolo. Cada safda deverd ter seu valor
indicado adjacente & linha que representa o cami-
ho respectivo.
PROCESSO PRE-ESPECIFICADO OU SUB-ROTINA: >
ODO PARALELO: :
Representa processamento paralelo ou a sincro-
nizagao de duas ou mais operagées paralelas.
aaaLOGICA DE PROGRAMACAO
LIMITADOR DE LAO REPETITIVO:
Inicio e final de laco controlado. Deve existir em
conjunto com o simbolo que mostra 0 final do lago.
As condigdes de teste so colocadas dentro do
simbolo de acordo com a posicao do teste (se no
inicio ou se no final).
|quencial, Por exemplo: fita magnética, régua, etc.
SIMBOLOS RELATIVOS DADOS:
DADOS:
Representa dados de entrada ou saida, qualquer
que seja a midia utilizada,
ARMAZENAMENTO SEQUENCIAL:
Representa dados armazenados cujo acesso é se-
ARMAZENAMENTO DIRETO:
Representa dados armazenados de forma direta,
ou seja, cujo acesso & feito diretamente a ele. Exem-
plo: disco rigido, disco ético, etc.
Também pode representar dados armazenados
em bancos de dados.
DADOS ARMAZENADOS:
Representa dados armazenados em midia nao es-
pecificada para processamento.
ARMAZENAMENTO INTEIRO:
Representa dados armazenados internamente, ou
sseja, na meméria RAM utilizada pelo programa.
DOCUMENTOS:
Representa documentos em midia impressa, ou
Iseja, quando uma determinada informagio, como:
formulérios, relatérios, etc. chegar até ele, ser im-
Ipresso.
ENTRADA MANUAL:
Representa dados de entrada, de qualquer tipo de
‘mfdia, que sejam inseridos manualmente em tempo
de processamento. Ex: teclado, leitor de cédigo de
barras, etc.LOGICA DE PROGRAMACAO
ARMAZENAMENTO OFF-LINE:
Representa dados armazenados em meio externo
(off-line), independentemente da-midia de armaze-
namento.
Os simbolos que representam dados, respectiva-
mente, em Cartao perfurado ou Fita perfurada esto
defasados.
EXIBICAO:
Representa dados de safda em video ou por meio de indicadores visuais, ou
sseja, é utilizado para apresentar os dados que serdo exibidos na tela de video.
EXEMPLOS DE SIMBOLOS RELATIVOS A DADOS:
ee
=
mS
—-
SIMBOLOS RELATIVOS A LINHA:
LINHA BASICA:
Representar 0 fluxo de dados ou controle. Podem-
-se usar pontas de setas sélidas ou abertas na extre-
midade para indicar a direg4o do fluxo, facilitando a
legibilidade que o programa necesita.
‘TRANSFERENCIA DE CONTROLE:
Representa a transferéncia de con-
trole de um processo para outro.
Exemplo: chamada entre telefones. P
oS
COMUNICACAO:
Representa a Transferéncia de da-
dos por meio de uma canal de comu-
nicagao:LOGICA DE-PROGRAMACAO
SH
EXERCICIOS
01 - O que é um Teste de Mesa?
© AYE it teste feito para detettat falas na prograntacdo:
>) Serve pare Ser iiSeridd er utr Diakfarnia de Blotos.'°/°°
°C) 0 Taste de! Masw'é@ tesultado do ‘Algoritino:
“DY O Téste'de’ Mesd’é 0 Didgrdinia de Blocos
‘om
02 - Identifique os dados de Entrada, Processamento e
sel iP argbtHEARS able 267x079 28h OBsmergO
AA) Receba cédigo da peca.
© B) Recetia Valor da'pe¢a.°
C) Receba Quantidade de pecas.
1D) Calcule o valor total da pega (Quantidade * Valor
da peca).
E) Mostre o cédigo da peca e seu valor total.
‘up zotisonoo 20
A)
B)
Q
o)
&)
03 - Responda o que o Diagrama de Blocos a seguir faz:
INICIO
RECEBER ALTURAL
RECEBER ALTURA2
RECEBER ALTURA3
SOMA = ALTURA1 + ALTURA2 + ALTURA3
MEDIA =SOMA/3
APRESENTA NA TELA A MEDIA
FIM
A= Receber trés alturas, somé-las e dividir por dois,
para obter uma média. Depois disso, mostrar a média
na tela,
B - Receber trés alturas, somé-las e mostrar a soma
natela.
C- Receber duas alturas e mostré-las na tela,
D - Receber trés alturas, somé-las e dividir por trés
para obter uma média, Depois disso, mostrar a média
na tela.
E - Receber duas alturas, somé-las e dividir por dois
para obter uma média, Depois disso, mostrar a média
na tela
04 - De acordo com seus conhecimentos, diga 0 que
t
Pay
J
‘A Recebe a Temperatural, recebe a Temperatura2,
Calcula a Soma das duas e Mostra na Tela.
B- Recebe a Temperatural, recebe a Temperatural e
Calcula a Diferenga entre elas.
C- Recebe a Temperatural, recebe a Temperatura2,
Calcula a Diferenca entre elas e Mostra na Tela.
D- Recebe a Temperatural,, recebe a Temperatura? e
‘Mostra o valor das duas na tela.
E- Recebe a Temperatura2, recebe a Temperatural e
Mostra o valor das duas na tela
05 - 0 que é Diagrama de Blocos?
A) Ea representacio gréfica de um processo ou mode-
lo de um sistema complexo.
B) Ea representacio gréfica da solugao de um problema.
©) E um método para descrever a sequéncia do pro-
cesso.
D) Todas as alternativas esto corretas.LOGICA DE PROGRAMACAO
CONCLUSAO
Nesta aula apostilada, vocé teve um aprendizado mais detalhado sobre Teste de Mesa e qual a sua importancia
‘na programacao, tendo em mente que é preciso sempre testar o programa que est sendo elaborado para ndo ter
nenhum surpresa ao final do mesmo. Vocé se aprofundou mais no assunto Diagrama de Blocos e viu que o mesmo
6 a representacéo gréfica da solucao de um problema. Também teve uma explicacdo detalhada de todas as formas
geométricas que sao utilizadas para uma elaborac3o correta de um Algoritmo.
Daremos continuidade com todos os conceitos de Légica de Programaco nas pré
-se ao maximo para obter um excelente desempenho.
1as aulas, portanto, dedique-
Caso tenha restado alguma duivida, aconselhamos a rever todos os conceitos que foram vistos durante a aula e
refazer os exercicios Até breve!
Le eee |
A
ae
Diretos Reservados cOBJETIVOS DA AULA
+ Conhecer um pouco sobre a meméria RAM do
computador;
+ Aprender o que sdo as variaveis;
+ Obter conhecimentos sobre como declarar va-
ridveis;
+ Conhecer os tipos de varidveis;
+ Conhecer a classificagao das linguagens de pro-
gramagio quanto as variaveis.
© QUE VAMOS FAZER
Nesta atividade, iremos nos aprofundar no conteti-
do da aula interativa. Isso significa que veremos com
maior detalhes tudo que vimos & respeito das varid-
veis e da classifica¢ao da linguagem de programacao.
Esperamos que se dedique ao méximo e preste bas-
tante atencdo nos tépicos para que, assim, consiga um
6timo desempenho no curso e, consequentemente,
obtenha sucesso como profissional!
ENTENDENDO A MEMORIA RAM
Antes de comecarmos a falar sobre varidveis, é fundamental que saibamos um pouco sobre a meméria. Isso
porque é nela que as varidveis so armazenadas. Veja melhor:
Ameméria RAM é um componente que permite a leitura ea escrita de dados utilizados em sistemas eletroni-
cos digitais. Mas o que isso quer dizer?
Quando um computador est em uso, ela é um dos recursos que a maquina est utilizando. Ela utiliza corrente
elétrica para armazenar dados, que séo tempordrios, pois, ao ser desligada, ou seja, ao interromper a energi
conteiido armazenado é perdido.
RAM 6a abreviacdo para Random Access
Memory que, em portugues, significa Me-
méria de Acesso Aleatdrio.
E nessa meméria que sao armazenadas
as varidveis durante a maior parte da exe-
cugao do programa.
MAS ENTAO, O QUE SAO AS VARIAVEIS?
Uma varivel é uma area reservada previamente na
meméria do computador para que seja armazenado
dados de um certo programa por um determinado pe-
riodo.
‘Sempre que vamos escrever um programa, precisa-
‘mos, antes de tudo, informar ao computador que utili-
zaremos sua meméria, ou seja, que iremos armazenar
dados nela. E como se a meméria fosse um armério
com divisérias. Em cada diviséria cabe um tipo de
dados e a varidvel é criada para reservamos espacos
7=
nat
nesse armério para os dados do nosso programa. Isso
6 fundamental pois, assim que executar o programa,
© espaco que serd utilizado é reservado com antece-
déncia.
Para facilitar a compreenséo, vamos nos imaginar
em uma viagem. Quando chegarmos ao nossos des-
tinos, vamos querer um quarto para descansarmos e
guardar nossas malas, nao é mesmo?
Seria muito desagradavel se chegassemos no hotel
€ nao houvesse vagas. Por isso, podemos fazer uma
reserva. Antes de viajarmos, nés reservamos quantos
quartos desejamos para que, assim que chegarmos,
utiliz4-los. Nos programas, reservamos quanto de me-
méria vamos utilizar.
Veja o programa a seguir para juntos identificarmos
as variaveis:
= INICIO;
‘+ Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ SOMA ¢ igual a PRIMEIRA nota mais a SE-
GUNDA nota;
+ MEDIA ¢ igual a SOMA dividida por 2;
+ Sea MEDIA for maior ou igual a 7:
‘+ Apresentar ao aluno a média;
+ Informar que ele fol APROVADO;
+ Sea MEDIA for menor que 7:
‘+ Apresentar ao aluno a média;
z ‘+ Informar que ele foi REPROVADO;
+ FIM;
As varidveis presentes nele so:
+ PRIMEIRA: Serve para receber e armazenar a
primeira nota do aluno.
+ SEGUNDA: Recebe e armazena a segunda nota
do aluno.
+ SOMA: Recebe o valor da soma entre as duas
tadas.
Recebe e armazena o valor da SOMA.
dividido por a
Como deve ter percebido, identificar uma variavel
no & nenhum bicho de sete caberas, concorda? Na
verdade, nés estavamos utilizando-as o tempo todo,
porém sem que elas fossem notadas.
No entanto, a partir de agora, isso nao devera mais
acontecer, afinal,jé sabemos 0 que elas so e para que
servem. Portanto, daqui em diante, passaremos a de-
clara-las em todos os programas.
LOGICA DE PROGRAMAGAO
DECLARANDO VARIAVEIS
Agora que sabemos que 0 computador reservard
um espago na meméria destinado ao nosso programa,
um ponto muito importante é declararmos as varia-
veis no inicio do mesmo. Dectarar a varivel nada mais
6 que informar a0 computador sua existéncia. Faze-
‘mos isso declarando-as no infcio do cada programa.
Existem linguagens de programacao em que a declara-
40 nao é obrigatéria, nem necessaria. [4 outras muito
usadas exigem isso. Mais adiante, veremos cada uma
dessas linguagens e suas classificagdes em relacdo as
variéveis,
No esquema a seguir, colocamos dois programas,
de modo que um esté como faziamos antes, ou seja,
sem declarar, e 0 outro esta com as varidvei
das para que vocé possa observar como isso ¢ feito:
SSE
Sem declaragao de variavel:
+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ SOMA é igual & PRIMEIRA nota mais a SE-
GUNDA nota;
+ MEDIA ¢ igual a SOMA dividida por 2;
+ SeaMEDIA for maior ou igual a 7
‘+ Apresentar ao aluno a média;
+ Informar que ele foi APROVADO;
+ Sea MEDIA for menor que 7
+ Apresentar ao aluno a média;
+ Informar que ele foi REPROVADO;
+ FIM;
TT
Com declaragao de varisvel:
+ VARIAVEIS
PRIMEIRA;
SEGUNDA;
SOMA;
MEDIA
+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
‘+ Recebe a SEGUNDA nota do aluno;
+ SOMA ¢ igual PRIMEIRA nota mais a SE-
GUNDA nota;
+ MEDIA é igual a SOMA dividida por 2;
‘+ Sea MEDIA for maior ou igual a7
+ Apresentar ao aluno a média;
+ _Informar que ele foi APROVAD\
+ Sea MEDIA for menor que 7
‘+ Apresentar ao aluno a médi
‘+ Informar que ele foi REPROVADO;LOGICA DE PROGRAMACAO
Simples, concorda? Portanto, vamos prosseguir
conhecer quais os tipos das varidveis.
CONHECENDO OS TIPOS DAS VARIAVEIS
Vimos bastante sobre variavels, mas ainda ha algo
que precisamos aprender sobre elas. Além de decla-
ré-las, reservando, assim, um espago na meméria do
computador, precisamos, também, definir qual o tipo
de informacao que ela vai armazenar,
Basicamente, as varidveis podem ser do seguinte
tipo:
CARACTERE: o valor armazenado é um caractere,
ou seja, apenas uma ‘nica letra.
STRING (TEXTO): uma varidvel desse tipo é utiliza-
da para armazenar texto, que é um conjunto de carac-
teres. Isso quer dizer que, se féssemos armazenar um
nome, por exemplo, usariamos esta opeao.
NUMERO INTEIRO: como o préprio nome diz, é uti-
lizada para armazenar nimeros inteiros, ou seja, sem
digitos depois da virgula. Em um jogo de futebol, por
exemplo, temos 11 jogadores. Nesse caso, declararia-
mos a varidvel como tipo Inteiro, pois no podemos
ter 11,2 jogadores em campo.
NUMERO EM PONTO FLUTUANTE: também arma-
zena niimeros, mas, neste caso, niimeros quebrados,
‘ou seja, aqueles que contém digitos depois da virgula.
Suponha que um jogador pese 77,8kg. Neste caso, a
varivel PESO seria Numero em Ponto Flutuante, por
conter um niimero quebrado.
BOOLEANO: é um tipo simples, em que se encon-
tram dois valores, um verdadeiro e um falso. Ele é uti-
lizado onde hd uma resposta, que pode ser Verdadeira
(True), sim, ou Falsa (False), ndo,
Estes sdo os tipos mais utilizados. Com eles, vocé
pode fazer muitas coisas. Mas é também imprescin-
divel dizer que existem outros, que variam de acordo
com suas necessidades e que podem ser aprendidos
por vocé conforme for adquirindo prética.
‘Vamos ver como seriam alguns dos tipos das vari-
veis aplicados em um programa, aquele mesmo que
viemos trabalhando:
+ VARIAVEIS
PRIMEIRA;
‘SEGUNDA;
SOMA;
MEDIA
+ INICIO;
‘+ Recebe a PRIMEIRA nota do aluno;
‘+ Recebe a SEGUNDA nota do aluno;
+ SOMA é igual a PRIMEIRA nota mais a
SEGUNDA nota;
‘+ MEDIA é igual a SOMA dividida por 2;
‘+ Sea MEDIA for maior ou igual a 7
+ Apresentar ao aluno a média;
+ Informar que ele foi APROVADO;
+ Sea MEDIA for menor que 7
+ Apresentar ao aluno a média;
+ Informar que ele foi REPROVADO;
+ FIM;
Dado o programa, vamos analisé-lo com cautela e
declarar o tipo de cada variavel, veja:
As variaveis PRIMEIRA e SEGUNDA receberdo as
notas do aluno. Levando em consideracao que as no-
tas irdo de 0 até 10, sem ter fragao alguma, ou sefa, ndo
serdo nimeros quebrados, podemos dizer, entio, que
essas so do tipo NUMERO INTEIRO.
¥ Agora, temos a varivel SOMA, Como as duas an-
teriores s6 receberao nimeros inteiros, o resultado
da soma das duas s6 pode também ser assim, afinal,
no conseguimos ntimeros fracionados com a soma de
niimeros inteiros. Desse modo, sabemos que a SOMA
sera do tipo NUMERO INTEIRO.
Y Chegamos finalmente a MEDIA. Vocé poderia
pensar que, por apenas estarmos trabalhando com
niimeros inteiros, esta seguiria a mesma linha. Mas
saiba que isso ndo é verdade. Imagine que a primeira
nota do aluno é 7 e a segunda é 4. A soma seria 11. Até
entdo, sem problema algum, afinal, todos os valores
sem nenhuma casa ap6s a virgula. Porém,a MEDIA 6a
SOMA dividida por 2, neste caso, temos 11 que dividi-
do por 2 €5,5, ntimero fracionado, Com isso, sabemos
que a varidvel MEDIA deve ser do tipo NUMERO EM
PONTO FLUTUANTE.TA
LOGICA DE PROGRAMACAO
Depois disso, nosso programa fica da seguinte ma-
neira:
+ VARIAVEIS
+ PRIMEIRA do tipo INTEIRO;
‘+ SEGUNDA do tipo INTEIRO;
+ SOMA do tipo INTEIRO;
+ MEDIA do tipo NUMERO EM PONTO FLU-
TUANTE.
+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ SOMA ¢ igual A PRIMEIRA nota mais a SE-
GUNDA nota;
‘+ MEDIA é igual a SOMA dividida por 2;
+ Sea MEDIA for maior ou igual a7
+ Apresentar ao aluno a mé
+ Informar que ele foi APROVADO;
+ Sea MEDIA for menor que 7
+ Apresentar ao aluno a médi
+ Informar que ele foi REPROVADO;
+ FIM;
MAS E AS CONSTANTES, O QUE SAO ELAS?
Para prosseguirmos com nosso aprendizado, va-
mos entender o que sdo as constantes.
A grosso modo, constante nada mais é que uma va-
ridvel que nao varia. Isso mesmo! Constante é um tipo
de variével que mantém seu valor ou contetido fixo
ao longo de todo o programa, sem variagao alguma.
Imagine que em um cadastro de cliente seja pedido o
ano de nascimento do mesmo. Isto ¢ um exemplo de
constante, pois o ano de nascimento de alguém nunca
muda.
20
‘AS LINGUAGENS DE PROGRAMACAO E
‘SUAS CLASSIFICAGOES QUANTO AS
VARIAVEIS
‘As linguagens de programagao sio uma forma
padronizada de expressar instrugdes para um com-
putador. Através delas, passamos ordens para que 0
computador possa executar. Essas ordens devem ser
bem detalhadas e claras para que tudo ocorra como 0
esperado.
‘Quando falamos de varidveis, estas linguagens rece-
bem diferentes qualificagdes, que as adequam a cada
tipo de varidvel. Observe:
+ Fracamente tipada:
Sao linguagens de programagao em que as variaveis
mudam de tipo dinamicamente conforme a situagao.
Isso quer dizer que ela nao precisa seguir exatamente
6 tipo que foi determinado a ela.
Suponha que temos uma variével do tipo String e
digitamos nela um nimero qualquer. Mesmo sendo do
tipo Texto, conseguirfamos realizar célculos matema-
ticos com ela.
+ Fortemente tipada:
Sao linguagens em que o tipo da varidvel, uma vez
definido, mantém-se o mesmo até que ela seja elimi-
nada da memédria. rentemente do caso anterior,
nesta, se temos um tipo String e inserimos um nume-
ral, ele continuaré valendo apenas como texto e impe-
dird a realizago de calculos matematicos.
+ Dinamicamente tipada:
£ 0 tipo de linguagem em que o tipo da varidvel €
ela em si sdo definidos em tempo de execusao, ou seja,
sao definidos quando o programa ja est4 em uso. Por
‘exemplo, temos um campo em que se pede para que 0
usuario digite algo. Se ele inserir um texto, ela se tor-
naré String.
+ Esteticamente tipada:
0 tipo da variavel é definido em tempo de compila-
40, ou seja, enquanto o programa é criado.
eneris
=
LOGICA DE PROGRAMACAO
EXERCICIOS
01 - Analise cada sentenca a seguir e marque V quando Verdadeira e F quando Falsa.
a) Ameméria RAM é utilizada para armazenar dados temporarios.( )
b) Variavel pode ser um sindnimo de memoria RAM. ( )
‘c) Uma variavel é um espaco reservado na meméria do computador para armazenar algum tipo de informacao.( )
d) Amemoria RAM pode armazenar dados por tempo indeterminado, independentemente de estar com corrente
elétrica ou nao. )
(02 - Analise o programa a seguir, identifique suas varidveis e transcreva-as no local adequado:
+ VARIAVEIS
; ‘+ Recebe 0 PRIMEIRO valor;
Fo ae ‘+ Recebe 0 SEGUNDO valor;
Pian ee ‘+ SOMA é igual ao PRIMEIRO valor mais 0
EINIGIOL ‘SEGUNDO;
* Resultado ¢ igual & SOMA.
. FIM
(03 - Abaixo, temos um programa para calcular a média de livros que cada leitor de uma determinada biblioteca |e
Por més. Com base nos seus conhecimentos, identifique as variéveis preenchendo os campos vazios:
+ VARIAVEIS * INICIO
‘+ Recebe a quantidade de livros da MESO1;
‘+ Recebe a quantidade de livros da MESO2;
© SOMA é igual 20 valor do MESO1 mais do MESO2;
‘© MEDIA é igual & SOMA dividida por 2.
FIM
04 - Utilizando ainda o mesmo programa do exercicio anterior, analise-o e, entéo, escreva 0 tipo correto de cada
uma de suas variaveis:
+ INICIO
+ VARIAVEIS ‘= Recebe a quantidade de livros da MESO1;
MESO1 do tipo 7 + Recebe a quantidade de livros da MESO2; |
MES02 do tipo + SOMA é igual ao valor do MESO1 mais do MESO2;
SOMA do tipo ; ‘* MEDIA é igual & SOMA dividida por 2.
MEDIA do tipo. 4 * FIM
(05 - A respeito da classificago das linguagens de programacao, faca a combinagao entre as colunas para que cada
item seja relacionado com sua respectiva definicao.
1) Fracamente tipada; ( Jem que o tipo da variavel é definido ao mesmo tempo que o programa é criado.
2) Fortemente tipada; ( As varidveis mudam de tipo conforme a situacao.
3) Dinamicamente tipada; {Uma vez atribuido, o tipo da variével ndo muda mais.
4) Esteticamente tipada. ( Jo tipo ¢ definido conforme o programa é executado.
CONCLUSAO
Nesta atividade, vocé aprendeu o que so as varidveis, muito utilizadas nas linguagens de programacdo, além de
conhecer cada um de seus tipos. Para falar sobre varidveis, conheceu um pouco mais sobre a meméria RAM do com-
putador, onde elas so armazenadas. Também aprendeu que as linguagens de programacao podem ser classificadas
a e conheceu algumas dessas classificacdes.mn
OBJETIVOS DA AULA
+ Aprender o que sao os operadore
+ Conhecer os operadores aritméticos;
+ Obter conhecimento sobre os operadores rela-
cionais;
+ Analisar os operadores légicos.
© QUE VAMOS FAZER
Na atividade de hoje, revisaremos os principais
conceitos vistos durante a aula interativa e, por isso,
reforgaremos nosso aprendizado sobre os operado-
res, seus tipos e, também, suas funcdes. Detxando a
conversa de lado, esperamos que vocé fique atento a
todos o detalhes contidos em seu material didatico.
© QUE SAO OS OPERADORES?
Basicamente, os operadores séo meios pelo qual
adicionamos, subtraimos, comparamos e avaliamos
0s dados dentro do computador. Essas fungies sao di-
vididas em trés tipos de operadores:
+ Operadores Aritméticos;
+ Operadores Relacionai
+ Operadores Légicos.
CONHECENDO OS OPERADORES
ARITMETICOS
De acordo com as fungdes descritas sobre os opera-
dores, podemos dizer que os operadores aritméticos,
Go os responsdveis por adicionar e subtrair os dados
do computador. Isso porque eles séo utilizados para
LOGICA DE PROGRAMA
cho
obter resultados numéricos através das operagdes de
adigao, subtra¢o, multiplicagdo e divisao. Além des-
tas que sdo bem comuns, também podemos usar 0
operador para exponenciacao, 0 qual é representado
por dots asteriscos (**). A seguir, temos uma pequena
tabela que mostra os operadores aritméticos e seus
simbolos dentro da linguagem de programagao.
Operagbes Simbolos
Adicio +
Subtracao =
Multiplicagio * |
Divisio 7
Exponenciacao a
HIERARQUIA DAS OPERACOES
ARITMETICAS
Agora que conhecemos as operagdes aritméticas,
€ muito importante aprendermos sobre sua hierar-
quia, isso porque, caso facamos algum célculo errado,
teremos nosso trabalho prejudicado. Primeiramente,
veremos a ordem em que as operagées deverdo ser
calculadas:
12 - Multiplicagdes e Divisdes (conforme a ordem
em que elas aparecem);
22 ~ AdicSes e Subtragdes (conforme a ordem em
que elas aparecem).
Para que voce possa entender melhor essa primeira
parte sobre a hierarquia, acompanhe 0 exemplo mos-
trado a seguir: P
2LOGICA DE PROGRAMACAO
i)
RESULTADO: 1+7*2/2-1
RESULTADO: 1 +14 /2-1
RESULTADO: 1+ 7-1
1e7,que dag.
RESULTADO: 8 - 1
RESULTADO: 7
‘Aqui, nosso primeiro passo foi multiplicar 7 vezes 2, que resulta em 14.
Em seguida, dividimos 14 por 2, que
‘Como sé nos resta uma adigo e uma subtra¢ao, comeramos somando
igual a7,
Depois, calculamos 8 menos 1.
E chegamos ao resultado 7.
Como vocé pode ver, 0 conceito de hierarquia das
operacées aritméticas nao é nada complicado, porém,
ele nos exige muita atencdo, afinal, queremos obter
sucesso nos trabalhos que desenvolvermos.
Se formos calcular uma expresso e que haja varias
operagées distintas e uma delas se encontre entre pa-
rénteses, esta seré a primeira a ser calculada:
12 - Operagdes entre parénteses;
Multiplicagdes e Divisées (conforme a ordem
em que elas aparecem);
Dando continuidade, ha algo sobre esse assunto
que devemos saber: “E se inserirmos parénteses em
Es das oporacSes, como Neate a heer 38 ~ Adigdes e SubtragSes (conforme a ordem em
er exatamente Iso 0 que Veremos agora! aes
secs cS Si
‘Agora, observe um exemplo que segue essa hierarquia: ¥
RESULTADO: 3 * (2-1) + 4/2 Primeiramente, calculamos a subtrag4o que se encontra entre parénteses,
Nesse caso, 2 menos 1, que é igual a 1.
Em seguida, multiplicamos 3 vezes 1, que é 3.
Depois, calculamos 4 dividido por 2, que resulta em 2.
Para finalizar, somamos 3 mais 2.
Assim, chegamos ao resultado 5.
RESULTADO: 3* 144 /2
RESULTADO: 3 + 4 /2
RESULTADO: 3 +2
RESULTADO: 5
Com isso, conhecemos as operagdes aritméticas e sua hierarquia quando hd ou nao o uso de parénteses. Por-
tanto, daremos continuidade a aula e aprenderemos mais um tipo de operador:
neem te ae
APRENDENDO SOBRE OS OPERADORES ela esteja errada, o resultado ¢ falso. Observe os exem-
RELACIONAIS plos mostrados a seguir:
Lembra-se das finalidades dos operadores que des- 1=2 Falso (1 nao ¢ igual a2)
crevemos anteriormente? Podemos dizer que os ope- 2<>1 — Verdadeiro (2 ¢ diferente de 1)
radores relacionais so os responsaveis por comparar 8>7 Verdadeiro (8 é maior que 7)
‘os dados do computador. Eles s4o sempre usados nas 3<2 Falso (3 nao é menor que 2)
4 Verdadeiro (4 6 maior que 2)
tomadas de decisdo de um programa e, dessa forma,
estabelecem uma relacdo entre dois ou mais valores e
possibilita, assim, que o programa escolha qual cami-
nnho seguir. Observe na tabela abaixo os operadores €
seus significados:
1 Verdad
Muito fécil, no é mesmo? Para auxilié-lo em seus
estudos, a seguir temos 0 mesmo programa, mas exi-
bido de duas formas diferentes. Isso porque em uma
delas utilizaremos os operadores relacionais nas to-
(1.6 menor que 3)
Operadores Significados madas de decisao do mesmo:
aaa Sem utilizar os operadores relacionais nas tomadas
> Malor que de decisio:¥
5 Maior ou igual eee
< Menor que PRIMEIRA do tipo INTEIRO;
Menor ou igual SEGUNDA do tipo INTEIRO;
= ; FALTAS do tipo INTEIR
Die vente) SOMA do tipo INTEIRO;
Para cada comparagao correta, dizemos que o re- MEDIA do tipo NUMERO EM PONTO
sultado da expressio é verdadeiro. Do contrario, caso FLUTUANTE;
23.+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
‘+ Recebe a SEGUNDA nota do aluno;
‘+ Recebe o niimero de FALTAS do aluno;
+ SOMA ¢ igual PRIMEIRA nota mais a SE-
GUNDA nota;
MEDIA ¢ igual & SOMA dividida por 2;
+ SeaMEDIA for maior ou igual a 7
+ Apresentar ao aluno a MEDIA;
+ Apresentar o ntimero de FALTAS;
+ Informa que ele foi APROVADO;
+ Sea MEDIA for menor que 7
+ Apresentar ao aluno a MEDIA;
‘+ Apresentar o ntimero de FALTAS;
‘+ Informar que ele foi REPROVADO;
+ FIM;
Utilizando os operadores relacionais nas tomadas
de decisao:¥
+ VARIAVEIS
PRIMEIRA do tipo INTEIRO;
SEGUNDA do tipo INTEIR(
FALTAS do tipo INTEIRO;
SOMA do tipo INTEIRO;
MEDIA do tipo NUMERO EM PONTO
FLUTUANTE;
+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ Recebe o ntimero de FALTAS do aluno;
+ SOMA ¢ igual a PRIMEIRA nota mais a SE-
GUNDA nota;
MEDIA ¢ igual & SOMA dividida por 2;
+ MEDIA >=7
‘+ Apresentar ao aluno a MEDIA;
‘+ Apresentar o niimero de FALTAS;
+ _Informar que ele foi APROVADO;
+ MEDIA<7
+ Apresentar ao aluno a MEDIA;
‘+ Apresentar o ntimero de FALTAS;
+ Informar que ele foi REPROVADO;
+ FIM;
Como vocé pode ver, os operadores relacionais fo-
ram inseridos exatamente nas tomadas de decisio do
programa, informando o que é necessério para o alu-
no ser aprovado ou reprovado.
‘Agora que aprendemos um pouco mais sobre esse
conceito, continuaremos nossa aula e conheceremos 0
terceiro tipo de operador.
2
LOGICA DE PROGRAMACAO
ANALISANDO OS OPERADORES LOGICOS
Os operadores légicos sdo os responsdveis por ava-
liar os dados do computador. Eles sao utilizados quan-
do hé a necessidade de fazer mais de uma comparacao
para que uma aco possa ou ndo ser realizada ou, en-
tao, em casos que se queira negar, inverter o resultado
de uma comparagdo, Diferentemente dos outros tipos
de operadores, este nao usa simbolos, e sim palavras
em inglés, como vocé pode ver a seguir: ¥
+ AND (E);
+ OR (OU);
+ NOT (NAO).
Para que vocé possa entender melhor, conhecere-
mos cada um dos tipos separadamente. Comearemos
pelo operador légico AND (E):
+ AND (£)- este operador é utilizado quando for
necessario comparar duas ou mais condigdes
em que elas sio VERDADEIRAS, ou seja, todas
as condigées exigidas devem ser cumpridas.
Utilizando os operadores relacionais nas tomadas,
de decisio:
+ VARIAVEIS
PRIMEIRA do tipo INTEIRO;
SEGUNDA do tipo INTEIRO;
FALTAS do tipo INTEIRO;
SOMA do tipo INTEIRO;
MEDIA do tipo NUMERO EM PONTO
FLUTUANTE;
+ INICIO;
+ Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ Recebe o niimero de FALTAS d alunc
+ SOMA é igual 4 PRIMEIRA nota mais a SE~
GUNDA nota;
MEDIA é igual a SOMA dividida por 2;
+ MEDIA >= 7 AND FALTAS <= 25 entao
‘+ Apresentar ao aluno a MEDIA;
+ Apresentar o nimero de FALTAS;
+ _Informar que ele foi APROVADO;
+ SENAO, ENTAO:
‘+ Apresentar ao aluno a MEDIA;
+ Apresentar o nimero de FALTAS;
+ Informar que ele foi REPROVADO;
+ FIM;
ScseriigLOGICA DE PROGRAMACAO
‘Vocé deve ter notado que, agora, o programa passou
aconsiderar também o niimero de faltas do aluno. Além
isso, j4 temos as nossas condigdes para que ele seja
aprovado ou nao. Sendo assim, observe as mesmas:
+ MEDIA >= 7 AND FALTAS <= 25 entdo;
+ SENAO, ENTAO
Na primeira condigéo temos o que o aluno deveré
cumprir e, na segunda, a situacdo contréria, caso ele
no cumpra 0 que fol pedido. Nesse caso, 0 aluno de-
verd obrigatoriamente ter média maior ou igual e 7
também o seu niimero de FALTAS deverd ser menor
ou igual a 25.
Como vimos, 0 operador légico AND transforma os
critérios para 0 aluno ser aprovado em exigéncias.
Continuando, agora conheceremos o operador légi-
co OR (OU):
+ OR (OU) - Basicamente, ele funciona como o
operador l6gico AND (E), ou seja, é usado quan-
do ha a necessidade de comparar duas ou mais,
condigdes, porém é obrigatério que pelo menos
uma dessas comparagées seja cumprida.
Observe novamente o programa de notas, mas no
lugar do operador légico AND, temos 0 OR:
VARIAVEIS
PRIMEIRA do tipo INTEIRO;
SEGUNDA do tipo INTEIRO;
FALTAS do tipo INTEIRO;
SOMA do tipo INTEIRO;
MEDIA do tipo NUMERO EM PONTO
FLUTUANTE;
«INICIO;
* Recebe a PRIMEIRA nota do aluno;
+ Recebe a SEGUNDA nota do aluno;
+ Recebe o ntimero de FALTAS do aluno;
+ SOMA ¢ igual a PRIMEIRA nota mais a SE-
GUNDA nota;
+ MEDIA 6 igual A SOMA dividida por 2;
+ MEDIA >= 7 OR FALTAS <= 25 entéio
‘+ Apresentar ao aluno a MEDIA;
‘+ Apresentar o niimero de FALTAS;
‘+ Informar que ele fol APROVADO;
+ SENAO, ENTAO:
+ Apresentar ao aluno a MEDIA;
+ Apresentar o niimero de FALTAS;
+ Informar que ele foi REPROVADO;
+ FIM;
Como vocé pode ver, alteramos apenas o operador
l6gico na primeira condi¢ao do programa, mas a leitu-
ra do mesmo ja é diferente.
‘Agora, o aluno precisa apenas ter média maior ou
igual a 7 ou, entao, nao ter faltado mais que 25 vezes.
Se ele obter sucesso em um desses critérios, ele sera
aprovado. Caso isso nao acontega, 0 mesmo seré re-
provado.
Antes de fazermos alguns exercicios sobre os con-
ceitos que estamos aprendendo, conheceremos o tilti-
mo operador légico, o NOT (NAO):
+ NOT (NAO) - Este operador é usado para inver-
ter o resultado légico das expresses, ou seja, se
ela for Verdadeira, basta inserirmos o mesmo e
ela passa a ser Falsa, ou vice-versa.
Para que vocé possa entender melhor, faremos um
rapido teste de mesa, em que nosso aluno tem média
Be 10 faltas, Dessa forma, a primeira condicao ficaria
da seguinte maneii
8>=7 AND 10 <=25
A primeira parte dessa expressdo é verdadeira, pois
8 & maior que 7. Na segunda parte, também temos um
resultado verdadeiro, afinal, 10 com certeza é menor
que 25. Como estamos utilizando o operador AND, €
necessdrio que toda a expresso seja verdadeira e,
como foi exatamente isso o que aconteceu, 0 resultado
légico da mesma é Verdadeiro.
Se colocarmos o operador Igico NOT A frente da
‘mesma, ela seria mostrada da seguinte forma:
NOT (8 >= 7 AND 10 <= 25)
Dessa forma, invertemos o resultado da expresso,
ou seja, como ela era Verdadeira, passa a ser Falsa.g
Fa LOGICA DE PROGRAMAGAO i
A seguir, temos um tabela que mostra todos os valores possiveis criados pelos operadores légicos AND (E),
‘OR (OU) e NOT (NAO):
12 Valor | Operador | 22 Valor | Resultado
v AND) Vv.
AND)
‘AND,
‘AND
OR
OR
oR
OR
NOT
NOT
nl<|a]<|=]<]=
al<|=|=|<]<]=]=]<
<|=|=|<|<|<|=|=|=]<
EXERCICIOS
01 - Selecione a alternativa que vocé julga conter a ordem correta da hierarquia das operagbes aritméticas:
a) 12— Operacées entre parénteses / 22 ~ Multiplicagdes e divisies / 32 AdigSes e subtracdes
b) 12—Adigdes entre parénteses / 22 ~ MultiplicagSes e divisdes / 32 - Adigdes e subtragdes
c) 12 —Subtracdes entre parénteses / 2°~ Multiplicagées e divisdes / 3° - Adicdes e subtracdes
4d) 12 Operacées entre parénteses / 22 ~ Multiplicacdes e subtragdes / 32 — AdigGes e divisoes,
e) 12 Operacées entre parénteses / 22 ~ Multiplicacdes e adicdes / 3° - Divisdes e subtragdes
02- Analise a expresso a seguir e, depois, escolha a alternativa que contém o resultado correto:
RESULTADO: 4+3~-2*2+(3-1)
a)3 5 e)7
b)4 46
(03 - Observe os simbolos mostrados a seguire, afren- 04 - De acordo com o que aprendemos sobre os ope-
te de cada um deles, informe a qual tipo de operador adores légicos, observe as expressées a seguire marque _
eles pertencem: V para aquelas em que o resultado for Verdadeiro e F
para Falso: {
al<
b)/ a)5>3AND3><6 ()
Oe pbjegitanal Saba T aL, b)7>=3 NOT CO)
a+ )9>100R2=2 fe
O)
ao d)4>=1AND6
e)3<-4NOT
CONCLUSAO
Reforcamos nosso aprendizado sobre os operadores aritméticos e as hierarquias dessas opera¢des; aprendemos
sobre os operadores relacionals que so responsdveis por comparar os dados e usados para tomadas de deciso. Por
fim, vimos um pouco sobre operadores ldgicos AND, OR, NOT e que sdo usados quando existe a necessidade de fazer
‘mais de uma comparacdo.
Bem, mais uma etapa do nosso curso foi vencida. Agora, relaxe um pouco e volte, porque ainda temos outras eta
pas para vencer. A gente se encontra na préxima unidade. Ate Id!OBJETIVOS DA AULA
+ Conhecer um pouco mais a respeito de Estrutu-
rade Decisao;
‘+ Aprender o que sio Comando de Decisio SE;
+ Conhecer como é elaborado o Comando de De-
cisdo Case;
+ Obter conhecimento de como utilizar os Co-
mando de Repetic3o;
+ Entender melhor sobre Comando de Repeticao
FOR;
+ Aprender como a estrutura de Repeticio do
WHILE é definida;
+ Como evitar os Lagos Infinitos.
© QUE VAMOS FAZER
Nesta atividade, vamos reforgar todos os concei-
tos vistos no contetido da aula interativa. Sendo as-
sim, iremos nos aprofundar nos detalhes de tudo 0
que vimos a respeito de Estrutura de Decisao, falare-
mos muito sobre os Comando de Deciso SE e Case e
aprenderemos a usar os Comando de Repeticao finita
¢ infinitamente. Sobre esse comando, falaremos, tam-
bém, sobre mais duas classes que so FOR e WHILE.
Depois, conheceremos o que s4o Lagos Infinitos, tendo
em vista que ele pode ser esperado ou nao e sabendo
que, em muitos momentos, sdo erros de programacao.
Esperamos que se empenhe ao maximo e preste mui
ta atengao aos t6picos, pois veremos contetidos indis-
pensdveis para a vida de programador.
LOGICA DE PROGRAMACAO
Aula 05| Estruturas de Decisdo e Repeticao
COMANDO DE DECISAO
‘Todas as estruturas de programagao, independent
da linguagem utilizada, tém instrugdes que controlam
todo o fluxo de execugao do programa, como vimos em
aulas anteriores.
Os Comandos de Decisdes sao implantados em um
cédigo-fonte com o objetivo de direcionar o fluxo de
execugao e fazer com que algumas linhas de cédigo sé
sejam executadas caso necessérias. Essas estruturas
permitem que um cédigo seja executado um niimero
determinado de vezes ou quando obedecem as condi-
Ges légicas da programacao.
‘Vamos usar como base um e-mail particular. Se di-
gitarmos a senha corretamente nao teremos nenhum
problema e poderemos usé-lo outras vezes tranquila-
mente. No entanto, se errarmos algumas vezes essa se-
nha, esse programa ser bloqueado automaticamente
e ficard inacessivel ao usuario. Isso acontece porque 0
programador especificou que teria que ser assim.
Para desenvolver programas competentes neces-
sério, na maioria das vezes, tomar decisdes durante a
execugdo do Algoritmo. £ o que acontece, por exem-
plo, em um programa de escola em que é preciso deci-
dir se serd exibido para o usuario se o altino foi apro-
vado ou reprovado, de acordo com as notas inseridas
no programa, Essas decisdes interferem diretamente
no andamento dele.
7=e
COMANDO DE DECISAO SE
0 Comando de Decisao SE é muito utilizado quando
14 necessidade de testar uma condigo antes mesmo
de executar uma ado. De maneira geral, essa classe
funciona assim: se uma determinada condigao for
atendida, 0 programa percorreré um caminho espe-
cificado por nés programadores. Caso essa condiga0
nao seja atendida, ele percorrerd outro caminho, tam-
bém pré-determinado por nés. Vamos ver 0 exemplo
a seguir:
Imagine que teremos que construir um programa
para controlar todo 0 estoque de um determinado
item definido pelo usuario. Em certa parte do progra-
ma, terfamos a verificagio de quantidade para alertar
© usuario que o estoque esta balxo demais. Veja a se-
guir como seria:
Se ESTOQUE < 10 entao
Escreva("Estoque muito baixo. Providen-
ciar a compra de mais itens!”)
Sendo
Escreva(“Estoque esté dentro dos limites
normais.”)
Fimse
Podemos observar que a estrutura é muito bem de-
finida. Na primeira parte, temos a verificacdo que, nes-
se caso, é ver se a varidvel ESTOQUE é menor que 10.
Se ESTOQUE < 10 entao
Escreva(“Estoque muito baixo. Providen-
ciar a compra de mais itens!”)
Sendo
Escreva("Estoque esta dentro dos limites
normais.")
FimSe
Se a condigao for totalmente atendida, 0 bloco que
est contido entre o ENTAO e o SENAO e serd executa-
do como mostra o exemplo a seguir:
Se ESTOQUE < 10 entao
Escreva("Estoque muito baixo. Provi-
denciar a compra de mais itens!”)
Sendo
Escreva("Estoque est dentro dos limites
normats.”)
FimSe
Tendo em vista que se a primeira condigo contida
na estrutura de nosso programa nao for atendida, 0
bloco entre o SENAO e o FimSe é que sera executado.
B
LOGICA DE PROGRAMACAO
Se ESTOQUE < 10 entao
Escreva("Estoque muito baixo. Providen-
ciara compra de mais itens!”)
Sendo
Escreva(“Estoque esta dentro dos limi-
tes normais.”)
FimSe
Note que as estruturas de decisao caminham sem-
pre juntas com os operadores légicos. Como vimos na
aula passada, ao retornar verdadeiro ou falso em uma
expresso, os operadores l6gicos permitem ao progra-
mador, em seus cédigos, seguir um ou outro caminho
que serd determinado por nés.
Entdo, a expresso Se ESTOQUE < 10 entao
Pode ser tanto verdadeira, ou seja, ESTOQUE é me-
nor que 10, ou falsa, isto , ESTOQUE é maior do que 10.
E para reforgar nossos conhecimentos para que no
fiquem diividas a respeito de Comando de Decisdo SE,
vamos elaborar passo a passo um algoritmo que fica-
4 responsével por verificar se um nimero é positive
e exibir a seguinte mensagem na tela: “O NUMERO &
POSITIVO".
Inicialmente, temos o Terminal INICIO e, logo em
seguida, a classe que ficaré responsdvel por promover
aleitura do valor que sera inserido pelo usuario.
INICIO
Leia num
Em seguida, prontamente é questionado a seguinte
condiggo: SE numero maior que 0 ENTAO.
INICIO
Leia num
‘SE (num >= 0) ENTAO
Em seguida, precisamos adicionar uma classe que
ficard responsavel por apresentar a mensagem na tela
para 0 usuario caso o niimero seja positivo.
INICIO
Leia num
SE (num >= 0) ENTAO
ESCREVA “O NUMERO £ POSITIVO”
Podemos notar que a estrutura do programa esté
bem definida com as especificagdes que precisamos,‘ou seja, SE 0 valor digitado for maior ou igual a zero,
aparecerd a mensagem “O NUMERO E POSITIVO”, po-
dendo, assim, ser finalizado. Jé, se 0 valor digitado for
menor que o especificado por nés, também seré finali-
zado, mas nao ird passar por nenhum comando.
INICIO
Leia num
SE (num >= 0) ENTAO
ESCREVA “O NUMERO E POSITIVO”
FIM SE
FIM
Esse programa, basicamente, receberd o valor digi-
tado pelo usudrio e iré averiguar se ele é maior, igual
‘ou menor que 0. Caso for maior ou igual, iré nos mos-
trar a mensagem “O NUMERO E POSITIVO" e sera fi-
nalizado. Se o valor digitado for menor que 0, pulara a
classe SE e iré direto para o FIM SE e seré finalizado.
Mas como jé dissemos anteriormente, poderia existir
outro caminho a ser percorrido por um nmero nega-
tivo.
COMANDO DE DECISAO SELECT CASE
Acstrutura de decisio Select Case é utilizada para
testar, na condi¢ao, uma tinica expresso ou varidvel
que produz um resultado ou, entdo, o valor de uma va-
ridvel, em que esté armazenado um determinado con-
tetido. Compara-se, entao, 0 resultado obtido no teste
‘com os valores fornecidos em cada clausula “Caso”.
A estrutura Select Case funciona praticamente no
mesmo tracado da SE que vimos ha pouco, sé que com
algumas possibilidades a m
Esse comando é muito empregado para simplificar
todo o procedimento do programa e eliminar varias
etapas. Ele é muito aproveitado em MENUS, nos quais
teremos miltiplas escolhas, ou seja, quando precisa-
‘mos escolher uma determinada alternativa entre va-
rias que surgirao no decorrer de nossos programas.
Vamos imaginar que, conforme o estado selecio-
nado, um determinado valor de imposto tera que ser
apresentado na tela para 0 usudrio:
Case ESTADOSELECIONADO
m. Case SP
Escreva("Imposto neste Estado é de 10%")
Case Ry
Escreva("Imposto neste Estado é de 9%")
Case AM
Escreva("Imposto neste Estado de 11%")
Case TO
Sree reese error
LOGICA DE PROGRAMACAO
Escreva("Imposto neste Estado é de 13%")
Case MG
Escreva("Imposto neste Estado é de 4%")
Case RS
Escreva("“Imposto neste Estado é de 7%")
FimCase
De acordo com o exemplo mostrado acima, o valor
da varidvel Case é ESTADOSELECIONADO. Caso se-
lecionarmos uma dessas varidveis, uma determinada
mensagem serd exibida para nés. Veja a seguir qual
mensagem sera exibida de acordo com a Case TO:
Case ESTADOSELECIONADO
Case SP
Escreva(“Imposto neste Estado é de 10%")
Case R)
Escreva("Imposto neste Estado é de 9%”)
Case AM
Escreva("Imposto neste Estado é de 11%")
Case TO
Escreva("ImpostonesteEstadoéde13%")
Case MG
Escreva("Imposto neste Estado é de 4%")
Case RS
Escreva(“Imposto neste Estado é de 7%")
FimCase
De acordo com a Case TO, apareceré a mensagem
“Imposto neste Estado é de 13%”. 0 algoritmo Case
aceita que vocé use quantas condigées (ou eventos)
forem necessérias, tornando-as adequadas para es-
crever cédigos em circunstdncias em que hd varias
opgdes. A estrutura Case vai testar 0 valor de cada
estado logo apés termos escolhido um deles e, quan-
do for encontrado um ou mais valores coincidentes
com 0 escolhido, seré exibida na tela a mensagem pré-
-programada e seré dada a continuidade aos proximos
comandos.
Podemos dizer que a estrutura Select Case ou (Sele-
‘40 de Caso) verifica 0 controle da expressio e, caso 0
valor seja igual ao especificado, ira retornar um resul-
tado. Vamos usar um novo exemplo: suponhamos que
um programa tenha uma variével CORSELECIONADA,
ou seja,a cada cor que vocé selecionar iré aparecer uma
mensagem confirmando essa determinada cor.
Case CORSELECIONADA
Case “vermelho”
Escreva(“Vocé escolheu vermelho")
Case “azul”
Escreva("Vocé escolheu azul”)
Case “verde”Escreva(“Vocé escolheu verde”)
Case “marrom”
Escreva("“Vocé escolheu marrom’)
Case “rosa”
Escreva(“Vocé escolheu rosa”)
Case “laranja”
Escreva(“Vocé escolheu laranja")
Case “roxo”
Escreva(“Vocé escolheu roxo")
FimCase
Desse modo, caso tenhamos interesse em uma des-
sas cores e seleciondssemos uma delas, seria exibida
a mensagem confirmando essa cor. Vamos ver a men-
sagem que serd exibida na Case correspondente a cor
vermelho:
Case CORSELECIONADA.
Case “vermelho”
Escreva("Vocé escolheu vermelho”)
Case “azul”
Escreva("Vocé escolheu azul”)
Case “verde”
Escreva("Vocé escolheu verde”)
Case “marrom”
Escreva(“Vocé escolheu marrom”)
Case “rosa”
Escreva(“Vocé escolheu rosa”)
Case “laranja”
Escreva("“Vocé escolheu laranja’)
Case “roxo”
Escreva("“Vocé escolheu roxo”)
FimCase
Sabendo que a primeira Case é vermelha, mesmo
assim o programa ird verificar até o final dessa classe
para ter certeza de que ndo ha mais nenhuma com as
™mesmas caracteristicas, caso tenha, também seré exi-
bida a mensagem correspondente a ela.
COMANDO DE REPETICAO
Utilizamos os Comandos de Repeti¢ao quando
aguardamos para que um determinado conjunto de
instrugdes ou comandos seja executado, finita ou in-
finitas vezes.
Vamos aprender dois comandos dessa classe de
repeti¢ao, o FOR e 0 WHILE. Isso significa que tudo
© que for observado sobre repeticao sera, de alguma
maneira, uma variagao desses dois comandos que sao
muito utilizados para a construgdo do Comando de
Repetigées.
30
LOGICA DE PROGRAMAGAO
FOR: usaremos esse comando sempre que conhe-
cermos por completo quantas vezes queremos que
‘uma determinada sequéncia seja repetida.
WHILE: utilizaremos sempre que na6 conhecermos
exatamente quantas vezes a sequéncia serd repetida
ou se repetiré para sempre dentro de um lago. *
‘Também costumamos chamar de Lago esse tipo de
comando, uma vez que, o programa fica totalmente
“amarrado” em determinada sequencia da estrutura.
Tendo em vista que em programago frequente-
‘mente precisamos repetir uma mesma sequéncia de
‘comandos varias vezes, mas na maioria dos casos, nao
sabemos com antecipago quantas vezes essa sequén-
cia de repeti¢ao serd executada.
COMANDO DE REPETICAO FOR
Vamos comecar falando do Comando de Repeticao
FOR e, primeiramente, ver como é definida toda a sua
estrutura:
For Contador = 1 to 10
Escreva("Esse é 0 comando de
repeticao FOR")
FimFor
Avariavel Contador esté definida com o valor inicial
1, que esté delimitado, ou seja, poderd se repetir até
10, em que o programa serd encerrado.
For Contador = 1 to 10
Escreva("Esse é 0 comando de repeticao
FOR")
FimFor
Na sequéncia, temos tudo o que vai ser executado den-
tro do FOR, ou seja, seré exibida a mensagem na tela.
For Contador = 1 to 10
Escreva(“Esse é 0 comando de repetigao
FOR")
FimFor
Em seguida, o programa chegaré ao FimFor, em que
voltard ao CONTADOR para mais uma avaliagdo de re-
sultados. Mas vale ressaltar que o programa poderia
ter uma continuacao de acordo com a necessidade de
cada um.
For Contador = 1 to 10
Escreva("Esse 6 0 comando de repeticao
FOR")
FimFor
pos
bi ee ilies
wh]
ee
LfLOGICA DE PROGRAMACAO
Na prética, o computador faria esse processamento
da seguinte forma: ao chegar a linha de inicio do For,
ele colocaria a varidvel Contador com o valor 1. De-
pois disso, registraria um aum e, até que ela ndo tenha
0 valor 10 0 comando ird se repetir o tanto de vezes
necessério para alcangar o valor destinado.
‘Vamos usar um exemplo cléssico como base. Imagi-
ne ter que criar um programa especifico para a emi
so de ingressos para uma determinada festa. Seria
impresso um niimero determinado pelo usuario. Veja
a seguir como seria elaborado esse programa:
> VARIAVEIS
NUMERODEINGRESSOS do tipo INTEIRO;
CONTADOR do tipo INTEIRO;
P INICIO;
+ Recebe o NUMERODEINGRESSOS;
+ For CONTADOR = 1 to NUMERODEIN-
GRESSOS
+ Imprima um ingresso com 0 CON-
TADOR
+ FimFor
DFM;
Primeiramente, precisamos saber 0 nimero de
ingressos que sero colocados 4 venda para que, as-
sim, possamos limité-los. Vamos imaginar que fossem
1000.
> VARIAVEIS
NUMERODEINGRESSOS do tipo INTEIRO;
CONTADOR do tipo INTEIRO;
> INICIO;
+ Recebe 0 1000;
Logo na sequéncia, 0 programa entra na classe FOR
e indica que a variével Contador comecaria em 1,
> VARIAVEIS
NUMERODEINGRESSOS do tipo INTEIRO;
CONTADOR do tipo INTEIRO;
> INICIO;
+ Recebe 0 1000;
+ For CONTADOR =
to 1000
Depois de efetuado esse procedimento, ele iré im-
primir um ingresso com o niémero 1 e chegar, assim,
‘a0 FimFor em que seria acrescentado mais 1 ao valor
do CONTADOR, que passaria a ser 2 e ficaria disponi-
=
i] |
vel novamente para o usuério. Faria isso um a um até
imprimir o ingresso com o valor 1000, momento em
que finalizaria todo o programa.
> VARIAVEIS
NUMERODEINGRESSOS do tipo INTEIRO;
CONTADOR do tipo INTEIRO;
P INICIO;
+ Recebe 0 1000;
+ For CONTADOR = 1 to 1000
+ Imprimaum ingresso com 0 CON-
TADOR
+ FimFor
FI
‘Vamos para mais um exemplo! Imagine que precisa-
‘mos elaborar um programa que leia a idade digitada
pelo usuario e, logo em seguida, identifique se ele tem
21 anos para que, assim, possa imprimir um mensa-
gem para o usudrio. Veja a seguir as varidvels que va-
‘mos utilizar e, na sequéncia, toda a estrutura da classe
do Comando de Decis4o FOR:
> Varidvel
IDADE do tipo inteiro;
CONTADOR do tipo inteiro;
> INICIO;
+ Recebe a IDADE;
+ For CONTADOR = 1 to IDADE >= 21
+ Imprime a mensagem (Vocé jé atin-
git a majoridade)
+ Fimfor
FIM
O programa fica definido da seguinte forma: seré
inserido um valor (Idade) pelo usudrio. Logo em se-
gulda, o programa faré uma avaliagdo para identificar
sea pessoa tem 21 anos ou mais que isso. Caso digitas-
semos um valor maior, seria impresso a seguinte frase
para ele: Vocé 6 atingiu a maloridade. Em seguida, j4
sobre a classe FimFor, automaticamente retornaria ao
CONTADOR em que ficaria disponivel para receber um
novo valor.
> Varidvel
IDADE do tipo inteiro;
CONTADOR do tipo inteiro;
= Recebe a IDADE;
+ For CONTADOR = 1 to IDADE >= 21
31LOGICA DE PROGRAMACAO
+ Imprimia mensagem (Vocé ja atin-
git a maioridade)
+ Fimfor
FIM
0 programa basicamente funciona da seguinte for-
ma: recebe a idade do usuério, identifica a mesma e,
caso seja igual ou maior que 21, imprime a mensagem
para o usuario. Caso seja menor que isso, © programa
seré finalizado.
COMANDO DE REPETICAO WHILE
Diferentemente do For, o While, que quer dizer En-
quanto, pode ser usado quando nao sabemos quantas
vezes 0 processo terd que se repetir no decorrer de
todo 0 procedimento. Dessa forma, caso a condigao
seja verdadeira, 0 bloco de comando é executado.
Essa classe funciona da seguinte forma: testa a
condigao. Se a condigao for falsa, entéo, pula todos
05 comandos do bloco subordinado ao while e passa
a executar os comandos apés 0 bloco do while. Se a
condi¢ao for verdadeira, entao, executa cada um dos
‘comandos do bloco subordinado ao while. Apés exe-
cutar o iiltimo comando do bloco do while volta ao
asso 1.
0 comando while deve ser usado quando:
+ no soubermos exatamente quantas vezes 0
laco deve ser repetido;
+ oteste deve ser feito antes de iniciar a execucao
de um bloco de comandos;
+ houver casos em que o lago nao deve ser repeti-
do nenhuma vez.
Aestrutura de Comando de Decisdo WHILE é defi-
nida da seguinte forma:
‘While CONDIGAO A SER VERIFICADA do
Escreva("Esse & 0 comando de repeti¢ao
WHILE")
EndWhile
Vamos idealizar que para executar determinada
tarefa o usuério precise digitar uma senha e, enquan-
to ele ndo a acerta, o sistema a solicita infinitamente.
Veja como seria essa estrutura:
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
D INICIO;
* SENHA = "ABCD"
* While DIGITADO<>SENHA do
+ Pedir para digitar a senha e
armazenar na varidvel: DIGITADO.
* — EndWhile
D> FIM;
Vamos analisar esse cédigo com calma, Primeira-
mente, o programador definiu que a senha é ABCD.
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING; :
> INICIO; i
+ SENHA= “ABCD” “4
Depois disso, 0 programa entra em um lago While.
Dentro desse lago, ele pede para o usudrio digitar a
senha e armazena o valor digitado na varidvel DIGITA-
DO. Enquanto, ou seja, While, o valor digitado estiver,
diferente da SENHA, 0 processo se repetira, isto é, 0
usudrio poderd errar infinitamente a senha e o pro-
grama ficard preso nesse laco.
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
P INICIO;
* SENHA =“ABCD"
+ While DIGITADO<>SENHA do
+ Pedir para digitar a senha e
armazenar na varidvel: DIGITADO
+ EndWhile
DFM;
Sabemos que nos bancos, no e-mail e em todo lugar
que colocamos senha, depois de algumas tentativas, 0
sistema nao permite mais que ela seja colocada. Isso.
6 assim para evitar que o usuario fique tentando até.
acertar a senha. Para fazer com que isso ocorra, basta
melhorarmos um pouco esse cédigo. Vamos ver!
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
‘TENTATIVAS do tipo INTEIRO:
INICIO;
* SENHA="ABCD"
+. TENTATIVAS = 0LOGICA DE PROGRAMACAO
+ While DIGITADO<>SENHA AND TENTA-
TIVAS <3 do
+ Pedir para digitar a senha e arma-
zenar na variével: DIGITADO
+ Acrescentar 1 no valor da varivel
TENTATIVAS
+ EndWhile
‘+ Se TENTATIVAS >= 3 entdo
+ Escrever na tela (“Excesso de tenta-
af
tivas”)
+ Terminar o programa
+ SeNao
+ Escrever na tela ("Vocé acertou a
senha”)
+ Terminar o programa
+ FimSe
DFIM;
Inicialmente, temos a SENHA que continua a mes-
ma: ABCD. Logo abaixo dela, temos a classe TENTATI-
VA, que ficara responsavel pela contagem do nimero
de vezes em que o usuério ird digitara senha. Esse nti-
‘mero de vezes sera especificado por nés programado-
res. Também temos, agora na condigao do lago, dias
verificagdes com o operador légico AND. Esse cédigo
narrado da seguinte forma: se 0 DIGITADO for DIFE-
RENTE da SENHA E TENTATIVAS MENOS QUE 3. Isso
quer dizer que, enquanto as duas verificagées forem
verdadeiras, o laco ird se repetir.
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
‘TENTATIVAS do tipo INTEIRO:
> INICIO;
+ SENHA = "ABCD"
+ TENTATIVAS=0
=While DIGITADO<>SENHA AND
TENTATIVAS <3 do
De acordo com o programa, toda vez que 0 lago se
repete, ou seja, o usuario erra a senha, a varivel TEN-
TATIVAS tem seu valor acrescentado a 1. Com isso,
logo ela tera o valor equivalente a 3 nao sera mais
possfvel digitar a senha, tendo em vista que nao aten-
de mais as especificagdes, afina,! 3 ¢ igual a3 e nao é
menor.
Logo em seguida, temos duas condigdes na classe SE,
que se encontra logo abaixo. A primeira condi¢ao é caso
© usuario nao acerte as trés tentativas, ou seja, >=3, 0
programa ird mostra a seguinte mensagem: Excesso de.
tentativas. Em seguida, iré terminar o programa.
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
‘TENTATIVAS do tipo INTEIRO:
> INICIO;
+ SENHA = “ABCD”
+ TENTATIVAS = 0
+ While DIGITADO
= 3 entio
+ Escrever na tela ("Excesso de tentati-
vas")
+ Terminar o programa
A segunda condigao que é apresentada é a SeNao.
Ela estard pronta para realizar 0 comando, caso 0 usu-
rio acerte a senha dentro do ntimero de tentativas
permitidas. Apés o programa mostrar a mensagem
"Vocé acertou a senha’, ele serd finalizado,
> VARIAVEIS
SENHA do tipo STRING;
DIGITADO do tipo STRING;
‘TENTATIVAS do tipo INTEIRO;
> INICIO;
+ SENHA = "ABCD"
+ TENTATIVAS = 0
+ While DIGITADO<>SENHA AND TENTA-
TIVAS <3 do
+ Pedir para digitar a senha e arma-
zenar na varidvel: DIGITADO
+ Acrescentar 1 no valor da variével
‘TENTATIVAS
+ EndWhile
‘+ Se TENTATIVAS >= 3 entdo
+ Escrever na tela ("Excesso de tenta-
tivas”)
+ Terminar o programa
+ SeNao
+ Escrever na tela (“Vocé acertou a
senha”)
+ Terminar o programa
ft Fimse
> FM;
_—A
LOGICA DE PROGRAMACAO
‘Vamos idealizar um exemplo bem simples aonde
poderemos observar com facilidade como é todo esse
processo de verificagao do WHILE:
WHILE acb do a:=a+1;
Primeiramente, 0 computador ird verificar a condi-
40 com a seguinte pergunta: A é menor que B?
WHILE ach do a:=a+1;
Sea resposta obtida for positiva, o comando ai=a+1.
& realizado. Caso seja negativa, o comando é descarta-
do e segue para o préximo comando.
Vamos adicionar um niimero sobre esse programa e
ver como ele se sai, Imagine que A tenha o valor equi-
valente a 1 e 0 valor de B seja 3.
+ 16menor que 3? Positivo. A:
+1, A=2
0 computador iré realizar essa operacao da seguin-
te forma: na primeira explicacao, 0 usudrio digitaré 0
némero 1. Em seguida, o programa iré verificar se 0
niimero inserido é menor que 3. Se a afirmagao felta
anteriormente for Positiva, seré dada a continuidade
e seré realizado 0 comando seguinte.
Do mesmo modo sera realizado caso o usudrio digi-
te 0 niimero 2, ou seja, verificard se 2 é menor que 3.
Caso essa afirmacao seja Positiva, teré a continuacao,
+ 1€menor que 3? Positivo, A:=1+1, A=2
+ 26menor que 3? Positivo, A:=2+1, A=3
De acordo com o ultimo exemplo, se o valor digi-
tado for 3 ou maior que ele, o programa ira validé-lo
‘como Negativo, ira pular todos os comandos do bloco
subordinado ao while e passard a executar os coman-
dos apés.
+ 16 menor que 3? Positivo, A:=1+1, A=2
+ 2€menor que 3? Positivo, A:=2+1, A=3
+ 3.menor que 3? Negativo. Passe para o préxi-
‘mo comand.
Basicamente, 0 programa receberd o valor e iré ana-
lisar se ele é menor que 3. Se essa afirmagao for Posi-
tiva, realizara 0 comando a:=a+1. Se for Negativa, ira
seguir um outro comando de acordo com a estrutura,
LACO DE REPETICAO
Podemos dizer que Lagos Infinitos correspondem
a um encadeamento de instrugdes de programa para
computador que repete as instrugdes infinitamente
por nao haver nenhuma condigao de parada ou por-
que a condigao existe, mas nao é atingida nunca. Esse
momento pode ser definido pelo programador em va-
rias etapas.
Esse assunto pode fazer com que um programador
fique preso em um laco para sempre, podendo travar 0
programa a ser utilizado ou até mesmo 0 computador.
Em sistemas mais remotos, com multitarefas, os lagos
infinitos normalmente dificultavam todo o sistema. J&
na atualidade, com os modelos mais sofisticados de
multitarefa, os Lagos Infinitos procedem em um con-
sumo maximo em relacdo ao tempo do processador,
‘mas 0 procedimento geralmente pode ser finalizado
pelo usuario.
Podemos dizer que, em varias hipdteses, esse co-
mando 6 um comportamento j4 esperado. 0 termo
“lago infinito” & geralmente usado quando esse efei-
to ndo 6 o resultado aguardado, isto é, quando hé um
problema de programacao.
Vamos ver em qual situasdo poderia acontecer um
Lago Infinito indesejado. Repare que no programa a
seguir ha uma classe que est4 em negrito. Esse é um
comando essencial na estrutura. Sem ele, o programa
receberia a senha e, caso o usuario nao aacertasse, ele
ia entrar em um lago infinito, pois nao chegaria até
a préxima classe e nem retornaria para poder pedir a
senha novamente,
> INICIO
+ Escreva na tela ("Digite a senha: ")
+ Senha= 10
+ Numero = Digite um numero
While Digitado diferente da senha
+ Escreva na tela (“Senha errada: “)
+ Escreva na tela (" Digitar a senha: ")
+ Numero = Digite um numero
> EndWhile
+ SE numero = senha ENTAO
+ Escrevanna tela (“Correto! “)
+ FimSeLOGICA DE PROGRAMACGAO
EXERCICIOS
01 - O que é uma Estrutura de Decisio?
‘A) E um Comando para validacio.
8B) So instrugdes que controlam todo o fluxo de exe-
uso do programa.
€) 0 Comando de Decisao é usado sempre que o pro-
rama caia em um laco infinito.
D) Comando de Decisdo séo etapas a serem tomadas
02 - Quando utilizamos Comando de Decisio SE?
A) Sempre que precisarmos de miiltiplas escolhas
para sair de uma condigao.
8) Para completar uma estrutura no decorrer do pro-
erama,
C) Sempre em saidas de decis6es.
1D) Quando hé necessidade de testar uma condic5o
antes de executar uma aco.
03 - A estrutura de decisio, é
utilizada para testar, na condicao, uma Unica expresso ou
variével que produz um resultado ou, entéo, 0 valor de
uma varidvel em que est armazenado um determinado
contetido. Compara-se, assim, o resultado obtido no teste
com os valores fornecidos em cada cléusula.
A) SE.
B) Select Case.
C) Comando de Repeticao.
D) FOR.
04 - Quando utilizamos o Comando de Repetico?
‘A) Quando desejamos que um determinado conjunto
de instrugdes ou comandos seja executado, finito ou in-
finitas vezes.
B) Os Comando de Repeticdes so instrugdes que sio,
utilizadas automaticamente.
) Apés uma decisio ser tomada para vincular a estru-
tura com possiveis novas repeticées.
D) Todas estdo erradas,
05 - Quando 0 Comando de Repeticiio FOR deve ser
usado?
‘A) Quando houver casos em que o laco nao deve ser
repetido nenhuma vez.
B) O teste deve ser feito antes da execucdo de um blo-
co de comandos.
€) Sempre que soubermos exatamente o numero de
vvezes que o laco deve ser repetido.
D) Todas esto corretas.
06 - Qual a diferenca entre o Comando de Repetic3o.
FOR e WHILE?
‘A) FOR & um comando limitado, enquanto o WHILE
usamos quando nao sabemos quantas vezes precisare-
‘mos repetir o processo.
B) Utilizamos FOR quando temos uma cascata de deci-
ses, enquanto WHILE podemos delimitar a quantidade
de vezes a ser repetida.
C) FOR é usado apenas em decisdes tnicas, WHILE re-
pete apenas até 0 valor 1000.
D) WHILE nao é utilizado em repetices, FOR poder,
ser utilizado finita e infinitas vezes.
Ra SS IS EE
CONCLUSAO
Nesta aula apostilada, vocé teve um aprendizado mais detalhado sobre Estruturas de Decisdes. Aprendeu que,
muitas vezes, precisamos tomar decises no decorrer do algoritmo. Dissemos, também, que o Comando de Deciséo
SE pode ser usado da seguinte forma: caso determinada condicao seja atendida, o programa segue um caminho e, se
no for ele, seguird outro pré-determinado. Em relacdo ao Comando de Decisao Case, dissemos que ele, basicamente,
verifica o controle da expresso e, caso o valor seja igual ao especificado, ele ird retornar um resultado. Utilizamos
muito os comandos de repeti¢io quando desejamos que um determinado conjunto de instruges ou comandos seja
‘executado, finita ou infinitas vezes. Dentro dessa classe de repeti¢o, conhecemos dois comandos: 0 FOR, que é um
comando limitado, ou seja, quando nés programadores sabemos quantas-vezes ele terd que se repetir, € 0 WHILE,
que ¢ utilizado quando nao sabemos as vezes que o programa ird se repetir. NAo podemos esquecer do Lago de Re-
peticao, pois dizemos que Lacos Infinitos constituem um encadeamento de instrugSes de programa para computador
que repete as instrucbes infinitamente ou por nido haver nenhuma condicSo de parada ou porque a condicdo existe,
mas nunca é atingida
Daremos continuidade com todos os conceitos de Légica de Programacdo nas préximas aulas, portanto, dedique-se
‘a0 maximo para obter um excelente desempenho. Caso tenha restado aleuma duvida, aconselharemos que reveja
» todos os conceitos que foram vistos durante a aula e refaca os exercicios Até breve!
ps opyrantOBJETIVOS DA AULA
Conhecer a Orientacao a Objetos;
Conceito de Classe;
Conceito de Objetos;
Heranca Simples e Heranca Miltipla;
Usar e conversar com objetos;
Encapsulamento.
O QUE VAMOS FAZER
Assim como vimos na aula interativa, vamos conhe-
cera programagao orientada a objetos que, baseando-
-se em classes, determina atributos e métodos para
delimitar seus integrantes. Também verenos os tipos
de herangas, simples e miltiplas, além de comandar
as ages desses objetos e encapsular os dados da clas-
se. Esperamos que se dedique ao maximo e preste
muita atengdo nos t6picos para que, assim, consiga
um étimo desempenho no curso e, consequentemen-
te, obtenha sucesso profissional!
PROGRAMACAO ORIENTADA A OBJETOS
Por volta dos anos 70 e 80, ocorreu uma grande
proliferagdo de programadores no mundo. Com isso,
muitos projetos estavam em produgdo e na busca para
melhorar a organizagdo e garantir o reaproveitamen-
to de trabalhos. Foi, entdo, que sungiu o conceito de
Orientacao a Objetos.
A idela principal desse tipo de programagao é re-
presentar situagdes da vida real da melhor maneira
possivel no ambiente computacional.
Diferentemente dos demais modelos, que traba-
Tham com iniimeras linhas de cédigos, seguindo esse
molde trabalhamos com uma infinidade de objetos,
que representam a vida real, interagem entre sie bus-
cam atender alguma tarefa.
Falando assim, fica parecendo algo muito complica-
do e cientifico, ndo é mesmo? Mas nao é nada diss
Para facilitar a compreensdo, vamos dividir os assun-
tos e apresentar diversos exemplos praticos.
O CONCEITO DE CLASSE
Dentro desse novo tipo de programacio, trabalha-
mos com Classes, que so estruturas que retinem um
conjunto de objetos com caracteristicas similares,
além de definir o comportamento de seus integrantes.
Veja o exemploa seguir:
Imagine a Classe Pessoa. Ela possui alguns atribu-
tos, tais como:
I cabega
2bracos
2méos
Esses itens da Classe definem seus integrantes e,
entéo, para ser uma pessoa é necessério ter tais atri-
butos. No entanto, além disso, é necessario que exis-
tam métodos. 0 que seria isso?
Uma pessoa anda, corre, respira, come, fala e tudo
mais, certo? Entdo, essas agdes em programagao re-
cebem 0 nome de métodos. Continuando 0 exemplo
anterior, podemos dizer que a classe completa ficaria
assim:
Classe Pessoa
+ Atributos:
+ Leabeca
+ 2bracos
—————
36LOGICA DE PROGRAMACGAO
iM
+ 2méaos
+ Métodos:
+ Andar
+ Correr
+ Respirar
+ Comer
+ Falar
Com essa parte bem explicada, vocé deve estar pen-
sando: " Afinal, para que serve isso? Em que vou usar?”
Vocé se lembra o porqué da criacao da Orientacao a
Objetos? Foi para que projetos fossem melhor organi-
zados, mas também para que houvesse a possibilidade
de reaproveitamento e economia de tempo e dinheiro.
Pois bem, imagine, agora, que um programador de
uma empresa de software tem que elaborar um proje-
to para uma loja de materiais para construcdo, em que
sero cadastrados todos os clientes que, por sinal, nao
so poucos! Usando a orientagao a objetos, ele cria
a Classe Clientes com seus atributos e métodos para
usar no programa. Com isso, o cédigo referente a essa
estrutura ficaré guardado para ser utilizado quando
for preciso. Sendo assim, todo e qualquer programa
que precisar de uma Classe Cliente nao exigiré um re-
trabalho.
O CONCEITO DE OBJETOS
Um objeto é qualquer entidade que pode ser repre-
sentada, que existe e possui caracteristicas definidas.
Para utilizagao de uma classe, primeiramente, temos
que criar um objeto que, em programagao, chamamos
de insténcia. Veja o exemplo a seguir para deixar esse
conceito mais claro:
‘Temos novamente a Classe Pessoa, porém, dessa
vez, com mais atributos:
Classe Pessoa
+ Atributos:
= Lcabeca
2 bragos
2maos
Nome
Peso
Idade
= Métodos:
+ Andar
Correr
Respirar
Comer
Falar
prereset
Seri
Agora, imagine uma pessoa especifica, o André. Ele
seria uma instancia, um objeto vindo dessa classe.
André = Classe Pessoa
Objeto André
+ Atributos:
1 cabega = Sim
2 bragos = Sim
2 mao:
Entéo, 0 objeto André herdou os atributos e méto-
dos vindos da Classe Pessoa, o que faz dele uma pes-
soa, porém com caracteristicas dos atributos diferen-
tes que fazem dele um individuo diferente de outros.
Entdo, cada ser é uma instancia diferente.
HERANCA SIMPLES E MULTIPLA.
© conceito heranca permite que classes comparti-
Them atributos e métodos e reaproveitem cédigos ou
comportamentos generalizados. Dessa forma, a criacao
de subclasses ou classes filhas é facilitada. Encontra-
mos dois tipos de variacdo para essa ferramenta, veja:
+ Heranga Simples.
Na heranga simples, subclasses ou classes filhas de-
rivam de uma tinica superclasse ou classe pai e her-
dam dela o cédigo. Veja 0 exemplo:
Classe Pessoa
+ Atributos:
+ Nome
RG
CPF
E-Mail
Endereco
A partir disso, podemos criar a Classe Funcionério
ea Classe Cliente.
Classe Funciondrio
© Atributos:LOGICA DE PROGRAMAGAO
Nome
RG
CPF
E-mail
Endereso
Fungao
Salario
+ Setor
Classe Cliente
© Atributos:
+ Nome
+ RG
+ CPF
+ E-Mail
+ Enderego
+ Limite de Crédito
© Preferencias
‘Temos, assim, a seguinte formagao:
Pessoa (Super Classe)
Cliente e Funciondrio (Sub-Classes de Pessoa)
+ Heranga Miltipla.
Nesse caso, subclasses herdam atributos e métodos
de mais de uma superclasse. Tal processo é presente
apenas em alguns tipos de linguagem de programa-
0, pois, se realizado com frequéncia, pode gerar uma
codificacao confusa e dificultar a manutengao do céd
go. No entanto, como ela existe e pode ser usada, veja
o exemplo:
‘A Super Classe Pessoa e as Subclasses Funcionério e
Cliente podem ser utilizadas em um programa de uma
loja onde quem trabalha, também consome, o que da
origem a uma nova subclasse.
Classe Funcionério - Cliente
+ Atributos:
+ Nome
+ RG
+ CPF
+ E-Mail
+ Enderego
+ Fungao
+ Salério
+ Setor
+ Limite de Crédito
+ Preferencias
E €assim que uma heranca miltipla ocorre: uma nova
subclasse com todos os atributos de duas outras classes.
USAR E CONVERSAR COM OBJETOS
Para fazer com que nosso objeto realize algum mé-
todo ou para obtermos alguma informagao dele, temos
que enviar, via programagio, mensagens que o fargo
obedecer, mas claro que esses comandos devem estar
corretamente estruturados para serem cumpridos.
‘Vamos utilizar o objeto André para que fique mais claro,
André = Classe Pessoa
Objeto André
+ Atributos:
+ Lcabeca = Sim
+ 2bragos = sim
+ 2maos
+ Idade = 21 anos
+ Métodos:
Andar
Correr
Respirar
Comer
Falar
Se desejarmos que ele ande, bastaria a seguinte
mensagem: André.Andar(100 metros)
André é 0 objeto e, separado por ponto, chamamos
‘0 método Andar, além de indicarmos a disténcia (100
metros). E como ja dissemos, também podemos solici-
tar alguma informago, por exemplo, sua idade. Para
isso, bastaria enviar a mensagem:
IdadeDaPessoa = André.Idade
Nesse caso, falamos que a variavel IdadeDaPessoa
recebe o valor vindo do atributo Idade.
ENCAPSULAMENTO
Outros programadores poderdo utilizar todas essas
classes que criamos e, para esconder os detalhes do
funcionamento de seus atributos, é utilizado 0 encap-
sulamento, £ algo como um celular. Vocé nao precisa
entender de telefonia, nem de eletrOnica para utiliza-
-lo. Basta digitar os niimeros e falar: Encapsular é isso,
nao € necessario entender como algo funciona e, sim,
apenas saber usé-lo.
Novamente no caso da pessoa, para fazer 0 objeto
andar, 0 programador nao precisa saber como funcio-
3
Presser=
1
LOGICA DE PROGRAMAGAO
nao método correspondente, bastadarocomandoeo —_Para finalizar nossa aula, faca alguns exercicios que
objeto realiza: André.Andar(100 metros) ajudarao na fixagao dos conceitos que vimos hoje. Es-
E por mais que um método seja complexo, sua uti-_peramos que tenha gostado do que aprendeu e que, de
lizagao depende apenas do método a ser chamado da _agora em diante, utilize essas informagdes da melhor
forma correta. forma possivel. Até a proxima!
EXERCICIOS
1 Escolha a alternativa correta:
a) Classes so compostas por atributos e métodos.
b) Através das herancas, classes compartilham cédigos.
¢) E possivel realizar comandos e obter informagSes sobre o objeto através de mensagens via programacdo.
4) Encapsular ¢ esconder de outros programadores os detalhes do funcionamento de um método.
€) Todas esto corretas.
2- Ligue os pontos.
1 Atributos a) Compartithamento de cédigos.
2- Métodos b) Protecdo de detalhes do funcionamento,
3-Encapsulamento ©) Caracteristicas.
4-Heranca d) Agées.
3 Marque Verdadeiro ou Falso.
© encapsulamento esconde toda a estrutura do cédigo e impede sua manipulacao. ( )
Para fazer parte de uma classe, um objeto necessita ter os mesmos atributos e métodos nela descritos.( }
E aconselhavel nao utilizar varias vezes o esquema de heranca multipla.( )
Herancas simples so mais comuns e simples de se trabalhar. ( )
Sa ereOBJETIVOS DA AULA
+ Conhecer o que é 0 Small Basic;
+ Realizar Download e instalar o Small Basic;
+ Aprender a trabalhar com o programa;
+ Ver como elaborar pequenos programas para
trabalhar com niimeros.
© QUE VAMOS FAZER
Hoje, iremos nos aprofundar nos contetidos vistos
na atividade anterior. Veremos mais sobre o funciona-
mento do Small Basic e sua principal ferramenta, a In-
telliSense. Além disso, vocé também praticaré mais al6-
gica da programacao, através da criagao de programas
desenvolvidos especialmente para te introduzir a este
mundo fantastico de cédigos e linguagens com 0 qual
séo formados os programas de computador. Contamos
com seu entusiasmo para mais este desafio! Boa aula!
SES ro ee SS NS
O QUE E O SMALL BASIC?
Desenvolvido pela Microsoft Corporation, o Small
Basic é uma ferramenta destinada a iniciantes em
programacao. Com ele, vocé cria programas de forma
simples e quase que intuitiva, afinal, basta saber um
pouco sobre a légica para poder usé-lo. Além de tudo,
ele ainda conta com a ajuda de uma importante ferra-
menta, a IntelliSense. Assim, seus jogos e programas
podem se tornar reais antes do que vocé imaginal Este
software permite, de maneira dindmica, colocar em
pratica toda a teoria que vimos até aqui!
CONHECENDO A INTELLISENSE
Com certeza vocé deve estar se perguntando: “Mas
o que éa Intellisense?”
Essa fantastica ferramenta fol desenvolvida pela
mesma criadora do Small Basic e é de grande ajuda
durante 0 uso do programa. Ela é um recurso inte-
rativo que autocompleta os cédigos que estao sendo
digitados. Sempre que inserimos um caractere vali-
do para elaboracao do programa, ela 6 aberta como
uma pequena janela Pop up e nos mostra as opgdes
de cédigos possiveis paraa situagdo em que sua estru-
tura se encontra. Vocé percorre as alternativas atra-
vés das setas direcionais do seu teclado e seleciona a
NTE nao para por ai! A IntelliSense também nos mostra
BAIXANDO E INSTALANDO O SMALL BASIC
Small Basic é livre e esté disponivel para que todos possam usé-lo, Para isso, basta fazer o download do
programa através do site do mesmo e instald-lo em seu computador. Vamos ver como fazer isso?
> Realizando o Download:
+ Primeiramente, acesse o site www.smallbasic.com. Na pagina inicial do programa, clique sobre o icone
Download, localizado ao canto direito da tela. ¥
Tos =
; 7
LOGICA DE PROGRAMACAO
que quiser pressionando Enter. Além disso, ela tam- uma pequena explicagao sobre o item que est sele-
‘bém reconhece as varidveis que vocé cria e identifica cionado, assim, quando nao temos certeza sobre qual
quando podem ser necessarias, 0 que evita que fique _cédigo utilizar em determinado local, podemos contar
digitando-as varias fases e agiliza muito seu trabalho. com mais esse recurso.
B Small Basic
+ Depois disso, é mostrada uma mensagem que pergunta se queremos salvar o programa. Clique em Salvar
para que ele seja armazenado na sua pasta de Downloads, ou seja, aquela pasta configurada para receber
todos os arquivos que vocé baixa através do seu navegador. ¥
ese savar ou executar Smalbasc (70 MB) de downlosd microsoft.com?
+ Feito isso, a mesma janela mostraré a porcentagem do Download que jé foi conclufda eo tempo restante
para o término do mesmo. ¥
> Quando terminado o Download, temos trés opgées disponiveis, sao elas:
‘+ Executar: como o nome sugere, esta opcdo executa o arquivo, iniciando sua instalacdo diretamente.
+ Abrir pasta: abriré a pasta em que o arquivo baixado foi salvo.
+ Exibir Downloads: mostra um lista com todos os Downloads realizados no navegador. ¥
Oem ont x
INICIANDO A INSTALACAO:
- Com o download concluido, jé podemos iniciar a instalago do software.
+ Para isso, basta clicar em Executar ou ir até o arquivo e dar um duplo clique sobre o mesmo.
+ Com isso, é mostrada na tela uma janela que nos dé boas-vindas ao instalador do Small Basic. Entao, ape-
nas clique em Next para prosseguir.
es a1Rtesteeman tere,
(Sree ttn yar mae Gatenwcnsuee
Agora, é exibido o termo de licena do programa.
Ele visa orienté-lo a tudo que estard submetido ao uti-
lizar 0 programa e, também, sobre direitos autorais,
etc. Apés terminar de lé-lo, marque a caixa I accept
the terms in the license Agreement para confirmar
alleitura e clique mais uma vez em Next.
LOGICA DE PROGRAMACAO
Isso nos abre diversas opedes de linguagens. Clique
sobre a pequena seta da alternativa Brazilian Portu-
guese e, dentre os itens mostrados, selecione o pri-
meiro, como mostra a imagem a seguir: ¥
Com isso, pedimos ao instalador que acrescente a
lingua Portugués do Brasil no programa. Vale lembrar,
também, que, neste caso, a necessidade de instalacao
de um idioma pode variar de acordo com as configura-
Ges de regio da sua maquina.
Mais uma ver, clique em Next. Chegamos, por fim,
na tiltima janela antes da instalago. Ela nos indica
que todas as configuragdes que haviam para ser fei-
tas ja estéo prontas. Portanto, clique em Install para
comegar. ¥
3 Hi i
Continuando, na janela, temos a opgdo que nos per-
mite instalar outros idiomas, como o portugués, por
exemplo, o que facilita nossa compreensao do progra-
ma. Para realizar esse procedimento, clique sobre 0
pequeno sinal de Mais (+) no canto da opcdo Main
Files. ¥
Uma barra mostra o progresso da instala¢do. Quan-
do concluda, clique em Finish para sair do assistente
de instalagao. V
Pam a ee eS a cS 5.
= onCom o Small Basic instalado em sua maquina, vocé
terd a oportunidade de exercitar seus conhecimentos
em légica da programagio na sua casa,
Vocé poder revisar os exercicios propostos em
aula, além de executar outros programas disponibili-
zados no seu material unicamente para seu desenvol-
vimento!
‘Agora, vamos logo ao que interessa: conhecer este
excelente software!
Como deve ter percebido, obter e instalar 0 progra-
ma sao passos simples, que realizamos em poucos mi-
nutos!
ser RS cts
PRIMEIROS CONTATOS COM O SMALL BASIC
Como falamos no inicio desta aula, 0 Small Basic foi desenvolvido para iniciantes em programacao. Sendo
assim, sua interface de usuario, ou seja, a tela que utilizamos para interagir com o programa é bastante simples.
___ Logo vocé perceberd isso por conta, afinal, quando se deparar com softwares comerciais de programacao, aque-
J —_les utilizados por profissionais, notard o quanto eles podem ser complexos. Claramente, isso nao é motivo algum
para preocupasdo, pois, assim que obtivermos dominio sobre programas simples como este, estaremos com
_certeza preparados para todos os outros!
E ‘Vamos entender os itens que compe o Small Basic. As principais areas do programa sao: o Editor, identifica-
do por [1], a Barra de Ferramentas [2] e a Area de Trabalho [3]. ¥
a Que tal sabermos um pouco mais sobre cadaum? —_abrirmos um outro trabalho, este vira em um novo
Editor, posicionado sobre o mostrado atualmente.
Editor: ele é semelhante ao bloco de notas. £ nele
Wij que digitamos os cédigos dos programas que quere- _ Barra de Ferramentas: como o proprio nome diz,
mos desenvolver. No Small Basic, podemos ter mais _ nesta parte temos os comandos do Small Basic. Com
rie de um Editor aberto ao mesmo tempo e, sempre que _ ela, temos op¢des de, por exemple, criar novos arqui-
Ci
43-_
jee
vos, abrir arquivos existentes, salvar, recortar, copiar €
colar arquivos. Também nao podemos esquecer de um
comando da Barra de Ferramentas que é sempre mui-
to utilizado, que é 0 Executar. Ele nos permite testar
0s programas que estamos elaborando. Assim, temos
uma viséo de como ele esté saindo e se algo estiver
errado, ao invés de executar o programa, serd exibida
uma pequena aba na parte inferior da tela nos infor-
mando que tipo de erro est acontecendo e que linha
‘mesmo se encontra.
Area de Trabalho (Surface): 0 nome também diz
tudo, é a drea geral do Small Basic. E nela que ficam
dispostos os Editores que estamos utilizando durante
nosso trabalho. Além disso, existe, na area de trabalho,
uma coluna, no canto direito da tela. Ela é uma ajuda
que nos mostra informagdes a respeito do cédigo que
estamos utilizando.
‘TextWindowWriteLine("Bem-vindo ao mundo da programagao!”)
Mas o que este cédigo que dizer?
Sabemos que quando digitamos um c6digo estamos passando ordens ao computador e que elas devem ser
extremamente claras e objetivas. A linha representada acima é um comando. Nela, pedimos ao computador que
exiba na janela de execugo do programa o nosso texto, veja: ¥
1. TextWindow= é o nome da janela preta em que
so exibidos os programas executados. Portanto, a0,
inciar 0 cédigo dessa forma, estamos informando ao
computador que queremos que os cédigos restantes
sejam executados na TextWindow, que significa janela,
de texto,
2, WriteLineQ)= com este comando, informamos &
maquina que inseriremos caracteres, ou seja, letras,
niimeros etc, em uma linha. Estes caracteres ficarao
dentro dos parénteses. Entdo, até 0 momento, dize-
mos que, na janela de execugdo serd inserido alguns
caracteres para exibicao.
3. "Bem-vindo ao mundo da programacio!
dissemos ao computador que iremos inserir caracte-
res na TextWindow, mas, para que esses caracteres
formem um texto que possa ser exibido, temos que
transformé-los em String. Eé justamente para isso que
inserimos as aspas (“"). Com isso, dizemos a ele que 0
contetido digitado é simplesmente um texto para ser
exibido.
Como pode perceber, a légica da programacao é
algo muito interessante, concorda? No entanto, saiba
que para trabalhar com ela é necesséria muita aten-
LOGICA DE PROGRAMACAO
FAZENDO USO DO PROGRAMA
‘Agora que j4 conhecemos o Small Basic, veremos
como trabalhar nele! Afinal, acreditamos que a parte
mais esperada é a pratica, no é mesmo? Mas para que
possamos praticar, devemos saber como trabalhar
‘com o software e evitar, assim, equivocos desnecessa-
rios.
Quando abrimos o Small Basic, nés nos deparamos
‘com sua area de trabalho, em que jé existe um Editor
aberto. Isso significa que, logo que iniciado, ele j4 est
pronto para ser usado. Sendo assim, vamos supor que
queiramos executar um programa simples, que ape-
nas exiba o texto “Bem-vindo ao mundo da programa-
40!” na tela.
Para isso, utilizaremos o seguinte codigo: ¥
0, afinal, conforme seus conhecimentos no assunto
vao sendo ampliados, os programas vao ficando cada
vez, mais complexos.
Apesar de exigir atengdo, nao pense que elaborar
programas grandes, que envolvam muitos cédigos,
seja complicado, afinal, com deve se lembrar, temos
no Small Basic a IntelliSense. Em um cédigo pequeno
como este que utilizamos como exemplo, ela seria uti-
lizada em duas situagdes, observe a seguir:
Para inserirmos TextWindow, digitarfamos apenas a
letra “T" e, com a IntelliSense sendo mostrada, teclaria-
‘mos a seta direcional para balxo duas vezes e pressiona-
riamos Enter. ¥Em seguida, ao digitar 0 ponto (.) que separa os cédi-
0s, a Pop up ja seria mostrada novamente. Como o in-
tuito é inserir WriteLine, digitarfamos “W" e uma vez a
seta direcional para baixo. Confirmariamos com a tecla
Enter»
Note que esta janela é realmente muito iitil e de facil
utilizago. Agora, veremos como nao perder os nossos
trabalhos depois de prontos!
SALVANDO PROJETOS
LOGICA DE PROGRAMACAO
OT Tertvindornn
Uma coisa muito importante é sabermos salvar corretamente os nosso trabalhos para evitar que eles sejam
perdidos depois de prontos: Para salvar um programa, basta clicar sobre o botao Salvar, na area Arquivo, da
isso, a janela Salvar como é mostrada. Vamos conhecer seus principais itens: ¥
a) Salvar em: esta area nos permite escolher 0 des-
tino que nosso arquivo sera salvo. Clicando sobre a
pequena seta no canto esquerdo da barra, temos di
poniveis as opgdes que podemos seguir.
B) Nome: como pode imaginar, neste campo, digita-
-se 0 titulo que o arquivo receberd ao ser salvo.
C) Salvar: depois de definido o titulo e o local em
que 0 arquivo ser salvo, clique em Salvar para con-
cluir.
D) Criar Nova Pasta: gera uma nova pasta no local
escolhido pelo campo Salvar em. Isso é muito impor-
tante, pois, quando salvamos um programa, podem ser
gerados até quatro arquivos de extensGes diferentes
dos nossos programas e, para manté-los organizados,
criamos uma nova pasta para 0 projeto. Assim, tudo
que se refere a ele fica armazenado no mesmo local.
INICIANDO A PRATICA
‘A melhor maneira de fixar os conhecimentos so-
bre a logica da programacao é praticando, afinal, esta
6 uma atividade em que, depois de ter a base inicial,
vocé constréi suas préprias habilidades conforme sua
dedicacao. Comegaremos, entao, cada vez mais, utili-
zar o Small Basic na elaboragao de programas. Assim,
além de nossa atividade ficar cada vez mais dinamica
e divertida, vocé evolui profissionalmente!aie
LOGICA DE PROGRAMACAO
> Dividindo dois nimeros:
Faremos um programa de divisao entre dois nime-
ros. Nele, 0 usudrio digitaré o primeiro valor e, em se-
guida, o segundo. Entdo, seré exibido o resultado da
divisio de um pelo outro. Ao trabalho!
a) Em seu computador, abra o Small Basic através
do menu Iniciar> Todos os Programas> Small Ba-
sic> Microsoft Small Basic.
b) Antes de qualquer coisa, pediremos que, na jane-
la de execugdo, a TextWindow, seja exibida uma des-
crigdo do nosso programa para informar ao usuario
para que ele serve. A descri¢ao poderd ser a seguinte:
“Programa para dividir dois nimeros:”. Sendo as-
sim, sem esquecer de utilizar o auxilio da IntelliSense,
insira na primeira linha do Editor o cédigo:
‘TextWindow.WriteLine( "Programa para dividir dois nimeros:”)
) Em seguida, devem ser mostradas instrugdes
para que a pessoa que esteja utilizando nosso trabalho
saiba o que fazer. Essas indicagdes de uso devem ficar
logo abaixo da primeira. Portanto, pressione Enter
para ir a linha dois e, entdo, digite o seguinte cédigo:
‘TextWindow:WriteLine( Digite o primeiro valor:”)
4) Devemos informar para o computador que ele
deverd receber o primeiro valor logo depois deste tex-
to. Portanto, deveremos inserir o comando Read, que
permite a insergo de caracteres e a variavel primei-
ro, que sera preenchida com 0 niimero que o usuario
digitar. Pressione enter para irmos a terceira linha e,
entao, adicione o seguinte cédigo:
primeiro = TextWindow.Readl)
Dessa forma, fizemos a primeira parte do nosso
programa! Até aqui, informamos ao computador que
ele devera coletar 0 primeiro mimero. Seu trabalho
deve estar semelhante ao mostrado a seguir:
Continuaremos com nossa atividade construindo,
agora, a segunda parte.
ty
e) V4 para a linha quatro com o auxilio da tecla En-
ter, Assim como anteriormente, sera necessério pedir
que a maquina exiba um texto que pega ao usuario
para inserir o segundo valor e, ento, um espago para
que esse ntimero seja digitado. Portanto, insira os cé-
digos como mostrado a seguir:
‘TextWindow.WriteLine(“Digite o segundo valor:”)
segundo = TextWindowRead\)
“Textndbe rita ine(Progrones pare dividin dale winroa
‘TesthindowriteLine(Oigite © primeire valor")
rlnnre» Tertsina tnd)
sundown") Programa para dividr dois ndmeros;
© Ineo
‘* Receber 0 PRIMEIRO valor;
‘© Receber 0 SEGUNDO valor;
resultado=primeiro/segundo + Diviir o PRIMEIRO pelo SEGUNDO;
‘Text Window:Writetine("O resultado da divisSo dos dois &") + Informaro resultado obtido;
‘Text Window.Writetine(resultado) + Fim
DICAS E CURIOSIDADES
Em varios momentos vocé poderd se deparar com sinal de parénteses () nos programas e, até mesmo, em
operagdes matematicas, Mas saiba que isso é muito comum.
Nas aulas de matemética aprendemos que sempre calculamos primeiro as contas que esto dentro dos parén-
teses. Na programaco é a mesma coisa. Desse modo, ao se deparar com um cédigo que pede para multiplicar-
‘mos dois nimeros e para que o resultado seja dividido, saber que a multiplicagao estar em parénteses para
que seja realizada primeiro.LOGICA DE PROGRAMACAO
FACA VOCE MESMO-
Para que vocé possa praticar ainda mais, seguem al-
guns pseudocédigos para vocé desenvolver projetos no
Small Basic. Lembre-se que, se em algum momento sur-
git uma divida, basta consultar a teoria acima, afinal,
ela foi desenvolvida para 0 seu desenvolvimento! Saiba,
também, que no final desta apostila, ha um gabarito,
‘onde poderd encontra os cédigos dos exercicios a seguir.
1) Célculo de IMC (Indice de Massa Corpérea)
Vocé com certeza jé deve ter ouvido falar sobre o IMC,
que € uma medida que calcula o Indice de Massa Cor-
poral de uma pessoa, adotada pela OMS (Organizacdo
Mundial de Sauide) para medir a obesidade. Para realizar
© calculo deve-se dividir 0 peso da pessoa por sua altura
a0 quadrado, ou seja, devemos dividir 0 peso da pessoa
por sua altura vezes altura. Com o resultado em maos,
basta ver uma pequena tabela que nos informa se a pes-
soa esté ou ndo em seu peso ideal. Veja o exemplo:
‘Se Marcos pesa 80kg e tem 1.80m de altura, o calculo
de seu IMC é realizado da seguinte maneira:
'80/1.80? ou 80/(1.80*1.80)
‘Seu IMC 6 igual a: 24,69
Isso significa que ele esté em seu peso ideal, como
pode conferir na tabela abaixo:
Tabela de IMC
A tabela de Indice de Massa Corporal é uma medida
utilizada para medir a obesidade adotada pela Organiza-
do Mundial de Sade (OMS) e, também, & considerada
padrdo internacional. Saiba que se uma pessoa possui o
sobrepeso ou a obesidade, indicados pelo IMC, elas pos-
suem maior fatores de risco para doencas como a hiper-
tensio arterial, a doenca arterial coronariana e a diabe-
tes melittus, além de outras patologias consideradas de
alto risco para a Satide Publica
Resultado
‘Abaixo de 17 Muito abaixo do peso
Entre 17 ¢ 18,49, ‘Abaixo do peso
Entre 18,56 24,99 Peso normal
Entre 25 € 29,99
Entre 30 € 34,99,
Entre 35 € 39,99,
‘Acima de 40
‘Acima do peso
‘Obesidade |
Obesidade Il (severa)
Obesidade il (mérbida)
Para faciltar ainda mais este célculo, vocé pode cons-
truir um programa que o realize e depois mostre 0 re-
sultado. Assim, basta comparar o resultado na tabela e
identificar 0 IMC. Para elaborar no Small Basic um pro-
grama que faca isso, siga o pseudocédigo a seguir:
+ Célculo de imc:
INICIO;
“Digite seu peso:”;
Recebe 0 PESO;
“Digite sua altura:
Recebe a ALTURA;
RESULTADO ¢ igual ao PESO dividido pela
ALTURA ao quadrado;
* "Seu IMC é:”
Mostra RESULTADO;
+ FIM,
Lembre-se: para realizar a multiplicago antes da divi
sdo, ela deve estar entre parénteses. € a altura sempre
deve ser separada por ponto (.): 1.80.
2) Muttiplicando dois nimeros
Que tal construir um programa que multiplique dois
intimeros e Ihe mostre o resultado? Para isso, tenha como
base o pseudocédigo a seguir
‘+ Programa para multiplicar dois niimeros;
+ Inicio
+ “Informe o primeiro valor:”
Receber 0 PRIMEIRO valor;
“informe o segundo valor:”
Receber 0 SEGUNDO valor;
RESULTADO ¢ igual o PRIMEIRO mul-
tiplicado pelo SEGUNDO;
+ "Oresultado é:”
‘+ Mostrar RESULTADO;
+ Fim
Excelente! Com isso, terminamos nossa atividade! Ela
foi apenas uma introducao ao Small Basic para que voc8.
pudesse ver suas principais funcionalidades. Como deve,
ter percebido, com ele é possivel fazer coisas incriveis! E.
exatamente isso que faremos nas nossas aulas seguin-
tes! Esperamos revé-lo muito entusiasmado para nosso.
novo encontro. Até a proximalOBJETIVOS DA AULA
+ Programar utilizando as Tomadas de Decisao;
+ Elaborar no Small Basic, com a Estrutura de De-
iso, um cédigo para controlar um determina-
do produto;
‘+ Reforcaremos os conceitos a respeito de Pseu-
docédigo e Linguagem de Programacao;
© QUE VAMOS FAZER
Iremos nos aprofundar nos contetidos vistos na
atividade anterior. Faremos um cédigo que, em certa
parte do programa, terd a verificagio da quantidade
de produto para alertar o usudrio que o estoque esté
baixo demais ou dentro dos padrées normais.
Iremos trazer para a programacao real aquele
exemplo, bastante usado em nossas aulas anteriores,
que responde para o usuério se 0 aluno passou ou
1ndo de ano, mediante os valores inseridos sobre ele
LOGICA DE PROGRAMACAO
la 08| Estruturas de Decisdo e Repeticao na Pratica
‘+ Traremos para a programacdo, 0 cédigo de
Emisso de Ingressos para aprender ainda mais
sobre Comando de Repetigo FOR;
+ Utilizando o WHILE, transformaremos o pseu-
docédigo do cédigo de senha que vimos em
uma de nossas aulas para testa-lo no programa,
e observaremos e relembraremos a diferenga entre 0
pseudocédigo. Utilizaremos, ainda, o Comando de Re-
petig&o FOR para destacar a importancia do lago fini
to de repeti¢ao em programacao. Também veremos 0
‘comando WHILE que, para falar a respeito, traremos 0
‘cédigo em que o usuario precisa acertar a senha. Pres-
te bastante atengao em tudo que ser visto na apostila,
pois serd de grande importancia os assuntos aborda-
dos! Tenha uma boa aula!
49od
LOGICA DE PROGRAMACAO
ESTRUTURA DE DECISAO SE
Vamos imaginar que um programa tera que con-
trolar o estoque de determinando produto. Em certa
parte do programa, teria a verificacao de quantidade
do mesmo para alertar 0 usuario que o estoque esta
baixo demais e é necessério comprar mais produtos.
‘Vejamos como seria esse comando em pseudocédigo:
Se ESTOQUE < 10 entao
Escreva("Estoque muito baixo! Compre mais!")
Sendo
Escreva("Estoque dentro dos liniites normais’
Fimse
Mas antes de prosseguirmos com 0 cédigo, vamos
nos atentar em todos os detalhes que esto presen-
tes sobre esse programa, ou seja, 0 pseudocé
que, assim, nao tenhamos dividas para elabora-lo no
Small Basic.
Ser | Wa inguagem de progamardorealé [WF
Enc: [Na inguagem de progararso realé | THEN
Sendor_| Na tnguager de progamectorealé [Ese
Fine: _ | Natinguagem de programacio realé [ENDIF
a) Em seu computador, abra o Small Basic através
do menu Iniciar> Todos os Programas> Small Basic>
Microsoft Small Basic.
b) Primeiramente, precisamos que na janela de exe-
cucdo TextWindow seja apresentado uma mensagem
intuitiva sobre a descrigao de nosso programa, ou seja,
um texto auxiliando-o nas etapas a partir do seu fun-
cionamento. Portanto, na primeira linha do documen-
to, pressione a tecla W e, com a ajuda da IntelliSense,
insira o seguinte cédigo:
TextWindow.WriteLine(“Entre com a quantidade do
produto em estoque:”)
€) Nosso préximo passo seré informar para 0 com-
putador que ele deverd receber um valor lodo depois
deste texto. Sendo assim, deveremos inserir 0 comando
Read, que permite a insergao de caracteres. Sabendo
que temos apenas uma variavel que, no caso, 6 Estoque,
vamos inseri-la acompanhada de um comando que faga
© computador entender que o valor digitado pelo usu-
rio é a nossa varidvel. Sendo assim, apenas para uma
melhor visualizagdo, pressione enter para mudarmos
de linha e, entao, adicione o seguinte cédigo:
Estoque=TextWindow.Read{) s
4d) Agora, faremos uma manipulagao de dados, ow
seja, caso a resposta obtida pelo programa seja ver-
dadeira, ele seguira um determinado caminho; se for
falsa, seguir outro. Utilizaremos para tal faganha o
If que, de acordo com o que ja falamos, é sempre se-
guido da condigao que, por sua vez, serd seguida do
comando Then para que possa ser executada, Portan-
to, pressione novamente Enter e, em seguida, digite 0
seguinte cédigo:
If Estoque < 10 Then
€) Precisamos adicionar os comando que sero exe-
cutados mediante a decisdo que serd tomada anterior-
‘mente, ou seja, 0 que serd feito apés a manipulagao de
dados entre o If e o Then. Para entendermos melhor
essa linha de cédigo acima, ela & narrada da seguinte
forma em pseudocédigo: Se Estoque menor que dez.En-
tao. Em nosso caso, precisamos exibir uma mensagem
na tela, portanto, dé Enter e insira 0 seguinte cédig
TextWindow.WriteLine(“Estoque muito baixo! Com-
pre mais!”)
f) Nessa situago, em que temos que executar uma
entre duas opcdes, sempre utilizamos o Else (caso con-
trario), Podemos entender o comando Else da seguinte
forma: caso uma condicao seja verdadeira, seguira um
determinado caminho. Do contririo, ira seguir outro,
de acordo com a necessidade do usuario. Com seus co-
nhecimentos, pressione Enter e insira o Else.
Else
8) De acordo com o que j construimos, ser apre-
sentada, na tela, a mensagem “Estoque muito baixo!
Compre mais!” se o resultado obtido for menor que
10. Precisamos, entao, inserir os comandos para que
a mensagem que diz que 0 estoque esta correto seja
exibida na tela. Na linha 5 do documento, di 0 se-
guinte texto:
TextWindow.WriteLine(“Estoque dentro dos niveis
normais.”)
h) Por fim, precisamos finalizar 0 comando If, sa-
bendo que jé temos todos os comandos estipulados no
infcio de nossa aula em que se encontra o pseudocé-
digo. Sendo assim, insira o comando EndIf na linha 6:
Endif
Dessa forma, finalizamos 0 nosso cédigo. Portanto,
‘vamos rever 0s passos que esse programa realizard:
primeiramente, exibira a seguinte mensagem para 0
usudrio: “Entre com a quantidade de produtos em
oer
|:
:
i:LOGICA DE PROGRAMACAO
0 passo seguinte foi inserir a nossa varidvel Estoque,
de modo que a mesma estava acompanhada pelo coman-
do Read, que permite a insercao de caracteres. Lembre-
-se que o valor a ser digitado ser’ efetuado pelo usuario
de acordo com a verificacao do estoque. >
Adicionamos uma condigao que ficou expressa da se-
guinte forma: Se estoque for menor que 10 entdo. 7 TextWindow.WriteLine("Entre @ quan
Caso essa afirmagao seja verdadeira, a mensagem di- 2 Estoque=TextWindow.Read()
zendo que “Estoque muito baixo! Compre mais!” sera
exibida,
Do contrario, a mensagem dizendo: “Estoque dentro dos niveis normais” é que seré apresentada na tela,
Finalizamos 0 programa com o EndIf. ¥
fi “i TextWindow.WriteLine("Entre com a quantidade do produto em estoque:")
2 Estoque=TextWindow.Read()
3 If Estoque < 10 Then
4 TextWindow.WriteLine("Estoque muito baixo! Compre mais —
5 Else
6 TextWindow.WriteLine("Estoque dentro dos niveis normais.")
7 EndIf
§) Para executar o programa, dé um clique sobre o botdo Executar (F5), que se encontra na Barra de Ferra-
‘mentas do Small Basic e de acordo com a imagem a se-
guir, Apés esse procedimento, vocé seré instrufdo pela
seguinte mensagem que aparecerd na tela: “Entre com
a quantidade do produto em estoque:”. Portanto, in-
sira o valor 8 de acordo com as instrugdes e pressione
Enter para poder obter o resultado:
Repare que a mensagem dizendo “Estoque muito bai-
xo! Compre mais!” apareceu na TextWindow de acordo
com o programado.>
j) 0 proximo passo sera salvar o programa para que
‘voce possa us4-lo quando quiser ou mesmo utiliz-lo em
outros cédigo. Sendo assim, dé um clique sobre o botdo Salvar para que seja aberta a janela Salvar como, que
indica um local para tal aco. Salvaremos esse nosso cédigo em Documentos, Sendo assim, clique sobre o botao
» Bibliotecas. >LOGICA DE PROGRAMACAO
x) Dé um duplo clique sobre a pasta Documentos.
Em seguida, clique sobre o botdo Criar Nova Pasta.
Como podemos notar, o texto jé esta selecionado, sen-
do assim, digite Controle de Estoque e dé um duplo
clique sobre ela. ¥
‘Saiverom: [5g Bbiciecas J] «me
SBD cccemaee nagene
i miaae ee
Wc
ti
mw osc.
=
=
=]
as
Compa
Sendo assim, podemos dizer que terminamos mais este cédigo! Esse programa que acabou de construir é ca- =
paz de verificar 0 valor inserido pelo usuario e Ihe informar, através de uma manipulagdo de dados, se o estoque_
estd dentro dos padres de normalidade ou se é necessério comprar mais produtos. Logo abaixo podemos tirar_
algumas diividas a respeito da linguagem do pseudocédigo e da linguagem da programacao real.
‘TextWindowWriteline(“Entre com a quantidade do produto em
estoque:")
Estoque=TextWindow-Readi)
Estoque < 10 Then
“TextWindow\WriteLine(“Estoque muito balxo! Compre mats")
Ese
‘TextWindow\WriteLine(“Estoque dentro dos niveis normais.")
Endif
Se ESTOQUE < 10 entao
Escreva("Estoque muito basal Compre mais!
Senso
Escreva(“Estoque dentro dos limites normals”)
FimSe
m) Para darmos continuidade com a aula, precisamos de um novo documento. Portanto, clique sobre o botéo
Fechar e, em seguida, clique sobre o menu Novo, que se encontra na Barra de Ferramentas. ¥
Se
eee
= ee | Suen 8
|LOGICA DE PROGRAMACAO
COMANDO DE REPETICAO FOR
Esta metodologia de desenvolver uma varidvel é
muito comum na programacao, pois é um método mui-
‘to mais facil de fazer isso. 0 comando FOR permite que
um certo trecho do programa seja executado um deter-
minado niimero de vezes. Em termos de programacao,
‘esse momento & chamado também de Loop. 0 FOR per-
‘mite que vocé pegue uma variavel, dé um valor inicial
e final e deixe que o computador desenvolva a variavel,
para vocé, caso isso seja necessério. E ainda tem mais!
Toda vez que o computador incrementar essa varidvel,
ele roda todos os comandos que estiverem entre o FOR
e ENDFOR. Sendo assim, vamos relembrar como é a Es-
trutura de Repetigao FOR. Veja a seguir:
For Contador = 1 To 10
Escreva("Esse 6 0 comando de repeti¢ao For”)
FimFor
Entenderemos, agora, como 0 computador proces-
saria esse cédigo! Ao chegar & linha de inicio do For,
ele colocaria a variavel Contador como valor 1.
Depois disso, registraria um a um e, até que ela ndo
obtivesse o valor 10, o comando iria se repetir: Portan-
to, vamos seguir passo a passo como seria.
Primeira vez: 0 Contador é igual a 1. Sendo assim, o
computador escreverd na tela: “Esse 0 comando de
repeti¢ao FOR”. Ao fazer isso e chegar ao FimFor, a
variavel Contador tem seu valor acrescido de 1 e passa
avaler 2.
For Contador = 2 To 10
Escreva "Esse é 0 comando de repetigao For”)
FimFor
Segunda vez: o Contador é igual a 2. Por sua vez, o
computador escreve na tela: “Esse é 0 comando de re-
petigdo FOR’: Ao fazer isso e chegar ao FimFor, a varié-
vel Contador ter4 novamente o seu valor acrescido de
Le passaavaler 3.
For Contador = 3 To 10
Escreva("Esse & 0 comando de repetigao For”)
FimFor
E 0 processo ira se repetir até que a variével Con-
tador passe a ser 10. Ento, como 10 é o limite, 0 pro-
grama saird do lago e poder percorrer outro caminho
pré-determinado por nés, programadores, ou pela ne~
cessidade do programa.
Sendo assim, vamos colocar todos esses nossos co-
nhecimentos em pratica e digitar o cédigo de emissao
de ingressos, visto em nossas aulas anteriores.
a) Primeiramente, precisamos que seja apresenta-
da uma mensagem na janela TextWindow para que,
assim, possamos instruir o usudrio a inserir um certo
valor e indicé-lo etapa por etapa. Portanto, na primei-
ra linha do documento, digite o seguinte comando:
‘TextWindow.WriteLine(“Entrecom ondmerodeimpressosa emiti:
b) A varidvel sera inserida a partir das instrugdes
anteriores que indica que o valor a ser digitado nes-
se ponto pelo usudrio ser 0 ntimero de ingressos a
ser impresso. Para que esse comando seja posto em
pratica, precisamos de uma peca fundamental para
a insergao de valores, o comando Read. Sendo assim,
pressione Enter e, na segunda linha, digite:
Numerodeingressos = TextWindow.Read|)
Lembre-se que 0 comando Read() ¢ um comando
que simplesmente diz. ao computador para aguardar
o usuario digitar um valor e pressionar ENTER. Uma
vez que o usuario pressionar a tecla ENTER, 0 Read()
pega o valor que o usuario digitou e retorna-o para 0
programa. O ponto mais interessante é que tudo que
© usuario digitar, ficard armazenado em uma varidvel
que, no nosso caso, é Numerodeingressos.
¢) De acordo com a necessidade de nosso progra-
ma, teremos que especificar uma manipulagao de da-
dos, E importante atentar-se ao detalhe desse ponto
que é 0 fato de que inseriremos mais uma variével
que, no caso, seré o Contador. Dessa forma, 0 progra-
ma podera ser finalizado assim que o valor final, ou
seja, o mimero de ingressos que o usuario ird definir
para o programa for alcangado. Sendo assim, dé Enter
€ digite o seguinte comando:
For Contador=1 To Numerodeingressos
Vejamos, agora, como ficaria essa linha de comando
em pseudocédigo:
Para Contador igual a um até numerodeingressos.
4) 0 préximo comando serd digitar a mensagem
que apareceré na janela TextWindow juntamente com
© nimero de nossa varidvel Contador, ou seja, 0 pr
meiro ingresso serd impresso com o nimero 1, 0 se-
gundo com o niimero 2 assim sucessivamente. Para
isso, pressione Enter novamente para mudarmos de
linha e digite o cédigo a seguir:
TextWindow.WriteLine(“Imprimiringresso de ntimero: "+ Contador)
) Por iltimo, finalizaremos 0 laco For utilizando 0
inico comando destinado pra tal facanha, o EndFor.
De acordo com as nossas necessidades, pressione En-
ter para que assim possamos inseri-Io
EndFor
Basicamente, o programa fara a seguinte leitura:
que 0 cédigo for acionado, aparecera uma men-
sagem na tela para instruir o usuario a entrar com 0
niimero de impressos a emitir.
33Logo em seguida, ser4 disponibilizado ao usuério o local para que ele digite o valor desejado de ingressos.
Lembre-se que esse comando nao fetornara até um valor ser inserido e pressionado Enter. ¥
Na sequéncia, inserimos uma manipulagao de dados utilizando um lago e, também, mais uma varidvel que, no
nosso caso, fol a Contador. ¥
[ Textilindow.WriteLine("Entre como numero de impressos a emitir:")
| Numerodeingressos = TextWindow.Read()
Assim que o comando chegar a linha de baixo, seré apresentada uma mensagem ao usuario dizendo o seguinte:
Imprimir ingresso de numero: + Contador. 0 computador entenderia esse cbdigo da seguinte forma: ao chegar a
esse comando, 0 contador seria igual a 1, portanto, seria impresso o primeiro ingresso com o contador equivalente
a 1. Em seguida, ao passar novamente por esse lago, tendo em vista que seria acrescentado mais 1 a variével Conta-
dor, ela seria impressa com o valor 2, Isso ird se repetir até que seja atingido o ntimero final de ingressos. ¥
7 TextWindow.WiriteLine("Entre com o nimero de impressos @ eniti
Nunerodeingressos = TextWindow.Read()
jor=1 To NumerodeingressosLOGICA DE PROGRAMACAO
E 0 responsavel por finalizar todo nosso cédigo foi
oEndFor. ¥
=f
fextWindow.WriteLine("Entre com 0 ndeero de i
Numerodeingressos = Textitindow.Read()
For Contador=1 To Nunerodeingressos
i MeiteLine("Imprimir ingresso de
) Precisamos testar 0 nosso cédigo apenas para ter
a certeza de que ele esta devidamente correto. Sendo
assim, dé um clique no botao Executar (FS) que se
encontra na Barra de Ferramentas do Small Basic. ¥
g) Note que em nossa TextWindow foi apresentada
a mensagem que programamos anteriormente: Entre
com o mimero de impressos a emitir. Vamos ima-
ginar que precis4ssemos imprimir 20 ingressos. Por-
tanto, digite o valor 20 e pressione Enter para vermos
oresultado obtido. A sua caixa texto deve estar pareci-
da com a imagem a seguir, repare: V
tater oman none
arnt!
h) Pressione Enter para que, assim, possamos vol-
tar ao programa, pois iremos realizar mais um teste.
Sendo assim, clique novamente sobre 0 botéo Exe-
cutar (FS) e, em seguida, digite o valor equivalente a
150. Por fim, pressione Enter para podermos visuali-
zar o resultado. ¥
BREST SSS S SETS TEESE
{) Assim, podemos notar que esté tudo dentro do
programado, nao é mesmo? Vamos salvé-lo para que,
se eventualmente vocé quelra utilizé-lo novamente,
ele estar disponivel para ser utilizado. Portanto, so-
bre a Barra de Ferramentas, dé um clique no botao
Salvar. Nas opgdes que estdo do lado esquerdo da ja-
nela Salvar como, clique sobre o botao Bibliotecas.
§) Dé um duplo clique sobre a pasta Documentos
e, em seguida, crie uma nova pasta, clicando sobre o
botdo Criar Nova Pasta. Como ela jé esta selecionada,
apenas digite Imprimir ingressos e, em seguida, dé
um duplo clique sobre ela. ¥LOGICA DE PROGRAMACAO
k) Na caixa de texto do campo Nome, digite Cédigo imprimir ingressos e, na sequéncia, clique sobre o botao
Salvar. ¥
«
fone: || [eterno [==
Too! [Arquivos do Small Basic ( smalbasic) =] Cencslar_ |]
Veja abaixo a diferenga entre 0 Cédigo real e o Pseudocédigo que acabamos de fazer: ¥
TextWindowWriteLine(“Entre como ndmero de impressos a emitir")
Numerodeingressos = TextWindow.Read!)
For Contador=1 To Numerodeingressos
‘TextWindow.WriteLine(“Imprimir ingresso de nimero: * + Contador)
EndFor
Esereva( "Entre com o nimero de impressos a emit")
Receba o Numerodeingressos
Para Contador igual a um até numerodeingressos
Escreva(“Imprimiringresso de numero: “+ Contador)
FimPara
1) Sendo assim, daremos continuidade e iremos nos aprofundar mais a respeito do Comando de Repeti¢ao
While. Portanto, clique sobre o botao Fechar e, em seguida, clique sobre o menu Novo, que se encontra na Barra
de Ferramentas. ¥
kl > Ss
COMANDO DE REPETICAO WHILE
Diferentemente do For, o While, que em pseudocé-
digo quer dizer Enquanto, pode ser usado quando nao
sabemos quantas vezes 0 processo ira se repetir. Sen-
do assim, vamos imaginar que, para executar deter-
minada tarefa, 0 usudrio precisa digitar uma senha e,
enquanto ele nao a acerta, o sistema fica pedindo para
que ele a digite. Veja o pseudocédigo jé estruturado:
+ VARIAVEIS
SENHA do tipo STRING:
DIGITADO do tipo STRING;
+ INICIO;
+ SENHA ="ABCD"
+ While DIGITADO<>SENHA do
‘+ Pedir para digitar a senha e armaze-
nar na variavel: DIGITADO
+ EndWhile
+ FIM;
a) Vamos elaborar essa estrutura no Small Basic
para que, assim, possamos entender todo esse cédigo
melhor. Pensando assim, primeiramente, precisamos
definir qual sera a nossa primeira varidvel. No nosso
caso sera Senha. Portanto, com o cursor jé posiciona-
inha, digite:
b) Pressione duas vezes a tecla Enter apenas para
uma melhor visualizacdo do cédigo. Nosso préximo pas-
so serd adicionar um lago While, ou seja, a partir daf, 0
usuario terd que digitar a senha, até aj tudo bem mas,
enquanto essa senha for Falsa 0 cbdigo pediré a senha
a ele infinitas vezes, e s6 saird do lago mediante a senha
correta, Sendo assim, digite o seguinte cédigo abaixo:
While jo <> Senha
¢) Precisamos instruir o usuario com uma mensa-
gem intuitiva na TextWindow, para ele nao se perder
quando 0 cédigo for muito extenso, afinal, esse seré
apenas a etapa da senha. Sendo assim, pressione En-
ter e digite o seguinte texto:
‘TextWindow.WriteLine("Digite a senha:”)
d) Mais uma varidvel tera de ser adicionada me-
diante 0 cédigo, pois, se analisarmos com cuidado,
inserimos o Digitado e nao especificamos qual sera a
56
ree iy
Soa
= eee
oer=
ah
LOGICA DE PROGRAMACAO
sua fungdo, néo é mesmo? Como o proprio nome jé diz, ela ser o valor que o usuério ira digitar: Para isso, preci-
samos inserir um comando de insergao de texto, Dé Enter e insira 0 cédigo abaixo:
rj Digitado = TextWindow.Read{)
) 0 cédigo ja esta pronto. £ preciso, apenas, finalizd-lo, nao é mesmo? Esse é um comando facil, basta apenas
adicionarmos o End a frente do While. Faremos isso na linha abaixo. Lembre-se que 6 apenas para uma melhor
visualizagao. Sendo assim, digite o seguinte texto:
EndWhile
Com isso, nosso programa de senhas esta concluido. Portanto, ele jé poderd ser executado para sabermos se
tudo esté funcionando corretamente. Mas, antes disso, vamos salvé-lo, afinal, vocé ndo quer perder seu trabalho
caso haja algum erro inesperado durante a execucdo, nao é mesmo?
f) Portanto, clique sobre o botdo Salvar que se encontra sobre a Barra de Ferramentas. Em seguida, do lado
esquerdo da caixa Salvar como, dé um clique sobre o botao Bibliotecas. V
= oa gu
4) Como de costume, salvaremos esse trabalho dentro de Documentos. Sendo assim, abra essa pasta através
de um duplo clique. Em seguida, clique sobre o botao Criar Nova Pasta e nomeie-a para Cédigo Senha. ¥
s
_
h) Dé um duplo clique sobre a pasta Cédigo Senha e, em seguida, na caixa de texto do campo Nome, digite
LI novamente Cédigo Senha e clique sobre Salvar para concluir. ¥
i r i
es
|
i]
rt Apenas para relembrar, veremos a seguir a diferenca entre a Linguagem de Programagao e 0 Pseudocédigo
utilizados para a elaboragao desse codigo: ¥
bell) (sene-aar + VARIAVE;S
‘SENHA do tipo STRING:
While Digtado > Senha DIGITADO do tipo STRING;
“ertWindowiWriteLine(“Digte a senha:")
Digitado = TextWindow. Read) + Inco;
Endwrile + SENHA ="ABCO"
While DIGITADO<>SENHA do
‘+ Pedir para digtara senha e armazenar na va-
riével: DIGTADO
+ EndWhilei) Faremos, agora, alguns teste para comprovar se este
programa esta definitivamente correto ou nao, alias, em
programacao, os detalhes fazem toda a diferenca. Sendo
assim, clique sobre o botdo Executar (F5), na Barra de
Ferramentas. P
J) Podemos notar que a primeira coisa que o progra-
‘ma nos instrui é para digitar-mos a senha, nao é mesmo?
Primeiramente, vamos digitar a senha incorreta para ter
a certeza de que o programa responder de acordo com
© programado, Sendo assim, digite 1112 e pressione
Enter. >
k) A mensagem “Digite a senha:” aparece novamen-
te e isso é bom, pois sabemos que o programa pedir a
senha infinitamente para o usudrio até ele acerté-la e,
assim, saira do lago podendo percorrer um outro cami-
nho de acordo com a necessidade. Precisamos observar
a rea¢ado do programa agora, quando a senha correta é
digitada, Portanto digite 1122 e pressione Enter. P
1) Para voltarmos ao programa, pressione Enter. Como sabemos que o nosso cédigo jé esta salvo, clique sobre
© botao Fechar e, em seguida, sobre o menu Novo. V
LOGICA DE PROGRAMACAO
t
i
‘como 1122. Em seguida, elaboramos um lago Wh
0 digitado for diferente da senha, o programa retornaré novamente ao
ird se repetir toda vez que a senha estiver incorreta, pois esse lago sé seguir um outro caminho caso os valores
digitados correspondam com a variével Senha, ou seja, se o digitado for verdadeiro.
FACA VOCE MESMO a
Pensando em vocé, segue um pseudocédigo para
que possa praticar ainda mais e desenvolver projetos
‘no Small Basic. Mas no fique preocupado, pols, se em
algum momento surgir alguma divida, basta rever os
conceitos vistos durante a aula, pois ela foi desenvolvi-
da exatamente com os mesmos comandos que verd a
seguir! Também ha um gabarito no final da apostila, no
qual poderé encontrar todos os cédigos dos exercicios.
1. Que tal construir um programa com apenas duas
varidveis, mas que Ihe mostre duas mensagens: uma a
cada tentativa errada e uma quando correta? Para isso,
tenha como base o pseudocédigo mostrado a seguir
+ Varidveis
Senha do tipo Inteiro;
Numero inteiro;
+ Escreva("Digite a senha”)
+ Senha =10
‘+ Numero = Pedir para Digitar
+ Enquanto Numero diferente da Senha
* Escreva(“Senha errada:”)
+ Escreva(*Digite a Senha:”)
‘+ Numero = Pedir para digitar
+ FimEnquanto
‘+ Se Numero = Senha Ento
* Escreva(“Correto”)
+ Fimse
58_ :
ST
LOGICA DE PROGRAMACAO .
2. Caleulo de senha finita.
Sabe-se que nos bancos, no e-mail e em todo lugar
que utilizamos senha, depois de algumas tentativas, 0
sistema no permite mais colocar a senha, de modo que
Pode até mesmo travar programa para que o usui
no tenha a oportunidade de tentar mais uma vez. Isso &
assim para evitar que o mesmo fique tentando até acer-
tar a senha e chegue a causar um enorme transtorno ao
verdadeiro dono. Veja, agora, o que é preciso para que
isso possa ser colocado em pratica:
* Precisamos, inicialmente, definir as variveis SE-
NHA, que serd do tipo String, DIGITADO, também
do tipo String, e TENTATIVAS, do tipo Inteiro, para
que, assim, possamos dizer a0 computador qual
seré a senha que 0 usudrio iré digitar e qual a
quantidade de tentativas que ele terd.
* Em seguida, é necessério entrar em um lago Whi
le e especificar que: ENQUANTO DIGITADO DIFE-
RENTE DA SENHA E TENTATIVAS MENOR QUE 3.
Acompanhado com mais alguns comandos an-
tes de finalizé-lo, ou seja, pedir para o programa
mostrar uma mensagem instruindo o usuario na
TextWindow, fazer um processamento de dados e
também um local para a insere3o de caracteres.
Finalizando assim o laco While.
+ 0 préximo passo sera inserir um espaco para a
manipulag3o de dados que, no caso, seré feito
da seguinte forma: SE DIGITADO IGUAL A SENHA
ENTAO, apareceré na janela texto uma mensagem
SENAO, aparecer na janela texto outra mensagem
finalizando o programa.
‘+ Finalizando 0 cédigo.
\Veja toda essa estrutura em pseudocédigo para fai
tar um pouco mais:
= VARIAVEIS
‘SENHA do tipo STRING;
DIGITADO do tipo STRING;
TENTATIVAS do tipo INTEIRO;
+ INICIO;
SENHA = “ABCD”
TENTATIVAS = 0
‘+ While DIGITADO@SENHA AND TENTATI-
VAS <3
+ Escreva(“Digite a senha:”)
* Acrescentar 1 no valor da varidvel
TENTATIVAS
+ Pedir para
zenar na varidvel: DIGITADO
+ Fimwhile
‘+ Se DIGITADO = SENHA entéo
‘+ Escrever("Vocé acertou a senhal”)
‘+ Terminar o programa
SeN3o
+ Escrever na tela ("Excesso de tentativas!”)
+ Terminar o programa
+ Fimse
Muito bem, com isso, finalizamos a nossa aula aposti-
lada de hoje! Nela, construimos o programa de Controle
de Estoque no Small Basic para que, assim, pudéssemos
diferenciar a linguagen real de programacdo e o pseudo-
cédigo. 0 Comando de Repeticao For foi utilizado para
estruturar 0 programa de emissio de ingresso, em que
um aco ficou responsavel por imprimir a quantidade
exata de ingressos. Elaboramos, também, um programa
de senha, em que o usuario digitaria o tanto de vezes
suficientes para tal ago, lembrando que ele teria um
nuimero infinito de tentaritvas. Para isso, esse cédigo
construido em um lago While. Esperamos revé-lo mi
entusiasmado para nosso novo encontro. Até a préximalOBJETIVOS DA AULA
+ Conhecer a biblioteca gréfica do Small Basic;
+ Desenhar formas circulares e retangulares;
+ Criar formas sem preenchimento;
+ Trabalhar com cores;
+ Aprender sobre a Tartaruga (Turtle).
© QUE VAMOS FAZER
Na atividade de hoje, revisaremos os principais con-
ceitos vistos durante a aula interativa e, por isso, refor-
garemos nosso aprendizado sobre os operadores, seus
tipos e, também, suas fungdes. Deixando a conversa de
Jado, esperamos que vocé fique atento a todos o deta~
Ihes contidos em seu material didatico. Vamos la!
CONHECENDO A BIBLIOTECA GRAFICA DO SMALL BASIC
Até ento, em nosso aprendizado, vimos como construir varios tipos de programas em que trabalhamos ape-
nas com textos, mas, nesta aula, conhecemos uma nova maneira de utilizar a programacao dentro do aplicativo,
voltada para os desenhos, Antes de iniciarmos esse tipo de atividade, é muito importante sabermos 0 que é a
GraphicsWindow. Pois bem, esta é uma biblioteca do Small Basic que possui todos os comandos necessarios
ere con o ninero de inpressos a enitir:
ingresso de ninero:
Ingresse de nunere:
resse de ninero:
Ingresso de nunere:
ingresse de nunere:
ingresso de numero:
Ingresse de numero:
ingresse de nanere:
ingresso
para se criar desenhos na tela do computador. Ao serem
construidos, esses desenhos sao exibidos na janela Gré.
ficos,a qual possui um visual bem diferente da janela de
execugao do aplicativo. Para comprovarmos isso, obser-
ve a seguir a imagem das duas telas: ¥
Janela de execucdo do aplicativo
60
Janela GraficosDESENHANDO FORMAS CIRCULARES E
RETANGULARES
Durante a interagao, descobrimos que o Small Basic
hos permite criar algumas formas geométricas, po-
rrém, vimos varias maneiras diferentes de desenhé-las,
como, por exemplo, uma elipse com preenchimento
€ um reténgulo sem. Contudo, também aprendemos
algo muito interessante em relacdo ao cédigos usados
para a construgdo das formas, que é a utilizago dos
par€nteses para definirmos a posi¢ao e o tamanho do
desenho, Para que possamos.entender melhor, obser-
ve 0 exemplo mostrado abaixo: ¥
Como vocé deve se lembrar, estes so os comandos
responsaveis por criar uma elipse com preenchimen-
to, ndo é verdade? Pois bem, analisaremos os nimeros
inseridos entre parénteses de acordo com as anota-
ri Ges feitas na imagei
A. Como este é 0 primeiro valor inserido, correspon-
de a coordenada X. Através dela, indicamos a distdncia
do objeto em relacdo a margem esquerda da janela.
Com isso, quanto maior for o valor definido, mais para
a direita ficard o desenho.
B, Este & 0 segundo valor adicionado, portanto, re-
fere-se & coordenada Y. Com ela, informamos a distén-
cia entre o objeto e a margem superior da janela, en-
to, quanto maior for o valor definido, mais para baixo
ficard o desenho.
€.Oterceiro ntimero representa a largura do objeto.
D. 0 quarto e tiltimo niimero adicionado ao parén-
| teses refere-se a altura do objeto.
Como vocé pode ver, podemos definir facilmente 0
posicionamento e 0 tamanho que o nosso desenho de-
verd ser exibido na tela. Mas é importante sabermos
que este conceito também se aplica quando deseja-
LOGICA DE PROGRAMACAO
a
mos criar uma forma retangular, como vocé pode vi-
sualizar no exemplo a seguir: ¥
x
Y
argura
Altura
CRIANDO FORMAS SEM PREENCHIMENTO.
Ao desenvolvermos trabalhos com desenho no
Small Basic, temos uma certa variedade de opcdes
para fazé-lo. Além de criarmos formas com preen-
chimento, o programa nos permite desenhar essas
mesmas formas apenas com seu contorno, o que, em
alguns casos, torna-se um trabalho mais bonito e atra-
ente. Para desenvolvermos esse tipo de atividade, uti-
lizamos o comando DrawEllipse ou DrawRectangle.
0 primeiro deles, como vocé jé deve imaginar, 6 0
responsavel por desenhar as formas circulares, j
segundo, as formas retangulares. Neles, também utili-
zamos os parénteses para definir o posicionamento e
© tamanho do objeto, como mostrado na imagem: V
Mas saiba que nao € sé isso! Através do comando
PenWindth, podemos definir a espessura do contorno
utilizada nos desenhos, conforme a ilustracao a seguir: ¥
i 5LOGICA DE PROGRAMACAO
TRABALHANDO COM AS CORES DA
BIBLIOTECA GRAFICA
Como vimos durante a aula interativa, podemos al-
terar a cor de preenchimento das formas, mas saiba
que no é sé isso! Também podemos mudar a cor apli-
cada ao plano de fundo da janela Graficos. Vocé ha de
concordar que estes sao conceitos bem interessantes,
nao é mesmo? Mas antes de mais nada, precisamos co-
nhecer bem 0 nome das cores, afinal, na linguagem de
programacao, trabalhamos diretamente com 0 idioma
Inglés. E sera exatamente isso que faremos agora! Sen-
do assim, acompanke a lista mostrada a seguir, que
contém todas as cores que encontramos na biblioteca
grafica do Small Basic: ¥
i Vermetho cure
Amaro sero
Para que vocé possa entender melhor como trabalhar
‘com cores no Small Basic, aprenderemos a aplicd-las em
uma foma com preenchimento e em uma outra sem pre-
enchimento, Além disso, aproveitaremos para alterar a
cor de fundo da janela Graficos, Portanto, em seu compu-
tador, realize os exercfcios mostrados a segul
a) Primeiramente, abriremos o aplicativo. Entao,
clique no menu Iniciar e, em seguida, va em Todos os
Programas, Através da Barra de rolagem, acesse a
pasta Small Basic com um clique e, dentre as opgdes,
escola Microsoft Small Basic.
b) Para comesar, alteraremos a cor de fundo da ja-
nela Graficos. Sendo assim, insira a seguinte linha de
comando:
GraphicsWindow.BackgroundColor = “Blue”
0 comando BackgroundColor é o responsdvel por al-
terar a cor de fundo da janela Graficos. Em nosso caso,
especificamos que a mesma deverd ser Azul (Blue).
©) Feito isso, clique no botdo Executar (F5), que se
encontra na Barra de ferramentas do programa, para
comprovarmos se a cor foi alterada.
4) Como vocé pode ver, a cor Azul foi corretamente
aplicada, Para darmos continuidade ao trabalho, cli-
que no botdo Fechar da janela Graficos.
€) Neste projeto, desenharemos uma elipse com
preenchimento e um reténgulo apenas com sua linha
de contorno. Pois bem, comegaremos pela forma cir-
cular. Para isso, pressione a tecla Enter duas vezes
digite os cédigos a seguir:
GraphicsWindow.BrushColor = “Red”
GraphicsWindow.FillEllipse(100, 80, 100, 100)
Na primeira linha de c6digos, utilizamos o comando
BrushColor para definir uma cor de preenchimento
para a forma, Em nosso caso, escolhemos o Vermelho
(Red). J4 na segunda linha, criamos uma elipse posi-
cionando a mesma em 100px na coordenada X e 80px
na coordenada Y, e com o tamanho de 100px tanto
para Largura quanto para Altura,
) Clique no botdo Executar (F5) e confira se ela
estd semelhante ao que esta sendo mostrado:
2) Muito bom, ndo acha? Feche a janela Graficos e,
depois, pressione Enter duas vezes para darmos espa-
¢0 entre os comandos.
hh) Agora, desenharemos o retangulo e, nele, aplicare-
mosa cor Amarela, Portanto, digite a seguinte sequéncia
de cédigos:
GraphicsWindow.PenColor = “Yellow”
GraphicsWindow.PenWidth = 10
GraphicsWindow.DrawRectangle(350, 250, 170, 100)
Através do comando PenColor digitado na primei-
|
ra linha, acompanhado do cédigo Yellow, aplicamos ff
62a cor Amarela ao contorno do retangulo. Na segunda
linha, informamos que a espessura do mesmo deveria
ser de 100 px e, para finalizar, digitamos os comandos
responsaveis por criar a forma retangular, em que es-
pecificamos que sua posigo e o seu tamanho serio,
respectivamente, de 350px na coordenada X, 250px
na coordenada Y, 170px de Largura e 100pxde Altura.
4) Com isso, jé inseriremos todos os cédigos. Entao,
clique no boto Executar(F5) para verificarmos se 0
resultado final de nosso trabalho est4 semelhante ao
indicado a seguir: ¥
i) Parabéns, este foi um belo trabalho! Para ndo
perdermos o mesmo, iremos salva-lo. Sendo assim, na
Barra de Ferramentas, clique no botao Salvar.
LOGICA DE PROGRAMACGAO
k) Como a janela desta opgdo jé se abre na pasta
Documentos, guardaremos nosso arquivo aqui. Com
‘© campo Nome ja selecionado, digite Trabalho com
cores e pressione Enter.
1) Antes de prosseguirmos, criaremos um novo do-
cumento, portanto, feche o Editor e, em seguida, acio-
ne o oto Novo, que se encontra na Barra de ferra-
mentas do programa.
APRENDENDO SOBRE A TARTARUGA
(TURTLE)
Como jé sabemos, 0 Microsoft Small Basic é um sof-
tware para iniciantes em programagao. Seguindo essa
linha de raciocinio, temos a Tartaruga ou, em Inglés,
Turtle. Este é um recurso do programa que nos per-
mite entender com mais facilidade a criago dos dese-
hos via cédigos.
Através dela, desenhamos linhas retas que, confor-
me 0 seu posicionamento, acabam se transformando
‘em belas imagens.
‘A seguir, conheceremos as fungées de alguns cédi-
405 utilizados nos trabalhos com a Tartaruga: V
Turtle. Show() = Mostra e habilita a Tartaruga.
TurtleX = Define a posigao da Tartaruga na coordenada X.
TurtleY = Define a posigao da Tartaruga na coordenada ¥.
Turtle.TurnRightQ) - Gira a Tartaruga 90° para a direita,
Turtle.TurnLeft() = Gira a Tartaruga 90° para a esquerda.
~ Move a tartaruga conforme a distancia especificada entre parénteses.
Turtle.Move(distancia) Se a caneta estiver abaixada, uma linha seré desenhada enquanto a
Tartaruga se movimenta.
Turtle PenUpQ) = Levanta a caneta, fazendo com que a Tartaruga nao desenhe ao se mover.
Turtle.PenDown() ~ Abaixa a caneta, fazendo com que a Tartaruga desenhe ao se mover.
Turtle. show0 ~ Habilite a Tartaruga.
Turtle.X = 60 -Posicione a Tartaruga em 60px na coordenada X.
Turtle.Y = 150 Posicione a Tartaruga em 150px na coordenada ¥.
Turtle.TurnRight) -Gire a Tartaruga 90° para a direita,
Turtle. Move(100) -Mova a Tartaruga a uma distancia de 100px.
Turtle.TurnLeftQ) -Gire a Tartaruga 90° para a esquerda.
Turtle. Move(100) -Mova a Tartaruga a uma distancia de 100px..
Turtle.PenUpO -Levanta a caneta da Tartaruga.
Turtle.Move(30) -Mova a tartaruga a uma distancia de 30px.
63.LOGICA DE PROGRAMACAO
Para nos auxiliar em nosso aprendizado, aliaremos
este conceito ao que sabemos sobre a estrutura de re-
petigao FOR. Vamos la!
Este serd um exercicio pratico, em que faremos com
que a Tartaruga desenhe uma espiral. Com isso, vocé
ird aprimorar seus conhecimentos sobre este interes-
sante assunto.
a) Para comegar, temos que habilitar a Tartaruga e
exibir a mesma na tela. Sendo assim, na primeira linha
do Editor do Small Basic, insira o seguinte cédigo:
Turtle.show()
1b) Nosso préximo passo seré criar a estrutura de
repeticao For e informar a quantidade de repetigdes
que a mesma executard. No nosso caso, seré de 50 ve-
zes, Portanto, pressione Enter e, em seguida, continue
inserindo os comandos indicad«
For Contador = 1 to 50
©) Continuando, agora temos que especificar o que
a Tartaruga faré a cada repeticao. Como estamos de-
senvolvendo uma espiral, precisamos de varias linhas
retas que, por sua vez, deverao ter tamanhos diferen-
tes. Para isso, pressione Enter e adicione as duas li-
nhas de c6digos a seguir:
Turtle. Move(Contador*3)
Turtle-TurnRight
Na primeira linha de cédigos, informamos que, a
cada repeticao, a Tartaruga deverd se mover e dese-
nhar uma linha reta. Esta, tera o tamanho baseado no
niimero da repeti¢ao multiplicado por trés. Ou sej
caso esteja na segunda repeti¢ao, o tamanho da linha
serd de 6px, afinal, este ¢ 0 resultado da multiplicagao
por 2 vezes.
Jé na segunda linha de cédigos, especificamos que,
assim que cada linha for criada, a Tartaruga deverd gi-
rar 90° para a direita,
d) Feito isso, sé nos resta finalizar a estrutura FOR.
Entdo, pressione Enter novamente e, em seguida, insi
rao seguinte comando:
EndFor
Com isso, nosso programa est terminado. Sendo
assim, sua sequéncia de cédigos deve estar bem seme-
Ihante a que mostramos na imagem a seguir:
Turtle. Move(Contador*3)
Turtle. TurnRight()
EndFor
€) Agora, clique no botao Executar (F5) para visua-
lizarmos o resultado obtido nesta atividade, ¥
f) Ficou étimo, parabéns! E para ndo perdermos
este belo trabalho, iremos salvé-lo. Portanto, clique no,
botio Fechar da janela Graficos e, depois, clique em.
Salvar.
) Com a janela Salvar aberta na pasta Documen-
tos, clique no botdo Criar Nova Pasta e, em seguida,
renomeie-a para Trabalhos com a Tartaruga.
h) Agora, alteraremos o nome do arquivo, portanto,
clique no campo Nome, digite Espiral e, por fim, pres-
sione Enter.
{) Feito isso, feche o Microsoft Small Basic.
Se
i
Cen
iLOGICA DE PROGRAMACAO.
FACA VOCE MESMO-
Como vocé péde ver, desenhar utilizando a linguagem de programacao dentro do Small Basic é bem simples e fi-
cil, Entdo, para que vocé possa praticar e, assim, aprimorar-se neste assunto, Temos alguns exercicios a seguir. Voce
deverd criar os desenhos baseados nas informagées dadas. Caso vocé tenha alguma diivida, ¢ muito importante
esclarecé-ta antes de dar continuidade ao curso, pois isso poderd prejudicé-lo futuramente. No final desta apostila,
vvocé encontraré um gabarito com todos os cédigos utilizados nestes exercicios.
01- Para comecar, desenhe um reténgulo com preen- _‘O2 - Utilizando seus conheciemtnos, altere a cor de
jimento, conforme as indicagSes a seguir: fundo da janela Gréficos para Cinza e, em seguida, dese-
ihe contorno de uma elipse, baseando-se nas seguit
Cor: Verde tes especificagées:
x: 100
¥:70 Cor: Magenta
Largura: 50 Espessura: 10
‘Altura: 200 X: 200
¥: 150
Largura: 120
Altura: 120
CONCLUSAO
Nesta atividade, vocé conheceu uma nova maneira de trabalhar com 0 Microsoft Small Basic e, também, com a
linguagem de programacéo. Para isso, aprendemos um pouco sobre a biblioteca gréfica do programa, vimos como
desenhar formas circulares e retangulares, trabalhamos com cores e, por fim, conhecemos a Tartaruga, um recurso
Eréfico do aplicativo muito interessante. Esperamos que vocé tenha gosta desta aula, pois ainda aprenderemos muita
coisa. Lembre-se que é com bastante empenho e dedicaco que conseguimos conquistar nossos objetivos. Nao se es-
queca que, antes de passar para a préxima atividade, vocé teré que responder a avaliacSo. Boa sorte e até a préxima!
65OBJETIVOS DA AULA
+ Utilizar sub-rotinas;
‘+ Capturar eventos do mouse e teclado;
+ Criar um programa para desenhar.
© QUE VAMOS FAZER
No nosso encontro de hoje, vamos trabalhar com
sub-rotinas, entender como e quando utilizé-las, além,
de comprovar sua funcionalidade e alterar um progra-
ma que haviamos construido anteriormente. Iremos,
também, desenvolver programas que, ao capturar
aces do mouse e do teclado, exibiréo uma mensa-
gem para indicar o que foi feito. Por fim, reuniremos
todos esses conceitos em um tinico programa que nos,
permitira desenhar 0 que quisermos e, se 0 resultado
no for o desejado, poderemos apagé-lo. Preste muita
atengao em todas as informagées da apostila, pois os
assuntos abordados serio de grande importdncial Te-
nha uma boa aula!
UTILIZANDO SUB-ROTINAS
‘Sub-rotinas so pequenos trechos de comandos que
executam agdes especificas ¢ facilitam o entendimen-
to e a manutengao do cédigo. Podemos utilizé-las di-
vversas vezes na mesma estrutura, através de um cha-
mado, que é feito apenas citando o nome das mesmas.
Além disso, existe a possibilidade de reaproveits-las
em outros programas, o que permite economizarmos
tempo e trabalho.
66
a) Para comegarmos a construir um programa que
utilizaré uma sub-rotina, abra 0 Small Basic em seu
computador através do menu Iniciar \ Todos os Pro-
gramas \ Small Basic \ Microsoft Small Basic.
1b) Assim, acrescentaremos a primeira linha de cédigo
que, além de indicar a abertura de uma sub-rotina, con-
tém como a chamaremos no decorrer do projeto ou, em
outras palavras, seu nome. Sendo assim, digite:
‘Sub MostrarHora
) Agora, determinaremos qual ago sera desenvol-
vida e exibida a partir do que foi programado. Nesse
caso, escolhemos mostrar a hora exata do momento
de execugao do programa. Entéo, pressione Enter
digite:
‘TextWindow.WriteLine(Clock.Time)
d) Tendo feito, podemos fechar a sub-rotina, ja que
apenas essa ago seré executada por ela, Mas esse “fe-
chamento” néo é definitivo, pois sempre que quiser-
‘mos acrescentar ou remover uma tarefa ser possivel.
Continuando, passe para a préxima linha usando a te-
cla Enter e, depois, digit
EndSub
€) Muito bem, com isso, a parte inicial do programa ja
est pronta, Ento, para testé-la, clique em Executar PeLOGICA DE PROGRAMACAO
‘Sub Nostrartiora
‘Textilindow.Writel ine (Clock. Time!
EndSub
) Note que nada além de uma répida piscada de
tela ocorre. Isso se deve pelo fato de que a sub-rotina
precisa ser chamada em um programa para que fun-
cione. Vamos dar um jeito nisso! Comece pressionan-
do Enter duas vezes e digite a estrutura abaixo:
‘TextWindow.MriteLine(“Bem vindo ao program
‘MostrarHoral)
) Neste primeiro trecho, temos a frase inicial do
programa e ja aparece o primeiro chamado para a
sub-rotina. Para vermos como anda nosso programa,
clique em Executar. Dessa vez, ele é executado e, em
sua tela, esta presente a saudacao. Logo abaixo, é mos-
trada a hora, da mesma forma que escolhemos inicial-
mente. ¥
h) Com isso, fica facil entender a praticidade que
nos é oferecida quando trabalhamos com sub-rotinas,
ja que, apenas citando o nome da mesma, poupamos
a digitacdo de todo um trecho de acdo. Agora, volte ao,
‘Small Basic pressionando a Barra de Espaco.
1) Nosso projeto esté funcionando, mais ndo se re-
sumiré a apenas isso. Vamos continuar a construé-lo,
acrescentando uma senha e limitando o nimero de
tentativas que o usudiio ter para acerté-la através de
um lago While que, como vocé deve se lembrar, jé uti-
lizamos anteriormente. Entdo, novamente pressione
Enter duas vezes e digite:
Senha = “1415”
Tentativas = 0
‘While Digitado <> Senha And Tentativas <3
TextWindow.WriteLine("Digite a senha:
‘Tentativas = Tentativas + 1
Digitado = TextWindowRead()
EndWhile
Lago While: essa ferramenta determina que, en-
quanto a acao correta ndo for executada, ocorrerao
repeticdes, de modo que a quantidade de vezes pode
ser um nimero limitado ou nao.
j) Essa estrutura pode ser comparada ao sistema de
caixas automaticos presentes nos bancos. Se o cliente
errar a senha trés vezes, ele fica impedido de realizar
qualquer procedimento, mas se ele acerté-la, pode
realizar o que deseja. Agora, acrescentaremos ao pro-
grama mensagens que indicarao se acertamos ou nao
a senha. Para isso, pressione Enter duas vezes e pros-
siga digitando:
If Tentativas >= 3 Then
TextWindow.WriteLine("Excesso
de tentativas!”)
MostrarHora()
Else
‘TextWindow.WriteLine(“Vocé acertou
asenha!”)
MostrarHora()
EndIf
If essa condigao permite a tomada de diferentes de-
cisdes de acordo com a situagao apresentada.=
je ;
LOGICA DE PROGRAMACAO
1k) Pode parecer que a sub-rotina nao fez diferenga, devido ao tamanho da estrutura, mas veja que, por trés
vezes, aconteceu um chamado, o que jé nos ajudou a economizar algum tempo. Com o programa pronto, vamos
testa-lo. Entao, clique em Executar. ¥
jostrarHora
Senha = "1415" TextWindow.Writeline(Clock.Time,
Tentativas = 0
While Digitado <> Senha
Digitado = Textwir
Endwhile
SURES eevau,
Seu aa
1) Muito bem, na janela que surge temos a mensa- mos 0 que aparece quando acertamos a senha? Para
gem inicial, a hora e o pedido de senha, tudo como _ isso, clique novamente em Executar, digite 1415 e
determinamos. Ento, digite 1212 e pressione Enter. _pressione Enter. Como desta vez ela esté correta, outra
Como essa senha € incorreta, um novo pedido & apre-_ mensagem surge. ¥
sentado. Repita novamente esse processo para, assim,
ver a mensagem de tentativas excedidas. ¥
en vindo ao programa’
11:04:34 [14:13:13
Press any key to continue...
n) Agora, vamos acrescentar um detalhe dentro da
sub-rotina para mostrar que basta alterd-la uma vez
para que todas as outras partes onde ela for utiliza-
da, também se modifiquem. Entdo, clique no final da
linha dois e pressione Enter para criar, assim, um es-
paco em branco. A partir disso, digite:
m) Tendo feito, pressione qualquer tecla para fe- x
char 0 programa e voltar ao Small Basic. Que tal ver- ‘TextWindow.WriteLine(“Hordrio de Brasilia.
cy
a
©
a
J
a
7
aaefi
LOGICA DE PROGRAMACAO
x)
“Textiindou, Nei tL ine(Clock. Thee
“3 [Fextrindow.uritetine(Horario de Srasiliz')
0) Com isso, clique em Executar e veja que 0 novo
trecho esta presente. Continue avangando pelo pro-
‘grama e confira que, sempre que a sub-rotina foi cha-
mada, a novidade também estaré ld. ¥
P) Chegando ao fim do programa, encerre-o e, en-
tao, clique em Salvar. Nomeie-o como senha e confir-
me clicando em OK. Na sequéncia, feche apenas o do-
cumento,
CAPTURANDO EVENTOS DO MOUSE
ETECLADO
Para a realizacao de determinadas tarefas, existe a
_ necessidade que ages do mouse e do teclado sejam
detectadas. Para que isso seja possivel, na estrutura
deve estar determinado 0 que sera entendido como
ago, como, por exemplo, pressionar ou soltar uma te-
clae cliques com 0 mouse. No nosso caso, passaremos
por todas essas opgGes.
a) Vamos criar um novo programa que iré detectar
cliques do mouse. Para isso, precisamos de um docu-
mento em branco, Entio, clique em Novo.
b) Nossa primeira estrutura detectaré cliques do
mouse utilizando 0 método MouseDown da Classe
GraphicsWindows. Isso nos leva ao conceito de orien-
taco a objetos, no qual os mesmos so separados pe-
Jas caracteristicas, ou métodos, que possuem. Entdo,
digite:
GraphicsWindow.MouseDown = QuandoClicarOMouse
©) Também utilizaremos uma sub-rotina que deter-
minaré qual agao deverd ser detectada e, assim que a
mesma for realizada, uma mensagem sera exibida. Sa-
bendo disso, digite:
Sub QuandoClicarOMouse
GraphicsWindow.ShowMessage(“Vocé
clicou com o mouse’, “Teste”)
Endsub
4) Muito bem, com apenas poucas linhas de cédigos
ja temos um programa capaz de detectar clique em
Executar. Perceba que, desta vez, uma janela em bran-
co surge. Dé um clique dentro dela e, assim, um a
6 apresentado. Ele indica que vocé realizou uma ago
detectavel. ¥
€) Entéo, clique no botdo OK e, em seguida, no boto
Fechar do programa, Jé no Small Basic, clique na drea
de edi¢do dos eédigos, pressione Ctrl + A e, tendo sele-
cionado todo 0 contetido, apague usando o Delete.
£) Agora, vamos criar algo um pouco diferente. Des-
sa vez, quando uma tecla for pressionada, a mensa-
gem de aviso surgira, Essa estrutura é muito parecida
com a anterior, 0 que muda séo apenas alguns deta
hes, Sendo assim, digite:
GraphicsWindow.KeyDown = QuandoPressionarTecla
Sub QuandoPressionarTecla
GraphicsWindow.ShowMessage(“Vocé
pressionou uma tecla’, “Teste”)
EndSub
g) Com ela pronta, clique em Executar e pressione
a Barra de Espaco. Veja que surge o aviso: "Vocé pres-
sionou uma tecla.” Entdo, clique em OK e, em seguida,
feche o programa.Obs.: qualquer tecla pressionada faz. com que a ja
nela com 0 aviso seja exibida. >
hh) Agora, iremos fazer algumas alteragdes e mudar
© método, a agao detectivel, a sub-rotina e a mensa-
gem que sera exibida. Primeiramente, mude o método
do programa, Ento, no lugar de "KeyDown’, digite:
“KeyUp”.
{) Em seguida, substitua o trecho “QuandoPressio-
narTecla’, Para isso, digite: “QuandoSoltarATecla’. ¥
QuandoPressionarTecla
5 EndSub
GraphicsWindow.KeyDown =[QuandoPressionartecla
4 — GraphicsWindow.ShowMessage("Vocé pressionou uma tecla.
QuandoSoltarATecla
» “Teste”)
pressionou uma tecla.” e digite: “Vocé soltou a tecla."
J) Por fim, altere a mensagem do aviso. Para isso, mantenha pressionada a tecla Shift e, entdo, selecione: “Vos
&
Sub QuandoPressionarTecla
4
5 EndSub
GraphicsWindow.KeyUp = QuandoSoltaATecla
GraphicsMindow.showlessage( Voce pressionou uma tecla."|, “Teste”)
t
Vocé soltou uma tecla.
1 Assim, nosso programa est mais uma vez pronto
para ser executado. Sendo assim, clique em Executar,
pressione a Barra de Espaco, mantenha-a pressionada
por um instante e perceba que nenhum aviso aparece.
Agora, solte-a para que, entao, a janela de aviso surja.
>
1) Otimo! Com isso, clique em OK e, em seguida, no
botdo Fechar do documento, mantendo o Small Basic
aberto. Uma janela surge perguntando se existe inte-
resse em salvar o trabalho. Nela, clique em Nao.
Diretos4
2
CRIANDO UM PROGRAMA PARA DESENHAR,
Através dos ensinamentos anteriores, podemos de-
senvolver um programa que possuird todos os concei-
tos vistos. Desenvolveremos um projeto simples, mas
que permitiré a realizagao de desenhos, com a cor ea
forma do trago que determinaremos. E claro, se 0 de-
senho apresentar alguma falha ou detalhe que neces-
site ser alterado, também poderemos apagé-lo.
a) Iniciaremos, agora, nosso tltimo programa de
hoje. Através dele, poderemos desenhar e apagar uti-
lizando o mouse. Para isso, reuniremos tudo o que foi
visto anteriormente nesta aula. Entdo, clique em Novo.
b) Com um documento em branco disponivel, digite
a Classe e 0 Método abaixo:
GraphicsWindow.MouseMove =
Mover
‘QuandoOMousese-
©) Agora, precisamos de uma sub-rotina, porém,
dessa vez, ela terd mais informagées que as anteriores,
como: a indicagao da posigo nos eixos Xe Y, a cor eo
tamanho que o trago tera. Sendo assim, digite:
‘Sub QuandoOMouseSeMover
x= GraphicsWindow.MouseX
y= GraphicsWindow.MouseY
If (Mouse.IsLeftButtonDown) Then
GraphicsWindow.BrushColor = “Blue”
GraphicsWindow.FillEllipse (x, y, 10, 10)
Endlf
Endsub
) A estrutura esta montada, 0 que jé nos permi-
te testé-la. Entdo, clique em Executar e, na janela que
surge, clique na area em branco e arraste, fazendo
um traco. P
LOGICA DE PROGRAMACAO
€) Muito bem, nosso programa permite-nos fazer
qualquer tipo de desenho, porém, se errarmos algo ou
simplesmente nao gostarmos do resultado, nao ser
possivel apagar e fazer novamente. Para resolver isso,
temos que acrescentar mais uma condigio na sub-
-rotina. Comece fechando o programa e, na estrutura,
clique depois de Endife pressione Enter duas vezes.
) Na linha em branco que criamos, digite o trecho
a seguil
If (Mouse.IsRightButtonDown) Then
GraphicsWindow.BrushColor = “White”
GraphicsWindowFillEllipse (x, y, 40, 40)
Endif
g) Tendo feito, clique novamente em Executar ¢
faca outro trago na area em branco. Vamos imaginar
que vocé nao ficou satisfeito com o mesmo. Entéo,
clique com o botdo direito do mouse e, sem soltar,
passe o cursor do mesmo pelo risco azul que fizemos
apagando-o.
h) E, assim, chegamos ao resultado que queriamos!
Criamos um programa semelhante ao famoso Paint.
Ento, clique no botao Fechar para voltar ao Small Ba-
sic, Para encerrar, clique em Salvar, no campo Nome,
digite desenhar e, depois, clique em Salvar.
i) Chegamos, entao, ao final da aula de hoje. Sendo
assim, clique em Fechar.
Mas no pense que terminou! Resolva a questdo
proposta a seguir:
FACA VOCE MESMO!
Que tal um desafio? Gosta disso? Acreditamos no seu potencial e no seu desenvol
jento. Entdo, para finalizar 0
trabalho e ampliar a fixago dos conceitos vistos, faca um programa em que o usuario seja capaz de fazer desenhos
nna cor vermelha com o boto esquerdo do mouse, e na cor verde com o boto direito. Além disso, o traco deverd ter
30 por 30.
prsecrceerasOBJETIVOS DA AULA
+ Aprimorar os conhecimentos através de pro-
gramas mais avancados;
+ Revisar como elaborar célculos através de pro-
gramacao;
‘+ Rever como sao usadas as Sub-rotinas
0 QUE VAMOS FAZER
Veremos, de maneira mais aprofundada, todo o
contetido que vimos na interagao, Para que nao so-
bre nenhuma diivida, tudo sera mostrado de maneira
detalhada, através de dtimos exercicios preparados
especialmente para vocé e que o farao compreender
na pratica toda a matéria. Assim, vocé consegue um
aprendizado amplo e rico, aperfeigoando cada vez
mais seus conhecimentos. Os projetos desenvolvidos
para treinar os cédigos serao utilitarios, como, por
exemplo, conversor de temperaturas, conversor de
moedas, além de programas didéticos. Vamos la!
ELABORANDO UM CONVERSOR
DE MOEDAS:
Como vimos anteriormente, nesta aula, trabalha-
remos com alguns utilitarios para que, assim, possa-
‘mos ver novamente os principais conceitos da légica
da programagao. Dessa forma, que tal comecarmos
fazendo um programa para converter moedas? Afi-
nal, atualmente, o délar é considerado moeda uni
versal e esté em todos os lugares. No Brasil, utiliz
mos 0 real e ambas tém cotacées diferentes, ou seja,
nao tém o mesmo valor. Para saber qual é a cotagio,
da moeda americana em relagdo & nacional é muito
simples! Esse tipo de informagao é anunciado em to-
dos os jornais, na segao de Economia e também em
's relacionados ao assunto, revistas, telejornais e
sites de buscas.
Para sabermos quanto teremos que dar em real para
comprar um produto que tem valor em délar, é neces-
sério fazer um pequeno célculo. O nosso préximo proje-
to fard isso de maneira répida para nés! Vamos la!
Para realizarmos este trabalho, precisaremos, pri-
meiramente, pensar que resultado exatamente que-
remos obter: Veja bem: podemos converter de Délar
para Real ou vice e versa. Como estamos em territério,
nacional, faremos de Délar para Real, assim, sabere-
mos quanto vale determinada quantia na moeda local.
Que tal, entdo, vermos o algoritimo para facilitar nos-
saatividade?
+ PROGRAMA: Conversor de Moedas
+ VARIAVEI
ValorDolar
CotacaoDolar
ValorReal
+ INICIO
Escreva “Insira o valor em Délai
Captura valor digitado na variavel ValorDolar
Captura valor digitado na varivel
CotacaoDolar
Faz ValorReal = ValorDolar*CotacaoDolar
Escreva “O valor em Real é R$" + a variavel
ValorReal
+ FIM
a SS a eenLOGICA DE PROGRAMACAO
Agora que vimos 0 pseudocédigo, vamos comegar!
a) Primeiramente, abra 0 Small Ba
b) No Editor, devemos pedir que seja exibida a men-
sagem “Insira o valor em Délar:”. Para isso, claro, uti-
lizaremos a TextWindow. Portanto, insira o seguinte
digo:
TextWindow.Writel
(“Insira o valor em Délar:”)
©) Na linha de baixo, informamos que a varivel Va-
lorDolar sera igual ao valor digitado, Fazemos isso da
seguinte maneira:
\ValorDolar = TextWindow.Read()
d) Lembre-se, sempre, de manter os cédigos orga-
nizados, isso facilita muito a visualizacdo e leitura do
mesmo. Entdo, antes de iniciar a proxima sequéncia,
pule uma linha,
) Para que os célculos sejam realizados correta-
‘mente, temos que inserir a cotagdo atual do délar que
varia todo dia. Dessa forma, na janela texto, devemos
pedir esse valor
TextWindowWriteLine(“‘InsiraacotacaoatualdoDélar:”)
f) Para que esse valor seja inserido e que a varidvel
CotacaoDolar seja igual a ele, na linha de baixo digite:
CotacaoDolar = TextWindow.Read()
8) Jé foram pedidos os dois valores para conversao.
© que devemos fazer agora é o célculo que, simples-
mente, é a divisdo de um pelo outro, o que resultara
no valor em Real. Sendo assim, pule uma linha e insira
© seguinte c6digo:
\ValorReal = ValorDolar/CotacaoDolar
h) Resta exibir na TextWindow o resultado final.
Para tanto, pule mais uma linha e digite:
TextWindow.WriteLine(“O valor em Real é R$” +
ValorReal)
Dessa maneira, terminamos nosso primeiro progra-
mal Se vocé seguiu todos os passos de maneira cor-
reta, o cédigo presente em seu Editor deve ser seme-
Ihante ao mostrado a seguir
‘TextWindow.WriteLine(“Insira 0 valor em Délat
\ValorDolar = TextWindow.Read()
‘TextWindow.WriteLine(“Insiraacota¢oatualdoDélar:’
CotacaoDolar = TextWindow.Read()
zy
ValorReal = ValorDolar/CotacaoDolar
‘TextWindow.WriteLine(“O valor em Real é RS” +
‘ValorReal)
Com tudo concluido, pode-se executar 0 trabalho,
‘mas, caso queira salvar o projeto, este é 0 momento ideal.
4) Logo apés salvé-lo, Clique sobre o boto Executar,
J) Feito isso, veja que, como o esperado, nos é pe-
dido 0 valor em Délares. Suponhamos que estejamos
efetuando a compra de um perfume importado e, na
sua etiqueta, ha o valor USS 52,00. Significa que este 6
seu valor em délares, portanto, no programa, digite 0
niimero 52 e pressione Enter. ¥
_ ©) CADocumentos\Converzor de
ngira 0 valor en
1k) Em seguida, vem a cotacao do délar. Como vimos
anteriormente, 0 valor da cotagao varia de acordo com
© mercado financeiro e vocé consegue facilmente ob-
ter essa informagao. Mas, supondo que o délar esteja
ha RS 1,58, digite: 1.58 e pressione Enter. ¥
| IngiraacotacaoatualdoDelar:
3
1) Note que o programa nos mostra o valor do pro-
dluto em Real. Neste caso, pagariamos do perfume que
1mos anteriormente o valor de R$ 82,16. Saia da ja-
nela de execucao pressionando qualquer tecla. ¥
Real ¢ R¢82.16
‘any key to. continueLOGICA DE PROGRAMACGAO
Dessa maneira, encerramos este utilitario! Ele 6 de
grande valia, afinal, é um programa stil que podemos
usar até mesmo no nosso dia a dia. Neste caso, conver-
temos os valores de délar para real, mas, se preferir,
pode inverter a ordem ou fazer a converstio de mais
de uma moeda, como o Euro, por exemplo. As possibi-
lidades so muitas, basta sua criatividade!
OBJETOS SEGUINDO OS CLIQUES DO MOUSE
No nosso préximo projeto, utilizaremos novamente
‘© comando Turtle do Small Basic, ou seja, a tartaruga
que j conhecemos. Dessa vez, faremos que ela siga os
cliques do mouse, assim, ela sempre ir se locomover
para o local que clicarmos. Vamos ver isso na pratica!
a) Ainda com o Small Basic aberto, utilize seus co-
nhecimentos para abrir um novo Editor.
1b) Sabemos que utilizaremos o clique durante a exe-
cuca do programa e, por isso, devemos, entdo, criar
sub-rotinas para capturar os eventos do mouse. E para
que este possa ser reconhecido, devemos mostré-lo a0
computador. Sendo assim, na primeira linha, digite:
GraphicsWindow.MouseDown = QuandoClicarOMouse
©) Agora, podemos fazer a Sub-rotina, portanto,
pule uma linha e insira 0 cédigo:
‘Sub QuandoClicarOMouse
4) Até 0 momento, informamos & maquina que,
quando houver um clique, deve também haver uma
reacdo. Porém, ainda ndo mostramos qual o tipo de
reacdo. Para que a tartaruga possa se mover, devemos,
entio, passar as coordenadas que serdo iguais ao cli-
que do mouse. Digite:
x= GraphicsWindow.MouseX
Y= GraphicsWindow.MouseY
Turtle.MoveTo(x,y)
Com isso, informamos que deve haver um movi-
‘mento por parte da tartaruga. Simples, ndo é mesmo?
e) Para finalizar, basta encerrar a Sub-rotina com 0
cédigo:
Endsub
Com isso, encerramos mais este aplicativo! Os c6-
digos no seu Editor devem estar semelhantes ao mos-
trado abaixo:
GraphicsWindowMouseDown =
Mouse
QuandoClicarO-
Sub QuandoClicarOMouse
x= GraphicsWindow.MouseX
GraphicsWindow.MouseY
Turtle.MoveTo(x,y)
Endsub
f) Com seus conhecimentos, execute o programa e
clique em qualquer local da janela grafica. Veja que a
‘tartaruga surge e segue em diregdo ao local que foi cli-
cado. Quando ela parar, clique novamente em um ou-
tro local. Depois de testar, encerre o programa e saia
do Small Basic.
FACA VOCE MESMO!
E para que possa treinar seus novos conhecimentos e aperfeigoar suas habilidades, disponibilizamos mais um exer-
cicio para vocal Encare-o como mé
1) Vocé certamente deve se recordar do programa
para calcular 0 IMC, no é mesmo? Ele nos mostrava
© resultado numérico do IMC e, entdo, tinhamos que
olhar uma tabela para entender 0 que o valor mostrado
significa. Pois bem, neste desafio, seu objetivo serd in-
crementar este cédigo, de forma que, quando a pessoa
digitar o peso e a altura, j4 seja exibido no programa se
ela esté dentro do peso ideal ou ndo. Embora a tabela te-
nha varias classificagdes, aconselhamos fazer com que o
um desafio para superar e atingir seus objetivos. Boa sorte!
programa mostre apenas trés situagdes, que so: se esté
cima, abaixo ou exatamente no peso ideal. E para auxi-
lid-lo neste proceso, além do pseudocédigo, daremos,
também, 0 cédigo do primeiro programa. Assim, basta
desenvolver seu complemento. Temos certeza que, com
‘05 conhecimentos adquiridos até aqui e muita atenco,
vvocé faré isso sem problema algum! Ento, méos a obra
e boa sorte!
14:
E
r
LOGICA DE PROGRAMAGAO
> Pseudocédigo:
+ Céleulo de Ic:
+ INICIO;
+ “Digite seu pes
+ Recebe 0 PESO;
+ “Digite sua altura em metro:
+ Recebe a ALTURA;
‘+ RESULTADO ¢ igual ao PESO dividido pela
ALTURA ao quadrado;
+ "Seu IMCé:”
‘+ Mostra RESULTADO;
‘+ Se RESULTADO for menor que 18.5
entZo mostrar “Vocé esta abaixo do
seu peso ideal”.
‘+ Se no, Se o RESULTADO for maior
que 25 ent&o mostrar “Vocé est
ma do seu peso ideal.”
+ Se no, mostrar “Vocé esté no seu
peso ideal!”
* FIM,
Cédigo do programa a ser complementado:
TextWindowWriteLine(“Célculo de IMC”)
TextWindowWriteLine(Digite seu peso:”)
peso = TextWindow.Read{)
ite sua altura em metros:
altura = TextWindow.Read()
resultado=peso/{altura*altura)
‘TextWindow:WriteLine(“seu IMC é:”)
‘TextWindowWriteLine(resultado)
Ifresultado<18.5 Then
‘TextWindowWriteLine("Vocé est abaixo do seu peso
ideal”)
Elself resultado>25 Then
‘TextWindow.WriteLine(“Vocé est acima do seu peso
ideal”)
Else
TextWindow.WriteLine(“Vocé esté no seu peso ideal”)
Endif
E, assim, chegamos ao final de mais uma aula. Com certeza, ela foi muito produtiva, afinal, vocé pode ver os prit
cipais recursos aprendidos, aprimorar e fixar ainda mais a sua sabedorial
Procure usar sua criatividade e desenvolva outros projetos semelhantes aos executados aqui. Vocé ird se surpreen-
der com os resultados. Até a proximal
75OBJETIVOS DA AULA
+ Elaborar programas com sons nativos e/ou mii-
sicas do computador;
‘+ Publicar projetos na Web;
+ Importar projetos da Web;
+ Executar alguns jogos prontos extremamente
complexos;
+ Falaremos um pouco sobre as vinte linguagens
de programagao da atualidade.
EXECUTANDO SONS NATIVOS DO
SMALL BASIC
Um recurso bastante conhecido e também muito
utilizado por programadores é a execucao de sons.
Ele é bastante simples de usar, mas causa um efeito
extremamente surpreendente e d um ar de profissio-
nalismo aos seus projetos. Sabendo disso, construire-
mos um programa utilizando esse conceito, ou seja, a
classe Sound. Inicialmente, utilizaremos alguns sons
que fazem parte do Small Basic, ou seja, so nativos do
programa. Vamos lat
a) De acordo com seus conhecimentos, abra 0 pro-
grama Small Basic
b) Iniciaremos nossas atividades através de um
recurso que tem a funcionalidade de entrada e safda
gréficas para que, assim, possamos desenhar, preen-
cher circulos e retdngulos. Também necessitaremos
de uma propriedade que gera um som assim que 0 bo-
to do mouse for pressionado pelo usuério, lembran-
do que na mesma linha de cédigo precisamos indicar a
nossa varidvel. Para isso, insira o seguinte cédigo:
GraphicsWindow.MouseDown = QuandoClicarOMouse
©) Nosso préximo passo sera adicionar uma instru-
¢40 que nos permitiré a realizacdo de um grupo de
coisas com apenas uma chamada para indicar nova-
mente a nossa variavel, pois a mesma tera duas fun-
‘ses: gerar um evento quando o botdo do mouse for
pressionado e, ao mesmo tempo, um grupo de coisas
‘com uma s6 chamada. Para isso, pule uma linha pres-
slonando duas vezes Enter e digite o seguinte cédigo:
‘Sub QuandoClicarOMouse
Com isso, os botdes do mouse poderdio realizar uma
série de eventos quando forem clicados, tendo a res-
ponsabilidade de trabalhar com os comandos Mouse-
Down e Sub, pois os mesmos receberam a indicacéo
de nossa variavel.
d) Inseriremos, agora, uma condigao que ficaré
expressa da seguinte forma: Se o botdo esquerdo do
mouse for clicado entao. Sabendo disso, precisamos
7LOGICA DE PROGRAMACAO
Siem
im:
de alguns comandos, ndo é mesmo? O primeiro seré
0 If para que, assim, possamos tomar diversas deci-
sdes. Em seguida, entre parénteses, viré o Mouse para
definir as propriedades do mesmo, acompanhado do
IsLeftButtonDown para estabelecer a essa linha ape-
nas 0 botdo esquerdo. Portanto, digite 0 cédigo abaixo
apés pressionar Enter:
If (Mouse.IsLeftButtonDown) Then
) Em seguida, adicionaremos a classe Sound. Ames-
ma definiré qual a mtisica a ser executada quando 0 bo-
to esquerdo do mouse for pressionado. No caso, seré 0
som PlayBellRing(), Portanto, na linha abaixo, digite:
‘Sound. PlayBellRing()
£) Muito bem, dessa forma, podemos finalizar a nos-
sa primeira condicao. Sendo assim, insira 0 cédigo a
seguir apés pressionar Enter:
Endif
Recapitulando essa nossa primeira parte do cé-
digo, podemos notar que, inicialmente, seré gerado
um evento quando o botdo do mouse for pressiona-
do sobre a Janela Gréfico. Em segulda, adicionamos 0
comando Sub para que, assim, possamos realizar um
‘grupo de coisas com apenas uma chamada. E para que
© computador nao fique confuso em relacao as teclas
do mouse, definimos o botao esquerdo do mesmo (Is-
LeftButtonDown) e, assim que ele for pressionado,
sera executado o som BellRing para finalizar essa pri-
meira etapa.
8) Nosso préximo passo ser adicionar mais uma
0. Diferente da anterior, ela executard o som
Chime, também nativo do programa, Sendo assim,
pule uma linha e adicione o seguinte cédigo:
If (Mouse.IsRightButtonDown) Then
Sound.PlayChime()
Endif
EndSub
0 seu cédigo deve estar parecido com a imagem a seguir, repare: ¥
20 Pressionar o Botio do Mouseb - C\Documentos\Programa Sons Nativos\Executar Som a... |_—
‘Sub QuandoclicaroMouse
‘Sound. PlayBel1Ring()
EndIf
Sound. PlayChime()
EndIf
EndSub
If (Mouse. IsLeftButtonDown) Then
If (Mouse. IsRightButtonDown) Then
Graphicswindow.MouseDown = QuandoClicarOMouse
1h) E para testarmos esse nosso programa, coloque os seuis fones de ouvido e/ou verifique se as caixas de som
| de seu computador estado ligadas. Em seguida, clique sobre o menu Executar (F5) e teste-o algumas vezes.jaa
LOGICA DE PROGRAMACAO
i) Feche a Janela Grafico, pois iremos salvar esse _j) Em seguida, sobre a caixa Salvar como. Feito
programa para que vocé possa utiliza-lo quando qui- isso, clique sobre o botdo Biblioteca e abra a pasta
ser. Primeiramente, clique sobre 0 menu Salvar da Documentos através de duplo clique.
Barra de Ferramentas. ©
k) Dé um clique sobre 0 botdo Criar Nova Pasta e
digite para ela Programas Sons Nativos. Em seguida,
abra essa mesma pasta através de duplo clique.
1) Na caixa de texto do campo Nome, digite Executa Sons Nativos ao pressionar 0 botdo do mouse e, em _
seguida, clique sobre o botao Salvar. ¥
Rede | Nome: Executa Sons Natvos ao pressionar 0 botdo do mouse ~
Cancelar
Teo: [Arquivos do Smal Basic ( smalbasic) =
m) De volta ao Smalll Basic, clique sobre o botdo Fechar deste documento, Em seguida, clique sobre o menu.
Novo. ¥
Esse programa, basicamente, captura os eventos som, o Chime. Sendo assim, o que vocé acha de criar-
do mouse e, caso seja dado um clique com o boto es- mos um programa que seja mais agradavel ao usudrio,
querdo do mouse, executa um som, ou seja, 0 BellRing. em que ele possa se identificar com 0 programa e es-
Se o clique for com o botdo direito, executard outro colher qual miisica quer escutar?
i a ee
ifSabemos que a classe Sound fornece operacies
que permitem a reproduco de sons. Alguns sons sao
fornecidos diretamente pela biblioteca do programa,
como vimos no programa desenvolvido anteriormen-
te. JS as musicas que esto em nossos computadores,
caso desejassemos executé-las, precisaremos, primei-
ramente, indicar 0 caminho do arquivo detalhada-
mente ao programa, ou seja, o nome da pasta em que
© arquivo se encontra, o nome completo da mtisica e
© formato em que ela se encontra para que, assim, ela
possa ser reproduzida corretamente. Vamos ver um
exemplo bem simples a respeito desse caminho a ser
indicado:
Digamos que a mtisica que desejamos que seja re-
produzida esta dentro da pasta Documentos em nosso
Disco local (C:), veja como ficaria:
C:\Documentos\Nome da Musica.Formato
Para se conseguir esse caminho com facilidade, bas-
ta clicar com o botdo direito do mouse sobre o arquivo
desejado e, em seguida, clicar sobre a opcao Proprie-
dades, de acordo com a imagem a seguir: ¥
Em seguida, na caixa Propriedades da Musica que
foi exibida, vocé tera que clicar sobre 0 menu Segu-
ranga, Perceba que logo abaixo temos a op¢ao Nome
do objeto, em que a frente do mesmo, podemos obter
todos os dados necessarios para que nosso programa
possa buscar o esse som diretamente em sua raiz. Po-
deremos fazer isso com quantas miisicas desejarmos,
apenas copiando esses dados e colando-os em nosso
Bed odio
LOGICA DE PROGRAMACAO
CRIANDO UM PROGRAMA QUE PERMITE AO USUARIO ESCUTAR A MUSICA QUE ELE QUISER.
0s formatos que o Small Basic pode so: WAV, MP3
ou WMA, lembrando que, caso os codecs (programa
especifico de 4udio) instalados no computador do
usuério tenham suporte para outros formatos, pode-
ro ou ndo ser reproduzidos. Sendo assim, vamos co-
megar.
a) Como nao poderia ser diferente, a primeira coi-
sa de que precisamos é a Janela Grafico, ndo é mes-
mo? A mesma, agora, seré acompanhada do comando
KeyDown, que mesmo gera um determinado evento
quando uma tecla pré-determinada por nés, progra-
madores, seja pressionada. E todos esses comandos
serdo indicados por uma varidvel. Sendo assim, digite
o seguinte texto:
GraphicsWindow.KeyDown = AoPressionarUmaTecla
b) 0 préximo passo é indicar que a instruao Sub
(sub-rotina) ser representada pela nossa variavel que,
em nosso caso, é AoPressionarUmaTecla. Para isso,
pressione duas vezes Enter e insira o seguinte codigo:
‘Sub AoPressionarUmatecla
©) Como jé sabemos antecipadamente que as teclas
do teclado ficarao responsdvel por executar essas mti-
sicas que adicionaremos brevemente, precisamos ati-
vaclas, nao é mesmo? £ ai que entra a LastKey, pois a
‘mesma obtém a tiltima tecla pressiona sobre a Janela
Grafico. Portanto, adicione o seguinte cédigo:
Tecla = GraphicsWindow.LastKeyLOGICA DE PROGRAMACAO
4) Com isso, chegamos ao ponto em que necessi-
tamos inserir a primeira condigao, ou seja, se a tecla
pressionada for “A” entao. Deixaremos, assim, a tecla
“A” responsdvel por executar essa miisica, portanto,
pressione Enter para mudarmos de linha e, em segui-
da, digite:
If Tecta = “A” Then
Obs: 0 arquivo de audio que sera inserido sobre
esse programa esta devidamente separado na pasta
Documentos com o formato em MP3.
€) Primeiramente, iremos inserir a classe que nos
permitiré a execucao de sons sobre a Janela Grafico
do programa, Estamos falando da Sound que, como
nao poderia ser diferente, sera acompanhada de uma
operacdo que executa arquivos de Audio de varios for-
matos: a operago Play. Como vimos em nossas aulas
anteriores, apés inserir esses comandos, precisamos
abrir paréntese e, também, aspas. Portanto, digite 0
seguinte texto:
Sound.Play("
£) Muito bem, os dados do arquivo, ou seja, o CAMI-
NHO, o NOME e 0 FORMATO DA MUSICA, devem ser
inseridos apés as aspas, ou seja, nesse ponto em que
nos encontroamos agora. Portanto, clique com 0 botao
direito do mouse sobre a mtisica que deseja ouvir e,
em seguida, clique sobre a op¢ao Propriedades. ¥
h) Muito bem, precisamos fechar aspas e o parén-
tese, faca isso. Veja a seguir como estd essa linha de
cédigo:
‘Sound.Play(“C:\Documentos\Musica.mp3”)
{) Pressione Enter para mudarmos de linha, pois fi-
nalizaremos 0 programa. Para isso, insira, agora, 0 co-
mado Endlf. Em seguida, na linha de baixo, insira o En-
Sub de acordo com a imagem mostrada a seguir: ¥
1g) Na caixa Propriedades da Miisica, podemos no-
tar que existem varias opgdes de menus, Geral, Segu-
ranga, Detalhes e Versdes Anteriores. Vocé se lem-
bra qual desses menus contém o caminho completo
do arquivo para que possamos inserirmos em nosso
programa? Sendo assim, clique sobre Seguranca e co-
pie todo o caminho a frente da opeao Nome do obje-
to.
“GraphicsWindow.KeyDoun = AoPressionarUma
Sub AoPressionarUmaTecla
Tecla iicswindow. LastKey
If Tecla = “A” Then
Sound. Play("C: \Docunentos\Musica.mp3")]
Endif
EndSub
j) Vamos executar 0 nosso programa. Entio, certi-
fique-se de que esta com os fones de ouvido e/ou com
as caixas de som do computador devidamente regula-
das. Vamos 1!
De acordo com seus conhecimentos, execute 0 pro-
grama e, assim que a Janela Grafica for apresentada,
pressione a tecla “A” para que seja executada a nossa
miisica favorita,
Kk) Muito bem, como vocé pode perceber, a miisica
que escolheu foi executada como nés programamos.
80
Se |"|
Esse procedimento pode ser realizado com varias miisicas e, assim, além de mais complexo, deixar muito mais
agradavel ao usudrio. Continuando com nossa aula, feche a Janela Grfico. Em seguida, clique sobre o Salvar que
z se encontra na Barra de Ferramentas.
A
LOGICA DE PROGRAMACAO
Se ei
aeoes
1) Najanela Salvar como, dé um clique sobre o botdo,
Biblioteca e abra a pasta Documentos com um duplo
dlique. >
m) Clique sobre o botdo Criar Nova Pasta e reno-
meie-a para Programas Musicas do Computador.
Em seguida, dé um duplo clique sobre essa pasta. ¥
n) Na caixa de texto do campo Nome, digite Executar Musicas do Computador e clique sobre o boto Salvar.
cal
Comortador
3
Nome: [Executar Musics do Computador > [ee]
Too: |Arquives do Small Basic (‘smalbasic) x] __Cancelar
0) Sabendo que o nosso programa esté devidamen-
te salvo para que possamos utilizé-lo quando quiser,
j clique sobre o boto Fechar do documento. >=
jad
PUBLICANDO PROJETOS NA WEB
Voce sabia que no Small Basic é possivel publicar
todos os seus projetos na Web? O programa nos ofe-
rece essa funcionalidade com apenas um clique e
deixa, assim, dispontvel para quem quiser visualizé-
-lo ou até mesmo baixé-lo para poder estudar. Vamos
ver um exemplo bem fécil: imagine que voc8 acabou
de fazer um programa e, agora, quer mostré-lo para
alguns amigos, Antes dessa op¢do que se tornou in-
dispensavel do programa, era tremendamente traba-
Ihosa essa op¢ao de compartilhar nossas ideias com
os amigos e familiares, pois tinhamos que enviar por
e-mail, salvar em pen drives, etc. Agora, essa hist6-
ria fol alterada através do botéo Publicar |fg-==)
, bastando apenas dar um clique sobre o mesmo e
aguardar alguns minutos para que a caixa Micro-
soft Small Basic nos informe que o programa foi
publicado na Web. Essa caixa contém um cédigo ¥
LOGICA DE PROGRAMACAO
ee
Logo abaixo, temos a op¢ao Categoria, em que pode-
remos enquadrar 0 programa em uma das opgdes dis-
ponivel. ¥
=> =
Jogo
Exemolo
Sendo assim, o que vocé acha de publicar um de nos-
‘sos projetos na Web para podermos entender melhor?
a) Vamos fazer isso para entender todo esse pro-
cedimento na prética, portanto, digite o seguinte pro-
que nada mais é que a identificagao do programa
que acabou de ser publicado, sendo que o mes-
mo é usado para compartilhar com os seus amigos
caso eles também tenham 0 Small Basic instalado
em seu computador, Mas nao pense que se resume
em apenas pessoas que tem o programa instala-
do, pois ele poder ser visualizado diretamente em
uma pagina da Web através de um link que também
é fornecido assim que 0 programa é publicado, ¥
bastando apenas enviar esse link para quem voce
‘Vac gee eu pop re Ramanan
quiser que veja o seu programa na Web. Lembre-se
que 0 mesmo poderé ser executado da mesma manel-
ra, Caso queira publicar algum projeto na Web, poderd
adicionar alguns detalhes para o mesmo, tais como: Ti-
tulo do Programa e a Descrigéo Resumida, em que
poderé dar uma breve explicagao de seu programa. V
=
‘*) Adicionar Mais Detalhes
[Titulo do Programa (max 255)
1)" cophtcatindou Orvshslor = Gaphicsindow Cethandenlor()
fF Tieth cede
§ P= math cetnaenter(500)
& _Geophicsdindu FELESpeeR, ®, 22, 22)
GraphicsWindow.BackgroundColor = “Lime”
For i= 1 To 10000
GraphicsWindow.BrushColor = GraphicsWindow.
GetRandomColor()
R= Math.GetRandomNumber(620)
P = Math.GetRandomNumber(500)
GraphicsWindow.Filllipse(R, P, 22, 22)
EndFor
1b) Esse programa exibiré a Janela Gréfico na cor ver-
de, onde a mesma apresentaré de uma forma cronome-
trada, exatamente Dez mil cfrculos coloridos. Sendo as-
1 clique sobre o menu Executar para que possamos
ver o seu funcionamento primeiramente no programa,
DescrigSo Resumia (max 1024) eee) Muito legal esse programa, nao é mesmo? Dé um
clique sobre 0 botdo Fechar da Janela Gréfico para
que, assim, possamos voltar para o programa. ¥
LOGICA DE PROGRAMACAO
‘=
domColor para atribuir cores aleatérias ao pincel
e também a Math.GetRandomNumber para atri-
buir coordenadas R e P aos cfrculos. ¥
d) Dé um clique sobre o menu Publicar que se en-
contra na Barra de Ferramentas e aguarde alguns
segundos, pois o programa iré se encarregar de fazer
todo o procedimento para nés. ¥
eu proroma fi pacedo ra web
‘ts epee a per pop
KRL927
et spoon on ase
Ines Pepen in
Ea ae nt me em te
8) Muito bem, com todos os requisitos devidamente
reenchidos, podemos visualizar o programa na Web,
wo € mesmo? Sendo assim, clique sobre o Link de
acordo com a imagem de a seguir.
Be
“es prepara pbc wed
ao etn pnp pc go pap.
KRL927
€) Apés esse procedimento, é exibida uma mensa-
gem em que consta a identificagao de seu programa,
0u seja, 0 cédigo que é usado para que vocé possa
compartilhar todo 0 seu trabalho com os seus amigos.
Logo abaixo, temos o Link. Com ele, vocé poder visu-
alizar o seu programa diretamente na Web. Mas antes,
vamos adicionar alguns detalhes para tornar o nosso
cédigo mais compreensivo aos nossos amigos e para
as pessoas que queiram utilizé-lo, Portanto, clique so-
bre a opcao Adicionar Mais Detalhes. ¥
f) Feito isso, clique sobre a caixa de texto da opgao
‘Titulo do Programa e digite: Circulos de cores ale-
atérias. Em seguida, clique sobre a caixa de texto da
opcao Descrigdo Resumida e insira o seguinte texto:
Programa que utiliza a GraphicsWindow.GetRan-
1h) Como podemos observar, 0 programa foi exe-
cutado da mesma maneira como se estivesse sobre 0
Small Basic. Caso queira testé-lo novamente, basta
clicar sobre o botdo List Program e esperar carregar.
Faga isso e, em seguida, clique sobre a Barra de Rola-
gem para que possamos visualizar 0 nosso cédigo. ¥eres cron
“repens trblar » rplctindn etanntsr()
1th eaeomaer ss)
1 Riertannmnater (a)
rpheninne Pea, 2, 22)
4) Sendo assim, Feche o Internet Explorer e, em se-
guida, clique sobre o botdo Atualizar e Fechar da cai-
xa Microsoft Small Basic para que possamos voltar
a0 programa.
J) De acordo com seus conhecimentos, salve esse
programa com o nome de Circulos de Cores Aleaté-
rias, dentro da pasta Documentos de seu computa-
dor. Em seguida, Feche o Small Basic.
IMPORTANDO PROJETOS DA INTERNET
Da mesma maneira que podemos publicar um Pro-
jeto da Web como acabamos de fazer, também pode-
mos Importar um que tenhamos achado bom e, assim,
alterar seus cédigos, usé-lo para o preenchimento de
algum cédigo ou apenas estudé-los. Vamos ver como
seria e aproveitar o mesmo que acabamos de publicar
para termos a certeza que realmente ele est hospeda-
do no Site do Small Basic.
a) Abra o Internet Explorer de acordo com seus co-
nhecimentos. Em seguida, dé clique sobre a Barra de
Endereso e digite: http://smallbasiccom/program/.
Pressione Enter ao final.
b) Nesse Link, basta digitarmos o cédigo do progra-
ma que desejarmos visualizar sobre a caixa de texto
do campo Program Listing e pressionar o botao List
LOGICA DE PROGRAMACAO
Program. Sabendo disso, clique sobre essa caixa de
texto, digite KRL927 e pressione List Program.
©) Dé um clique sobre a Barra de Rolagem para
podermos visualizar o cédigo do mesmo, Em seguida,
feche o Internet Explorer.
JOGOS PRONTOS PARA ESTUDO
Falaremos, agora, sobre os jogos prontos existentes
no Small Basic. Eles s4o extremamente complexos €
esto totalmente disponfveis para que possamos nos
divertir com eles e, ao mesmo tempo, baixé-los para
que, assim, possamos estudé-los. O jogo mais famoso
deles, com certeza, é 0 TETRIS que é praticamente
uma cépia fiel do famoso jogo de TETRIS e, também,
‘0 mais baixado pelos usuarios do site. Veremos, tam-
‘bém, o jogo SOKO que é o mais incrivel visualmente
ja construido pela plataforma do Small Basic, que fol
baseado pelo Sokoban. Veremos, também, um jogo
incrivel, o ASTEROIDS, em que uma Nave tem a fina-
lidade de destruir os asteroides em seu caminho. 0
que vocé acha de visualizarmos todos eles e realizar
alguns testes?
a) Sendo assim, abra o Internet Explorer. Em se-
guida, clique sobre a Barra de Endereso e digite
Ihttp://smalibasic.com/.
'b) Vamos comear pelo mais baixado entre os usué-
rios, néo é mesmo? Sendo assim, digite TETRIS na cai-
xa de texto da opcao Program Listing e, em seguida,
pressione List Program. ¥
6) Assim que o jogo tiver iniciado, veja a funciona-
lidade dele, utilizando as setas direcionais do teclado,
Em seguida, visualize toda a estrutura do cédigo uti-
lizando a Barra de Rolagem. Caso haja a necessidade
de reiniciar 0 jogo, basta clicar sobre o botao List Pro-
gram. >LOGICA DE PROGRAMACAO
) Muito bem, apés utilizar todas as funcionalidades
do TETRIS e, também, visualizar a sua complexa estru-
tura, vamos desfrutar do jogo mais incrivel visualmen-
te. Portanto, dé um duplo clique sobre a caixa de tex-
to Program Listing para selecionar seu texto e digite
SOKO. Na sequéncia, pressione List Program.>
) Assim que a pagina for carregada, pressione Enter
para iniciar 0 jogo e lembre-se que o objetivo é empur-
rar todos os Cristais Azuis até os campos amarelos com
pequenas estrelas, de acordo com a imagem de base a
seguir, para que assim possa avancar de fase:
£) Apés testé-lo, clique sobre a Barra de rolagem
para que possa visualizar todo 0 cédigo do jogo SOKO.
Note que toda a estrutura é bem parecida com a que nés
aprendemos durante todo o curso de Légica, pois os cé-
digos utilizados na elaboragdo do mesmo sao todos pa-
drdes do Small Basic.
Microsoft Small
|®> Program Listing:
eeaed
LOGICA DE PROGRAMACAO
Isso quer dizer que, se tivermos um pouco de imaginagao com o aprendizado que obtivemos durante todo 0
curso, podemos também desenvolver programas parecidos ou até mesmo melhores que estes. ¥
evelshapes[4}(p-1] = Shapes. Addtaage(dmage("A"))
angle = hath. etnandoatnber(20)
= Math.Cos(angle * 0.4174) * 1200
v= hath sin(angle * 0.0124) * 600
Shapes.ove(Levelshapes{i]{p-1], x¥ + 512, yw + 250)
Shapes. aninate(Ievelshapes[i][p-1], (9-1) * 50 + korrx, (1) * 48 - @, antatime)
‘lserf blockcode = 70" Then ‘erysfal on wood
Ievelshapes[]{p-1] = Shapes. Addimage(Smage( 8-1)
angle ~ Nath.GetRandoatunber( 0)
svr= Nath.cos(angle * 0.8174) * 1200
y¥ = Rath. Sin(angle * 0.0174) * 600
‘Shapes.ove(Levelshapes{i}[p-1]. x¥ + 512, yv + 350)
‘Shapes oninate(levelshopes[i}{p-!], (p-1) * 50 + hares, (1) * 40 - 0, anlatime)
‘suserf Blockcode <2 Then
evelshapes[Z]{p-1] = Shapes. Addumage(snage(blockcode))
nale - hath CetRondontinber(20)
r= Nath.cos(angle * 0.0174) * 1200
yw = hath Sin(angle * 0.0174) * 668
‘Shapes.nove(levelshapes{[p-1], x0 + S12, yv + 358)
‘hopes Aninate(levelshopes[t}{p-1], (p-1) * 58 + korex, (1) * 49 - @, antwtime)
taseif blockcode = 2 Then
Aevelshapes[4][p-1] = Shapes.Addtmage( inage("0"])
angle - Hoth. cetRandoamaaber(360)
r= Hath.Cos(angle * @.0174) * 1200
yy = Hath.Sin(angle * 0.0174) * 600
‘Shepes nove(levelshapes(}[p-i], x0 + 512, yv + 358)
‘Shapes animate(levelshapes[}{p-2], (p-1) * 58 + korex, (1) * 40 ~ @, antmtime)
2) Em seguida, clique novamente sobre a Barra de
rolagem para que possamos voltar ao topo da pagina.
Nosso objetivo, agora, seré conhecer 0 ASTEROIDS,
como prometido anteriormente. Vocé iré se surpre-
ender com essa jogabilidade, pois ele é um jogo que
prende a atengdo do usuario, por ter uma batalha tra-
vada no espago. Tem como objetivo destruir os Aste-
roids em seu caminho através de uma pequena Nave.
‘A jogabilidade se baseia da seguinte forma: a barra de
espaco é utilizada para atirar sobre os Asteroids, as
setas direcionais do teclado sevem para mové-la para
cima, para baixo e para direcioné-la. Sendo assim, di-
gite ASTEROIDS na caixa de texto da opcao Program
Listing, pressione Enter e teste o programa por al-
guns minutos. Caso queira reinicié-lo, basta clicar so-
bre o botao List Program. >
Mads ei Mie
4LOGICA DE PROGRAMACAO
h) Em seguida, clique sobre a Barra de rolagem para visualizar toda a estrutura desse jogo e note que, da
mesma maneira que os jogos que vimos anteriormente, esse também sao constru(dos utilizando apenas os co-
mandos vistos durante o curso, nao é mesmo? Sendo assim, feche o Internet Explorer. ¥
santte(otay = 3)
Progran.Delay(3600/ ps)
16 (pare = ©) Then
AS 20 LINGUAGENS MAIS POPULARES DA ATUALIDADE (INFORMACOES
COMPLEMENTARES)
‘A linguagem de programagao é uma forma padro-
nizada para proclamar instrugdes para um computa-
dor. E um conjunto de regras usadas para definir um
programa de computador como vimos durante nosso
curso de Légica de Programacao. Uma linguagem per-
mite que um programador especifique precisamente
sobre quais dados um computador vai atuar, como es-
tes dados serdo armazenados ou transmitidos e quais
agdes devem ser tomadas sobre intimeras circunstén-
cias.
0 conjunto de palavras, composto de acordo com
essas regras, constitui o cédigo de um software. Uma
das metas das linguagens de programacao é permitir
que programadores tenham uma maior produtivida-
de sobre tudo 0 que diz respeito a computador e per-
miitir, assim, expressar suas intencdes mais facilmente
do que quando comparado com a linguagem que um
computador entende nativamente. Assim, linguagens
de programagao so tencionadas para adotar uma
construgio gramatical de nivel mais alto, que pode ser
mais facilmente entendida por programadores huma-
nos. Linguagens de programagao sdo ferramenta:
portantes para que programadores possam escrever
programas mais organizados e com maior rapidez.
Elas tornam, também, os programas menos depen-
dentes de computadores ou ambientes computacio-
nais especificos (portabilidade).
Vamos continuar a nossa aula apostilada e falar um
pouco sobre curiosidades e informages complemen-
tares a respeito de linguagens de programago. Come-
‘aremos, entdo, com as 20 linguagens mais populares
atualmente: Vamos ld!
1. Java: é uma linguagem de programago multipla-
taforma. Os programas em Java podem ser executados
‘em qualquer sistema operacional, desde que o interpre-
a
87oe 4
tador esteja instalado. Ela 6 uma linguagem orientada
a objetos e, diferentemente das linguagens convencio-
nais, é compilada para um bytecode (cédigo em dados)
‘em que o mesmo é executado por uma maquina virtual
e, também, em portabilidades (celulares, etc).
2. C: elaborada em meados da década de 70, mas
ainda 6 amplamente utilizada. A grande vantagem do
C6 permitir escrever programas extremamente otim
zados para a maquina e, ao mesmo tempo, ter varias
funges prontas, como uma linguagem de alto nivel,
que podem ser utilizadas quando nao for necessario
gerar um cédigo tao otimizado.
3. G++: mantém os recursos do C original, mas traz
muitos recursos novos, como recursos orientados a
objetos. Também bem mais facil de utilizar. E uma lin-
guagem multi-paradigma de uso geral, considerada
de médio nivel, pois combina caracteristicas de alto e
baixo padrao de linguagem.
4. PHP: linguagem interpretada da forma livre e
utilizada para gerar contetido dindmico. PHP é uma
linguagem de programacao de dominio especifico, ou
seja, sua finalidade se estende a um grande campo de
atuagio que é 0 desenvolvimento na web. Seu prop6-
sito principal é implementar solugdes velozes, simples
eeficientes.
5. Python: podemos consideré-la de alto nivel, pois
a mesma pode ser interpretada, imperativa, orientada
a objetos do tipo dinamica e forte. Com uma sintaxe
muito simples e intuitiva e, ao mesmo tempo, bastan-
te poderosa. Pode ser usada por toda classe usudrios
pela sua facilidade.
6. C#; fortemente elaborada, sua sintaxe orientada
a objetos foi baseada no C++, mas incluindo muitas
outras influéncias de outras linguagens de programa-
40. Uma de suas marcantes caracteristicas 6 que ela é
considerada a linguagem simbolo do NET por ter sido
criada praticamente do zero para funcionar em sua
plataforma e, também, sem preocupacdes de compa-
tibilidade com cédigos existentes.
7. Visual Basic: 6 uma linguagem de programa-
sao para Windows, baseada em eventos e em objetos.
Determina aplicativos cuja operago é motivada pela
escolha de algum objeto grafico, que representa uma
ago por parte do usuario, sendo que o mesmo perml-
te criar aplicativos tanto para maquina local quanto
para ambiente de rede.
8. Objective-C: trata-se de uma sub-linguagem
da linguagem C, além de elementos estruturados em
‘Smalltalk. Por ser hfbrida de duas linguagens com pa-
radigmas diferentes ¢ dificil de ser classificada, Ela é
projetada para permitir uma programacdo orientada
a objetos sofisticados,
LOGICA DE PROGRAMACAO
9, Perl: considerada estavel e de multiplataforma,
6 usada em aplicagdes de missées criticas em todos
os aspectos, sendo destacado o seu uso no desenvolvi-
mento web de todos os tipos. Permite a criago de pro-
gramas em sistemas operacionais. Além de ser muito
utilizada para programacdo de formuldrios www e em
tarefas administrativas de sistemas UNIX - onde a lin-
guagem nasceu e se desenvolveu.
10. Ruby: multiparadigma, do tipo dinamicoe forte,
com gerenciamento de meméria automatico, original-
mente planejada e desenvolvida para ser usada como
linguagem de script. Foram inspiradas principalmen-
te por Python, Perl, Smalltalk, Eiffel, Ada e Lisp, sen-
do muito mais parecida em varios aspectos a Python.
Uma de suas caracteristicas mais marcantes é que to-
das as variaveis sdo objetos, onde até os “tipos primi-
tivos” tais como inteiro, real, entre outros sdo classes.
11. JavaScript: baseada na linguagem de progra-
macao ECMAScript é, atualmente, a principal lingua-
gem para programacao em navegadores web. Foi con-
cebida para ser uma linguagem script com orientacao
a objetos, baseada em protétipos. Possui suporte a
programagao funcional e apresenta recursos, como
fechamentos e fungSes de alta ordem, usualmente in-
disponiveis em linguagens populares como Java e C++.
12, Delphi: muito empregada na ampliacao de apli-
cages em contetidos destacados, aplicagdes multi-ca-
madas e cliente/servidor compativel com os bancos
de dados mais conhecidos do mercado. 0 Delphi pode
ser utilizado para diversos tipos de desenvolvimento
de projeto, abrangendo desde Servigos a aplicacdes
Web e CTI
13. Lisp/Scheme/Clojure: é uma familia de lin-
guagem em que a mesma mostra que é possfvel usar
exclusivamente fungdes matematicas como estruturas
de dados elementares. £ explanada, de modo que 0
usudrio digita expressdes em uma linguagem formal
definida e recebe de volta a avaliagdo de sua expres-
sio. Desse ponto de vista, podemos pensar sobre ela
‘como uma calculadora que, ao invés de avaliar expres-
ses aritméticas, avalia expressdes simbélicas, cha-
madas de expressdes.
14. Pascal: linguagem de alto nivel, criada durante
a década de 60. £ uma linguagem bastante estrutura-
dae com regras muito rigidas, o que a torna dificil de
usar. A linguagem Pascal foi criada para incentivar a
programacao modular e estruturada e facilitar a cria-
gao de procedimentos com baixo acoplamento e alta
coes4o. Um programa em Pascal é composto de cons-
tantes e variaveis globais, procedimentos e fungdes
reentrantes e um programa principal.
Seo15. Assemby: foi, provavelmente, a primeira lin-
guagem de programacao da histéria, que surgiu na
década de 50. A ideia da Assembly é usar um coman-
do em substituigao a cada instrusio de maquina. Nela,
cada uma dessas instrugdes equivale a uma instrucao
do processador. Ao invés de usar instrugées como
10101011, vocé pode usar outras bem mais faceis
de entender e de memorizar, tais como: add, div, mul,
and, or, not, etc. Vocé também pode criar variaveis,
que so pequenos espacos na meméria RAM reserva-
dos para guardar algum tipo de dado, que o programa
precisard,
16. SAS: a mesma fornece'uma linguagem de pro-
gramacdo enérgica e flexivel da matriz em um am-
biente ativo para os programadores de alto nivel.
Fornece, também, uma interface de programacio inte-
rativa e andlise exploratoria de dados com construsao
{gramatical simples, tornando-se mais fécil para tradu-
zir formulas matematicas em declaragées. Voce pode
programar facilmente e eficientemente com os muitos
recursos para expresses aritméticas,
| 17, Transact-SQL: é um grande exemplo de ban-
co de dados. Isso decorre da sua simplicidade e faci-
lidade de uso. Ela se diferencia de outras linguagens
de consulta a banco de dados no sentido em que uma
consulta SQL especifica a forma do resultado e nio 0
camino para chegar a ele. Ela é uma linguagem decla-
rativa em oposigo a outras linguagens procedurais,
‘0 que reduz o ciclo de aprendizado daqueles que ini-
iam na linguagem.
18. RPG: uma das poucas linguagens criadas para
maquinas de cartes. Isso acontece porque a lingua-
gem evoluiu consideravelmente ao longo do tempo.
Ela foi originalmente desenvolvida pela IBM na déca-
da de 1960. Para descrever a finalidade da linguagem:
geracio de relat6rios a partir de arquivos de dados,
incluindo correspondéncia total de sub-registro e re-
latérios.
19. MATLAB: um software destinado a fazer célcu-
Lf i los com matrizes. Por ser um software interativo de
JY ato desempenho também integra anélise numérica,
si célculo com matrizes, processamento de sinais e cons-
trusio de gréficos em ambiente ficil de usar em que
problemas e solugdes so expressos somente como
Ji) cles e sao escritos matematicamente, ao contrario da
programacao tradicional
20. Ada: linguagem de programagao estruturada,
uv de tipagem estatica. £ uma linguagem imperativa,
orientada a objetos e é uma linguagem de alto nivel,
| originada de Pascal e outras linguagens com 0 intuito
de substituir as centenas de linguagem de programa-
LOGICA DE PROGRAMACAO
so usadas, Ada é uma aplicago com compiladores
validados para uso confidvel em missdes criticas, tais
como softwares de aviacao.
Essa pequena listagem sempre ird variar, pois as
linguagens ficardo desatualizadas ou coisa parecida.
Novas iréo aparecer repentinamente para nos surpre-
ender. £ praticamente impossivel dominar todas elas,
Bons programadores sabem programar relativamente
bem em 3 ou 4,
NO QUE VOCE SE TORNOU?
No final deste curso, vocé deve pensar: “Mas no que
eu me tornei? Em que eu sei programar?”
Esperei muito para chegar essa hora e lhe surpreen-
der. Observe 0 cédigo abaixo:
‘
Qual a fungao deste trecho em JavaScript? Simples,
nao é mesmo? A resposta, como podemos observar, é:
Mostrar na tela a frase “Meu primeiro cédigo em Ja-
vaScript’,
Agora, observe esse trecho de cédigo elaborado so-
bre a linguagem de programacao .NET:
t
Console Write("Meu primero cédigo em NETI");
Console Readkey();
,
Com certeza a mesma coisa que o anterior, ou seja,
essa parte do programa exibiré a mensagem “Meu
primeiro cédigo em .NET”. Esse dois trechos de cédi
go foram feitos respectivamente em JavaScript e Do-
tNet. Duas linguagens de programa¢4o muito utiliza-
das na atualidade por programadores extremamente
profissionais nessa drea. Nés ndo falamos nada a res-
peito dessas linguagens durante todas as aulas do cur-
0 e, mesmo assim, vocé conseguiu identificar 0 que
esses trechos de cédigo fariam! Queremos mostrar,
com isso, que, se vocé possuir uma boa base de Logica
de Programagao, basta aprender os detalhes da li
guagem com que for trabalhar, pois, o principal, que &
Pensar e Agir como programador é algo que vocé jé
tem internalizado.sed
LOGICA DE PROGRAMACGAO
FACA VOCE MESMO!
Para que voc® possa praticar ainda mais e desenvolver
projetos no Small Basic, deixaremos uma breve explica-
‘edo do programa que teré que fazer, ou seja, 0 passo a
asso para facilitar a vocé todo o desenvolvimento do
programa e, também, os comandos a serem utilizados.
Nao fique preocupado, pois, se em algum momento sur-
gir alguma divida, basta rever os conceitos vistos em
sua apostila, pois ela foi desenvolvida exatamente com
‘05 mesmos comandos que verd a seguir! Também hd um
gabarito disponivel no final da apostila, em que podera
encontrar todos os cédigos dos exercicios. Vamos Id!
1. Faremos um programa que funcionaré como uma
lousa, ou seja, assim que executado, ele Ihe proporciona-
r fazer desenhos na cor branca. Esse programa ter que
ter as seguintes caracteristicas: primeiramente, a Janela
Gréfico seré exibida na tela e a mesma teré que ser apre-
sentada na cor verde. Jd 0 Cursor do Mouse fara riscos
(desenhos) na cor branca. As caracteristicas podem ser
visualizadas a seguir:
+ Exibira Janela Grafico na cor verde escuro
(DarkGreen);
+ Definir o cursor do Mouse na cor branca (White)
para que possamos fazer desenhos ou apenas es-
crever no quadro;
+ OMouse serd reconhecido assim que pressionado
e, também, quando for movimentado
(MouseDown e MouseMove).
Comandos a serem utilizados:
+ Varidvels;
+ Graphicswindow;
+ BackgroundColorBackgroundColor;
+ DarkGreen;
+ PenColor;
© White;
+ MouseDown;
‘+ MouseMove;
= Sub;
‘| Mousex;
+ Mousey;
if
+ IsLeftButtonDown;
+ Then;
+ Endif;
= EndSub.
2. Nosso ultimo programa, consiste em um desafio,
que requereré de vocé o uso de alguns recursos e concei-
tos nao abordados diretamente em nosso curso, porém
sabemos que com um pouco de estudo, concentragdo e
treino vocé serd capaz de crié-lo. Tal aplicativo terd a se-
guinte finalidade: quando a Janela Grafico for apresen-
tada na tela, apareca lentamente o texto Logica de Pro-
gramago sobre centenas de pequenas bolas coloridas.
Veja s seguir as suas caracteristicas:
+ Apresentar a Janela Grafica;
+ Aparecer o texto “Logica de Programac3o;
* Otexto deverd aparecer lentamente sobre cente-
nas de pequenas bolas coloridas.
Veja os comandos a serem utilizados para tal finalidade:
GraphicsWindow;
BackgroundColorBackgroundColor;
midnight;
FontSize;
To;
BrushColor;
GetRandomColor;
Math;
GetRandomNumber;
Fillllipse;
EndFor;
DrawBoundText;
EndWhile,
E, assim, finalizamos mais uma aula e, também, 0
curso de Logica de Programacio que, como deu para
perceber, se vocé possuir um bom embasamento sobre
Logica de Programaco basta aprender os detalhes das
linguagens com que for trabalhar, pois, como jé falamos
anteriormente, o principal, que € Pensar e Agir como
programador é algo que vocé j4 possui. Agradecemos
sua companhia e esperamos té-lo ajudado a conhecer e
compreender a importancia que € essa surpreendente
linguagem de programago, com a qual podemos elabo-
rat programas desde os mais simples até os mais com-
plexos, tudo dentro de um programa que nos propor-
ciona um layout maravilhoso. Nés nos despedimos por
aqui, mas esperamos reencontré-lo em breve para mais
um curso! Até logo!a)A linguagem de programacao é um método pa-
dronizado para a comunicagdo computador, pro-
gramador.
b)A tomada de deciséo ¢ um processo que ocorre
quando temos caminhos diferentes & seguir.
€) Logica de Programagao é a base para que possa-
mos entender linguagens de programaco, além
de qualquer outra estrutura que envolva dados
que necessitem ser estruturados.
3- Alternativa D
AULAOZ
01)-A
02)
A- Entrada
B- Entrada
C- Entrada
03)-D 04)-c
D- Processamento
E-Saida
05)-D
AULA 03
01)
av b)F av dF
02)
+ VARIAVEIS
PRIMEIRO;
SEGUNDO;
SOMA.
03)
= VARIAVEIS
MESO1;
MESO2;
04)
+ VARIAVEIS
MESO1 do tipo INTEIRO;
MES02 do tipo INTEIRO;
SOMA do tipo INTEIRO;
[MEDIA do tipo NUMERO EM PONTO FLUTUANTE.
LOGICA DE PROGRAMACAO
05)
(4) Aplicagao de Acido Fosférico
(1) Aplicagao de leite decal
(2) Uso de peneiras
(3 ) Aplicagao do gas Anidrido Sulfuroso
AULA 04
01) 02) ¢
03)
a) operadores relacionais
b) operadores aritméticos
©) operadores légicos
d) operadores aritméticos
e) operadores relacionais
04)
av dv
b)F er
av
01)-€.
02) -
03) -F;V; V;V.
2.
AULA 07
01)
TextWindowWriteLine("Célculo de IMC")
TextWindow.WriteLine(*Digite seu peso:”)
peso = TextWindow.Read|)
TextWindow.WriteLine("Digite sua altura:”)
altura = TextWindow.Read()
resultado=peso/(altura*altura)
TextWindow.WriteLine(“seu IMC &:")
TextWindow.WriteLine(resultado)
02)
‘TextWindow.WriteLine("informeoprimeirovalor:”)
PRIMEIRO = TextWindow.Readi)
‘TextWindow.WriteLine(“informeosegundoval
SEGUNDO = TextWindow.Read()
RESULTADO = PRIMEIRO*SEGUNDO.
TextWindowWriteLine("O resultado é:")
TextWindow.WriteLine(RESULTADO)
1LOGICA DE PROGRAMACGAO
A
AULA OB. AULA 11 =
01) o1)
TextWindowWriteLine(“Escreva a senh: TextWindow.WriteLine(*Célculo de IMC”)
10 TextWindow.WriteLine("Digite seu peso:")
TextWindow.Read() peso = TextWindow.Read()
While numero <> senha TextWindow WriteLine("“Digite sua altura:”)
TextWindow.WriteLine("Senha errada”) altura = TextWindow-Read() L
TextWindow.WriteLine(“Escreva a senha:") resultado=peso/(altura*altura)
numero = TextWindow.Read() TextWindow.WriteLine("seu IMC é:”) L)
EndWhile TextWindow.WriteLine(resultado)
Fnumero g.seotahap IFresultado < 18.5 Then be
Tos indoveWitallne(-Conetel) TextWindow.WriteLine("“Vocé esté abaixo do seu s
02) peso ideal.”)
Senha = “1415” Elself resultado > 25 then
Tentativas = 0 TextWindowWriteline(“Vocé esté acima do seu B
While Digitado <> Senha And Tentativas <3 peso ideal.”) 7
TextWindow.WriteLine("Digite a senha:”) ee
Tentativas = Tentativas +1 -
Digitado = TextWindow.Read{) Teaiivetoaiiehtiont ‘Vocé esté no seu peso i
EndWhile ideal i) ul
If Digitado = Senha Then Endif f
TextWindow.WriteLine("Vocé acertou a senha!”) G
Else
TextWindow.WriteLine(“Excesso de tentativas!”) bre | ba
Endit GraphicsWindow.BackgroundColor = “DarkGreen” al
GraphicsWindow.PenColor = “White”
AULA GraphicsWindow.MouseDown = PressionarMouse e
01) Graphics Window.MouseMove = MoverMouse
GraphicsWindow.BrushColor = “Green” Sub PressionarMouse =
GraphicsWindow.FillRectangle(100, 70, 50, 200) pasiavels = ciaeti a wiicow: Mouser
2) variavelY = GraphicsWindow MouseY Pi
icawin Color = “Grail EndSub
GraphiesWindow: BackgroundColor = "Gray sub MeteiMouse i
GraphicsWindow.PenColor = “Magenta X = GraphicsWindow.Mousex i
GraphicsWindow.PenWidth = 10 Y = GraphicsWindow.MouseY
GraphicsWindow.DrawEllipse(200, 150, 120, 120) If (Mouse.IsLeftButtonDown) then s
GraphicsWindow.DrawLine(varidvelX, varidvelY, x, s
y)
AULA 10 endif
Graphics Window.MouseMove = QuandoOMouse- Naciavel bed
et varidvel
Sub QuandoOMouseSeMover Ends '
02)
raphicsWindow.MouseX GraphicsWindow. BackgroundColor = “midnight” iJ
¥ = GraphicsWindow.MouseY GraphicsWindow.FontSize = 80 li
If (Mouse.IsLeftButtonDown) Then raphicsWindow.Width @
While ("True”) ,
GraphicsWindow.BrushColor = “Red” For i='50 To 100 i
GraphicsWindow.FillElipse (x,y, 30, 30) GraphiesWindow.8rushColor = GraphicsWindow.
Endif GetRandomColor() :
x= Math.GetRandomNumber(640)
If (Mouse.|sRightButtonDown) Then y= Math.GetRandomNumber(480)
GraphicsWindow.BrushColor = “Green” GraphicsWindowFillElipse(x,y, 10, 10)
GraphicsWindow-FillEllipse (x, y, 30, 30) EndFor 3
endif GraphicsWindow.BrushColor = “Black” 7
GraphicsWindow.DrawBoundText(50,80,LP-00,
“Légica de Programacao”)
EndWhile ry
EndSubAcelere o seu n
crescimento
profissional ny
Antecipe seu
Sucesso
©
negocios
tecnologia «
ooee) ) ml oe
evoluaprofissional.com.br —
an
pAntecipe seu | Acelere o seu
crescimento
profissional
Pee Lod
a
x
Ree) JP
|
Ree! FP)
a
evolua
pr ssiona
® evoluaprofissional.com.br
2Logica de Programacao