Anda di halaman 1dari 131

Algoritmos

Mediante APRENDER estrutura apresentada anteriormente, fica mais fcil compreender


APRENDER definio PARADIREITA um algoritmo, caracterizando-se por ser um
CONJUNTO PARADIREITA instrues objetivas.

Embora APRENDER palavra algoritmo nos remeta APRENDER pensar em uma


infinidade PARADIREITA coisas complexas, OU mesmo se trata PARADIREITA um
CONJUNTO PARADIREITA instrues que tem como objetivo resolver um problema.
No quer dizer que no tenhamos algoritmos complexos, isso ir depender da
complexidade do problema em questo.

Todos os exemplos vistos anteriormente fazem parte do nosso dia APRENDER dia, so
algoritmos que executamos sempre que precisamos. Deixando um pouco OU cotidiano
PARADIREITA lado, iremos agora entrar PARADIREITA cabea NO mundo
computacional. Let's go!

Prximos passos

Ao decorrer do curso, voc navegar por meio dos cones encontrados NO canto
superior esquerdo da tela. PARA retornar tela PARADIREITA estrutura do curso, que
onde voc ter acesso APRENDER todas as matrias, voc pode utilizar os botes que
possuem APRENDER imagem ao lado, ao clicar nele voc ser redirecionado PARA
APRENDER pgina inicial do curso.

Os botes possuem posicionamentos estratgicos e dinmicos, ao acessar APRENDER


ltima pgina PARADIREITA uma matria, OU boto que antes era utilizado PARA ir
PARA APRENDER prxima pgina alterado PARA este boto.

APRENDER imagem ao lado representa APRENDER pgina do seu progresso NO


curso, ao clicar nos botes que possuem esta imagem, voc ser redirecionado PARA
APRENDER pgina PARADIREITA perfil, que onde voc ter acesso detalhado sobre
OU seu desempenho, sua conquista e seu progresso NO curso.

Atravs desta pgina voc tambm ser capaz PARADIREITA compartilhar seu
progresso com seus amigos em suas redes sociais favoritas.

Representaes PARADIREITA um algoritmo

Agora que tivemos uma introduo do que se trata os algoritmos, iremos entender como
eles podem ser representados.

Temos vrias formas PARADIREITA representar algoritmos, desde APRENDER mais


simples, representada por formas, at as mais detalhistas, contendo regras
PARADIREITA implementao.

Representaes PARADIREITA um algoritmo

Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que
fazem aluso APRENDER tomadas PARADIREITA decises (fluxograma) e por meio
do pseudocdigo, sendo este mais utilizado PARA OU ensino PARADIREITA lgica
PARADIREITA programao; por meio de linguagem de mquina criamos nossos
algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA E PSEUDOCDIGO

Saiba mais: Representaes PARADIREITA um algoritmo

Um pseudocdigo trata-se PARADIREITA um meio didtico PARADIREITA se


aprender APRENDER programar; no se consegue construir nenhum software via
pseudocdigo. No caso, teramos que nos aprofundar para aprender alguma linguagem
de programao. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.

Fluxograma

Representado por formas, tornam OU entendimento PARADIREITA determinado


algoritmo mais simples, pois uma figura mais clara que vrias palavras.

definido por uma srie PARADIREITA smbolos, em CONJUNTO com desenhos


geomtricos que representam os passos do algoritmo,

Tais como: incio, LER e sada PARADIREITA dados, tomada PARADIREITA


decises, estruturas PARADIREITA repetio e final do algoritmo.

Smbolo

Descrio

OU CRCULO alongado utilizado PARA dar PARACENTRO ou terminar um


fluxograma.

OU retngulo utilizado PARA fazer uma ao ou uma instruo NO fluxograma.

OU losango utilizado PARA uma deciso em um fluxograma.

Fluxograma

Pseudocdigo

Diferente do fluxograma, OU pseudocdigo, tambm conhecido como portugol ou


portugus estruturado, utiliza PDL - Program Design Language (Linguagem
PARADIREITA Projeto PARADIREITA Programao).

Ou seja, uma espcie PARADIREITA narrao do que OU programa deve fazer.


PARA isso, utilizaremos OU pseudocdigo em um programa chamado VisuAlg, que
abordaremos em nossa prxima lio.

OU pseudocdigo APRENDER base que todos devem ter PARA aprender uma
linguagem PARADIREITA programao, pois ele que intermedia APRENDER
linguagem falada (humana) PARA APRENDER linguagem PARADIREITA
programao (computacional).

Exercitando

Pegue um papel e uma caneta e faa OU seguinte algoritmo:

Chupar bala - Utilizando fluxograma demonstre as etapas necessrias PARA chupar


APRENDER bala, lembrando que voc ainda no APRENDER possui.

Ser que voc consegue?

FLUXOGRAMA DA CALCULADORA

VisuAlg

Conhecemos os tipos PARADIREITA representaes PARADIREITA algoritmos, e,


agora, iremos conhecer OU programa que executar nossos pseudocdigos.

Os pseudocdigos podem ser escritos facilmente em uma folha PARADIREITA papel


ou em um bloco PARADIREITA notas, mas PARA tornar isso prtico vamos adotar OU
VisuAlg como nosso software PARA escrever nossos algoritmos na forma
PARADIREITA pseudocdigo e ver na hora OU seu resultado

OU que OU VisuAlg?

um software criado na Universidade PARADIREITA Caxias do Sul NO estado do


Rio Grande do Sul, com APRENDER finalidade PARADIREITA oferecer aos alunos
uma forma PARADIREITA exercitar OU conhecimento adquirido.

PARA utiliz-lo necessrio fazer OU download do programa. OU mesmo pode ser


encontrado em:

OU visuAlg um interpretador simples PARADIREITA pseudocdigo utilizado por


professores PARA OU ensino PARADIREITA lgica PARADIREITA programao.

Seu objetivo no criar softwares, mas auxiliar OU aluno APRENDER entender


APRENDER execuo PARADIREITA seu algoritmo.

Entendendo um pouco melhor

PARA APRENDER criao PARADIREITA um algoritmo, necessria APRENDER


utilizao PARADIREITA palavras-chave. Abaixo, seguem as trs principais PARA OU
funcionamento:

algoritmo: comando que ir definir OU nome do programa; deve ser feito em aspas
duplas;

var: comando que especifica APRENDER rea em que as variveis sero declaradas.
aqui que colocaremos as variveis que iremos utilizar;

PARACENTRO: comando que informa OU incio do programa; nesse bloco que


ficaro os comandos e a lgica que utilizaremos para criar nosso algoritmo.

fimalgoritmo: comando que informa que OU final do algoritmo.

Dentro do nosso algoritmo utilizaremos palavras-chave que iro ler OU que for digitado
e escrever na tela PARA informar algo ao usurio.

escreva: esse comando ir escrever na tela alguma informao ao usurio. Ex.:


Escreva(Digite seu nome).

Leia: esse comando ir ler OU que foi digitado pelo usurio. Ex.: Leia(nome). Esse
nome entre parnteses uma das variveis que deve estar declarada NO bloco var que
vimos anteriormente.

Escreval: esse comando idntico ao escreva, APRENDER no ser pelo fato


PARADIREITA que ele pula uma linha. Ex.: Escreval(Digite seu nome).

Tipos de Dados
Anteriormente, vimos que os algoritmos fazem parte do nosso dia a dia, tambm
conhecemos como e o que um algoritmo e quais as representaes que ele pode ter,
alm da ferramenta que utilizaremos em nosso curso. Agora comearemos a mergulhar
na parte computacional, entender como os algoritmos funcionam aplicados em um
sistema de computador.

Quando criamos um programa computacional, temos que levar em conta quais os tipos
de dados que podero ser inseridos no sistema. a que entram os Tipos de Dados. So
eles que diro o que poder ser digitado ou quais valores nosso algoritmo aceitar.
Ento, vamos ver quais so os tipos de dados e quais informaes eles aceitam.
Tipo de Dado Inteiro
Aceitam somente nmeros inteiros positivos e negativos.
No aceitam nmeros decimais.
01, 4 ,7, -35

Tipo de Dado Real:


podem ser valores positivos e negativos.
podem ser nmeros decimais e inteiros.
01, 4,7, -35
No VisuAlg, o separador decimal o ponto, no a vrgula.

Tipo de Dado Literal


Podem ser letras, nmeros ou caracteres especiais, ou seja, podem ser qualquer tipo de
valor.
Algo dentro de aspas, pode ser qualquer valor
Os valores deste tipo devem estar dentro de aspas duplas ("").
Tipo de Dado Lgico
So respostas para uma pergunta, a qual dever ter apenas duas possveis respostas: sim
ou no.
Porm, sempre resultam como VERDADEIRO ou FALSO.

Variveis
Varivel onde iremos guardar dados essenciais para o funcionamento do nosso
algoritmo/programa.
Uma varivel guarda um valor informado em uma posio de memria, seu contedo
pode sempre ser alterado, como o prprio nome j diz "varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO

Variveis
Imagine as variveis como se fossem gavetas.
Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.
Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado

Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.

Variveis
Agora vamos ver isso na prtica:
O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

var
nomeDaVariavel: TipoDeDado

Variveis - Regras
Regras para o nome da varivel:

nomes de variveis no podem ser iguais a palavras reservadas;

nomes de variveis devem possuir como primeiro caractere uma letra ou


sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado);

nomes de variveis devem ter no mximo 127 caracteres;

nomes de variveis no podem conter espaos em branco.

Saiba mais: Palavras Reservadas


Palavras reservadas so comandos que o algoritmo processa como ao e no como
valor, por exemplo, no podemos criar uma varivel com o nome de algoritmo, var,
entre outros, pois estas esto reservadas para uso do algoritmo.
Essas so as regras para nossas variveis funcionarem no programa.
Abaixo esto listados exemplos de variveis:
nome1
meuNome (Sempre que tivermos palavras separadas, removemos o espao e deixamos a
primeira letra de cada palavra em maisculo).

Variveis - Regras
Para definir o tipo de dado de uma varivel, primeiro declaramos a varivel dentro do
bloco de variveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de
dado (inteiro, literal, lgico ou real). Exemplo: Var nomeDaVariavel: TipoDeDado var
Algoritmos

Mediante APRENDER estrutura apresentada anteriormente, fica mais fcil compreender


APRENDER definio PARADIREITA um algoritmo, caracterizando-se por ser um
CONJUNTO PARADIREITA instrues objetivas.

Embora APRENDER palavra algoritmo nos remeta APRENDER pensar em uma


infinidade PARADIREITA coisas complexas, OU mesmo se trata PARADIREITA um
CONJUNTO PARADIREITA instrues que tem como objetivo resolver um problema.
No quer dizer que no tenhamos algoritmos complexos, isso ir depender da
complexidade do problema em questo.

Todos os exemplos vistos anteriormente fazem parte do nosso dia APRENDER dia, so
algoritmos que executamos sempre que precisamos. Deixando um pouco OU cotidiano
PARADIREITA lado, iremos agora entrar PARADIREITA cabea NO mundo
computacional. Let's go!

Prximos passos

Ao decorrer do curso, voc navegar por meio dos cones encontrados NO canto
superior esquerdo da tela. PARA retornar tela PARADIREITA estrutura do curso, que
onde voc ter acesso APRENDER todas as matrias, voc pode utilizar os botes que
possuem APRENDER imagem ao lado, ao clicar nele voc ser redirecionado PARA
APRENDER pgina inicial do curso.

Os botes possuem posicionamentos estratgicos e dinmicos, ao acessar APRENDER


ltima pgina PARADIREITA uma matria, OU boto que antes era utilizado PARA ir
PARA APRENDER prxima pgina alterado PARA este boto.

APRENDER imagem ao lado representa APRENDER pgina do seu progresso NO


curso, ao clicar nos botes que possuem esta imagem, voc ser redirecionado PARA
APRENDER pgina PARADIREITA perfil, que onde voc ter acesso detalhado sobre
OU seu desempenho, sua conquista e seu progresso NO curso.

Atravs desta pgina voc tambm ser capaz PARADIREITA compartilhar seu
progresso com seus amigos em suas redes sociais favoritas.

Representaes PARADIREITA um algoritmo

Agora que tivemos uma introduo do que se trata os algoritmos, iremos entender como
eles podem ser representados.

Temos vrias formas PARADIREITA representar algoritmos, desde APRENDER mais


simples, representada por formas, at as mais detalhistas, contendo regras
PARADIREITA implementao.

Representaes PARADIREITA um algoritmo

Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que
fazem aluso APRENDER tomadas PARADIREITA decises (fluxograma) e por meio
do pseudocdigo, sendo este mais utilizado PARA OU ensino PARADIREITA lgica
PARADIREITA programao; por meio de linguagem de mquina criamos nossos
algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA E PSEUDOCDIGO

Saiba mais: Representaes PARADIREITA um algoritmo

Um pseudocdigo trata-se PARADIREITA um meio didtico PARADIREITA se


aprender APRENDER programar; no se consegue construir nenhum software via
pseudocdigo. No caso, teramos que nos aprofundar para aprender alguma linguagem
de programao. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.

Fluxograma

Representado por formas, tornam OU entendimento PARADIREITA determinado


algoritmo mais simples, pois uma figura mais clara que vrias palavras.

definido por uma srie PARADIREITA smbolos, em CONJUNTO com desenhos


geomtricos que representam os passos do algoritmo,

Tais como: incio, LER e sada PARADIREITA dados, tomada PARADIREITA


decises, estruturas PARADIREITA repetio e final do algoritmo.

Smbolo

Descrio

OU CRCULO alongado utilizado PARA dar PARACENTRO ou terminar um


fluxograma.

OU retngulo utilizado PARA fazer uma ao ou uma instruo NO fluxograma.

OU losango utilizado PARA uma deciso em um fluxograma.

Fluxograma

Pseudocdigo

Diferente do fluxograma, OU pseudocdigo, tambm conhecido como portugol ou


portugus estruturado, utiliza PDL - Program Design Language (Linguagem
PARADIREITA Projeto PARADIREITA Programao).

Ou seja, uma espcie PARADIREITA narrao do que OU programa deve fazer.


PARA isso, utilizaremos OU pseudocdigo em um programa chamado VisuAlg, que
abordaremos em nossa prxima lio.

OU pseudocdigo APRENDER base que todos devem ter PARA aprender uma
linguagem PARADIREITA programao, pois ele que intermedia APRENDER
linguagem falada (humana) PARA APRENDER linguagem PARADIREITA
programao (computacional).

Exercitando

Pegue um papel e uma caneta e faa OU seguinte algoritmo:

Chupar bala - Utilizando fluxograma demonstre as etapas necessrias PARA chupar


APRENDER bala, lembrando que voc ainda no APRENDER possui.

Ser que voc consegue?

FLUXOGRAMA DA CALCULADORA

VisuAlg

Conhecemos os tipos PARADIREITA representaes PARADIREITA algoritmos, e,


agora, iremos conhecer OU programa que executar nossos pseudocdigos.

Os pseudocdigos podem ser escritos facilmente em uma folha PARADIREITA papel


ou em um bloco PARADIREITA notas, mas PARA tornar isso prtico vamos adotar OU
VisuAlg como nosso software PARA escrever nossos algoritmos na forma
PARADIREITA pseudocdigo e ver na hora OU seu resultado

OU que OU VisuAlg?

um software criado na Universidade PARADIREITA Caxias do Sul NO estado do


Rio Grande do Sul, com APRENDER finalidade PARADIREITA oferecer aos alunos
uma forma PARADIREITA exercitar OU conhecimento adquirido.

PARA utiliz-lo necessrio fazer OU download do programa. OU mesmo pode ser


encontrado em:

OU visuAlg um interpretador simples PARADIREITA pseudocdigo utilizado por


professores PARA OU ensino PARADIREITA lgica PARADIREITA programao.

Seu objetivo no criar softwares, mas auxiliar OU aluno APRENDER entender


APRENDER execuo PARADIREITA seu algoritmo.

Entendendo um pouco melhor

PARA APRENDER criao PARADIREITA um algoritmo, necessria APRENDER


utilizao PARADIREITA palavras-chave. Abaixo, seguem as trs principais PARA OU
funcionamento:

algoritmo: comando que ir definir OU nome do programa; deve ser feito em aspas
duplas;

var: comando que especifica APRENDER rea em que as variveis sero declaradas.
aqui que colocaremos as variveis que iremos utilizar;

PARACENTRO: comando que informa OU incio do programa; nesse bloco que


ficaro os comandos e a lgica que utilizaremos para criar nosso algoritmo.

fimalgoritmo: comando que informa que OU final do algoritmo.

Dentro do nosso algoritmo utilizaremos palavras-chave que iro ler OU que for digitado
e escrever na tela PARA informar algo ao usurio.

escreva: esse comando ir escrever na tela alguma informao ao usurio. Ex.:


Escreva(Digite seu nome).

Leia: esse comando ir ler OU que foi digitado pelo usurio. Ex.: Leia(nome). Esse
nome entre parnteses uma das variveis que deve estar declarada NO bloco var que
vimos anteriormente.

Escreval: esse comando idntico ao escreva, APRENDER no ser pelo fato


PARADIREITA que ele pula uma linha. Ex.: Escreval(Digite seu nome).

Tipos de Dados

Anteriormente, vimos que os algoritmos fazem parte do nosso dia a dia, tambm
conhecemos como e o que um algoritmo e quais as representaes que ele pode ter,
alm da ferramenta que utilizaremos em nosso curso. Agora comearemos a mergulhar
na parte computacional, entender como os algoritmos funcionam aplicados em um
sistema de computador.

Quando criamos um programa computacional, temos que levar em conta quais os tipos
de dados que podero ser inseridos no sistema. a que entram os Tipos de Dados. So
eles que diro o que poder ser digitado ou quais valores nosso algoritmo aceitar.
Ento, vamos ver quais so os tipos de dados e quais informaes eles aceitam.
Tipo de Dado Inteiro
Aceitam somente nmeros inteiros positivos e negativos.
No aceitam nmeros decimais.
01, 4 ,7, -35

Tipo de Dado Real:


podem ser valores positivos e negativos.
podem ser nmeros decimais e inteiros.
01, 4,7, -35
No VisuAlg, o separador decimal o ponto, no a vrgula.

Tipo de Dado Literal


Podem ser letras, nmeros ou caracteres especiais, ou seja, podem ser qualquer tipo de
valor.
Algo dentro de aspas, pode ser qualquer valor
Os valores deste tipo devem estar dentro de aspas duplas ("").
Tipo de Dado Lgico
So respostas para uma pergunta, a qual dever ter apenas duas possveis respostas: sim
ou no.
Porm, sempre resultam como VERDADEIRO ou FALSO.

Variveis

Varivel onde iremos guardar dados essenciais para o funcionamento do nosso


algoritmo/programa.

Uma varivel guarda um valor informado em uma posio de memria, seu contedo
pode sempre ser alterado, como o prprio nome j diz "varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO
Variveis

Imagine as variveis como se fossem gavetas.


Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.
Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado
Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.
Variveis

Agora vamos ver isso na prtica:


O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

var
nomeDaVariavel: TipoDeDado
Variveis - Regras

Regras para o nome da varivel:

nomes de variveis no podem ser iguais a palavras reservadas;


nomes de variveis devem possuir como primeiro caractere uma letra ou
sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado);
nomes de variveis devem ter no mximo 127 caracteres;
nomes de variveis no podem conter espaos em branco.

Saiba mais: Palavras Reservadas


Palavras reservadas so comandos que o algoritmo processa como ao e no como
valor, por exemplo, no podemos criar uma varivel com o nome de algoritmo, var,
entre outros, pois estas esto reservadas para uso do algoritmo.
Essas so as regras para nossas variveis funcionarem no programa.
Abaixo esto listados exemplos de variveis:
nome1
meuNome (Sempre que tivermos palavras separadas, removemos o espao e deixamos a
primeira letra de cada palavra em maisculo).
Variveis - Regras

Para definir o tipo de dado de uma varivel, primeiro declaramos a varivel dentro do
bloco de variveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de
dado (inteiro, literal, lgico ou real).
Exemplo:
var
nomeDaVariavel: TipoDeDado
var
idade: inteiro

assim que devemos declarar nossas variveis no VisuAlg para que funcione.
Variveis - Atribuindo Valor

Para atribuir um valor a uma varivel, precisamos usar o operador de atribuio que <Exemplo:
var
nomeDaVariavel <- "SENAI"

Nesse exemplo eu estou dizendo que a


Algoritmos

Mediante APRENDER estrutura apresentada


anteriormente, fica mais fcil compreender APRENDER definio PARADIREITA um
algoritmo, caracterizando-se por ser um CONJUNTO PARADIREITA instrues
objetivas.

Embora APRENDER palavra algoritmo nos remeta APRENDER pensar em uma


infinidade PARADIREITA coisas complexas, OU mesmo se trata PARADIREITA um
CONJUNTO PARADIREITA instrues que tem como objetivo resolver um problema.

No quer dizer que no tenhamos algoritmos complexos, isso ir depender da


complexidade do problema em questo.

Todos os exemplos vistos anteriormente fazem parte do nosso dia APRENDER dia, so
algoritmos que executamos sempre que precisamos. Deixando um pouco OU cotidiano
PARADIREITA lado, iremos agora entrar PARADIREITA cabea NO mundo
computacional. Let's go!

Prximos passos

Ao decorrer do curso, voc navegar por meio dos cones encontrados NO canto
superior esquerdo da tela. PARA retornar tela PARADIREITA estrutura do curso, que
onde voc ter acesso APRENDER todas as matrias, voc pode utilizar os botes que
possuem APRENDER imagem ao lado, ao clicar nele voc ser redirecionado PARA
APRENDER pgina inicial do curso.

Os botes possuem posicionamentos estratgicos e dinmicos, ao acessar APRENDER


ltima pgina PARADIREITA uma matria, OU boto que antes era utilizado PARA ir
PARA APRENDER prxima pgina alterado PARA este boto.

APRENDER imagem ao lado representa APRENDER pgina do seu progresso NO


curso, ao clicar nos botes que possuem esta imagem, voc ser redirecionado PARA
APRENDER pgina PARADIREITA perfil, que onde voc ter acesso detalhado sobre
OU seu desempenho, sua conquista e seu progresso NO curso.

Atravs desta pgina voc tambm ser capaz PARADIREITA compartilhar seu
progresso com seus amigos em suas redes sociais favoritas.

Representaes PARADIREITA um algoritmo

Agora que tivemos uma introduo do que se trata os algoritmos, iremos entender como
eles podem ser representados.

Temos vrias formas PARADIREITA representar algoritmos, desde APRENDER mais


simples, representada por formas, at as mais detalhistas, contendo regras
PARADIREITA implementao.

Representaes PARADIREITA um algoritmo

Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que
fazem aluso APRENDER tomadas PARADIREITA decises (fluxograma) e por meio
do pseudocdigo, sendo este mais utilizado PARA OU ensino PARADIREITA lgica
PARADIREITA programao; por meio de linguagem de mquina criamos nossos
algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA E PSEUDOCDIGO

Saiba mais: Representaes PARADIREITA um algoritmo

Um pseudocdigo trata-se PARADIREITA um meio didtico PARADIREITA se


aprender APRENDER programar; no se consegue construir nenhum software via
pseudocdigo. No caso, teramos que nos aprofundar para aprender alguma linguagem
de programao. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.

Fluxograma

Representado por formas, tornam OU entendimento PARADIREITA determinado


algoritmo mais simples, pois uma figura mais clara que vrias palavras.

definido por uma srie PARADIREITA smbolos, em CONJUNTO com desenhos


geomtricos que representam os passos do algoritmo,

Tais como: incio, LER e sada PARADIREITA dados, tomada PARADIREITA


decises, estruturas PARADIREITA repetio e final do algoritmo.

Smbolo

Descrio

OU CRCULO alongado utilizado PARA dar PARACENTRO ou terminar um


fluxograma.

OU retngulo utilizado PARA fazer uma ao ou uma instruo NO fluxograma.

OU losango utilizado PARA uma deciso em um fluxograma.

Fluxograma

Pseudocdigo

Diferente do fluxograma, OU pseudocdigo, tambm conhecido como portugol ou


portugus estruturado, utiliza PDL - Program Design Language (Linguagem
PARADIREITA Projeto PARADIREITA Programao).

Ou seja, uma espcie PARADIREITA narrao do que OU programa deve fazer.


PARA isso, utilizaremos OU pseudocdigo em um programa chamado VisuAlg, que
abordaremos em nossa prxima lio.

OU pseudocdigo APRENDER base que todos devem ter PARA aprender uma
linguagem PARADIREITA programao, pois ele que intermedia APRENDER
linguagem falada (humana) PARA APRENDER linguagem PARADIREITA
programao (computacional).

Exercitando

Pegue um papel e uma caneta e faa OU seguinte algoritmo:

Chupar bala - Utilizando fluxograma demonstre as etapas necessrias PARA chupar


APRENDER bala, lembrando que voc ainda no APRENDER possui.

Ser que voc consegue?

FLUXOGRAMA DA CALCULADORA

VisuAlg

Conhecemos os tipos PARADIREITA representaes PARADIREITA algoritmos, e,


agora, iremos conhecer OU programa que executar nossos pseudocdigos.

Os pseudocdigos podem ser escritos facilmente em uma folha PARADIREITA papel


ou em um bloco PARADIREITA notas, mas PARA tornar isso prtico vamos adotar OU
VisuAlg como nosso software PARA escrever nossos algoritmos na forma
PARADIREITA pseudocdigo e ver na hora OU seu resultado

OU que OU VisuAlg?

um software criado na Universidade PARADIREITA Caxias do Sul NO estado do


Rio Grande do Sul, com APRENDER finalidade PARADIREITA oferecer aos alunos
uma forma PARADIREITA exercitar OU conhecimento adquirido.

PARA utiliz-lo necessrio fazer OU download do programa. OU mesmo pode ser


encontrado em:

OU visuAlg um interpretador simples PARADIREITA pseudocdigo utilizado por


professores PARA OU ensino PARADIREITA lgica PARADIREITA programao.

Seu objetivo no criar softwares, mas auxiliar OU aluno APRENDER entender


APRENDER execuo PARADIREITA seu algoritmo.

Entendendo um pouco melhor

PARA APRENDER criao PARADIREITA um algoritmo, necessria APRENDER


utilizao PARADIREITA palavras-chave. Abaixo, seguem as trs principais PARA OU
funcionamento:

algoritmo: comando que ir definir OU nome do programa; deve ser feito em aspas
duplas;

var: comando que especifica APRENDER rea em que as variveis sero declaradas.
aqui que colocaremos as variveis que iremos utilizar;

PARACENTRO: comando que informa OU incio do programa; nesse bloco que


ficaro os comandos e a lgica que utilizaremos para criar nosso algoritmo.

fimalgoritmo: comando que informa que OU final do algoritmo.

Dentro do nosso algoritmo utilizaremos palavras-chave que iro ler OU que for digitado
e escrever na tela PARA informar algo ao usurio.

escreva: esse comando ir escrever na tela alguma informao ao usurio. Ex.:


Escreva(Digite seu nome).

Leia: esse comando ir ler OU que foi digitado pelo usurio. Ex.: Leia(nome). Esse
nome entre parnteses uma das variveis que deve estar declarada NO bloco var que
vimos anteriormente.

Escreval: esse comando idntico ao escreva, APRENDER no ser pelo fato


PARADIREITA que ele pula uma linha. Ex.: Escreval(Digite seu nome).

Tipos de Dados

Anteriormente, vimos que os algoritmos fazem parte do nosso dia a dia, tambm
conhecemos como e o que um algoritmo e quais as representaes que ele pode ter,
alm da ferramenta que utilizaremos em nosso curso. Agora comearemos a mergulhar
na parte computacional, entender como os algoritmos funcionam aplicados em um
sistema de computador.

Quando criamos um programa computacional, temos que levar em conta quais os tipos
de dados que podero ser inseridos no sistema. a que entram os Tipos de Dados. So
eles que diro o que poder ser digitado ou quais valores nosso algoritmo aceitar.
Ento, vamos ver quais so os tipos de dados e quais informaes eles aceitam.
Tipo de Dado Inteiro
Aceitam somente nmeros inteiros positivos e negativos.
No aceitam nmeros decimais.
01, 4 ,7, -35

Tipo de Dado Real:


podem ser valores positivos e negativos.
podem ser nmeros decimais e inteiros.
01, 4,7, -35
No VisuAlg, o separador decimal o ponto, no a vrgula.

Tipo de Dado Literal


Podem ser letras, nmeros ou caracteres especiais, ou seja, podem ser qualquer tipo de
valor.
Algo dentro de aspas, pode ser qualquer valor
Os valores deste tipo devem estar dentro de aspas duplas ("").
Tipo de Dado Lgico
So respostas para uma pergunta, a qual dever ter apenas duas possveis respostas: sim
ou no.
Porm, sempre resultam como VERDADEIRO ou FALSO.

Variveis

Varivel onde iremos guardar dados essenciais para o funcionamento do nosso


algoritmo/programa.

Uma varivel guarda um valor informado em uma posio de memria, seu contedo
pode sempre ser alterado, como o prprio nome j diz "varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO
Variveis

Imagine as variveis como se fossem gavetas.


Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.
Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado
Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.
Variveis

Agora vamos ver isso na prtica:


O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

var
nomeDaVariavel: TipoDeDado
Variveis - Regras

Regras para o nome da varivel:

nomes de variveis no podem ser iguais a palavras reservadas;


nomes de variveis devem possuir como primeiro caractere uma letra ou
sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado);
nomes de variveis devem ter no mximo 127 caracteres;
nomes de variveis no podem conter espaos em branco.

Saiba mais: Palavras Reservadas


Palavras reservadas so comandos que o algoritmo processa como ao e no como
valor, por exemplo, no podemos criar uma varivel com o nome de algoritmo, var,
entre outros, pois estas esto reservadas para uso do algoritmo.
Essas so as regras para nossas variveis funcionarem no programa.
Abaixo esto listados exemplos de variveis:
nome1
meuNome (Sempre que tivermos palavras separadas, removemos o espao e deixamos a
primeira letra de cada palavra em maisculo).
Variveis - Regras

Para definir o tipo de dado de uma varivel, primeiro declaramos a varivel dentro do
bloco de variveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de
dado (inteiro, literal, lgico ou real).
Exemplo:
var
nomeDaVariavel: TipoDeDado
var
idade: inteiro

assim que devemos declarar nossas variveis no VisuAlg para que funcione.
Variveis - Atribuindo Valor

Para atribuir um valor a uma varivel, precisamos usar o operador de atribuio que <Exemplo:
var
nomeDaVariavel <- "SENAI"

Nesse exemplo eu estou dizendo que a


Algoritmos

Mediante APRENDER estrutura apresentada


anteriormente, fica mais fcil compreender
APRENDER definio PARADIREITA um algoritmo, caracterizando-se por ser um
CONJUNTO PARADIREITA instrues objetivas.

Embora APRENDER palavra algoritmo nos remeta APRENDER pensar em uma


infinidade PARADIREITA coisas complexas, OU mesmo se trata PARADIREITA um
CONJUNTO PARADIREITA instrues que tem como objetivo resolver um problema.
No quer dizer que no tenhamos algoritmos complexos, isso ir depender da
complexidade do problema em questo.

Todos os exemplos vistos anteriormente fazem parte do nosso dia APRENDER dia, so
algoritmos que executamos sempre que precisamos. Deixando um pouco OU cotidiano
PARADIREITA lado, iremos agora entrar PARADIREITA cabea NO mundo
computacional. Let's go!

Prximos passos

Ao decorrer do curso, voc navegar por meio dos cones encontrados NO canto
superior esquerdo da tela. PARA retornar tela PARADIREITA estrutura do curso, que
onde voc ter acesso APRENDER todas as matrias, voc pode utilizar os botes que
possuem APRENDER imagem ao lado, ao clicar nele voc ser redirecionado PARA
APRENDER pgina inicial do curso.

Os botes possuem posicionamentos estratgicos e dinmicos, ao acessar APRENDER


ltima pgina PARADIREITA uma matria, OU boto que antes era utilizado PARA ir
PARA APRENDER prxima pgina alterado PARA este boto.

APRENDER imagem ao lado representa APRENDER pgina do seu progresso NO


curso, ao clicar nos botes que possuem esta imagem, voc ser redirecionado PARA
APRENDER pgina PARADIREITA perfil, que onde voc ter acesso detalhado sobre
OU seu desempenho, sua conquista e seu progresso NO curso.

Atravs desta pgina voc tambm ser capaz PARADIREITA compartilhar seu
progresso com seus amigos em suas redes sociais favoritas.

Representaes PARADIREITA um algoritmo

Agora que tivemos uma introduo do que se trata os algoritmos, iremos entender como
eles podem ser representados.

Temos vrias formas PARADIREITA representar algoritmos, desde APRENDER mais


simples, representada por formas, at as mais detalhistas, contendo regras
PARADIREITA implementao.

Representaes PARADIREITA um algoritmo

Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que
fazem aluso APRENDER tomadas PARADIREITA decises (fluxograma) e por meio
do pseudocdigo, sendo este mais utilizado PARA OU ensino PARADIREITA lgica
PARADIREITA programao; por meio de linguagem de mquina criamos nossos
algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA E PSEUDOCDIGO

Saiba mais: Representaes PARADIREITA um algoritmo

Um pseudocdigo trata-se PARADIREITA um meio didtico PARADIREITA se


aprender APRENDER programar; no se consegue construir nenhum software via
pseudocdigo. No caso, teramos que nos aprofundar para aprender alguma linguagem
de programao. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.

Fluxograma

Representado por formas, tornam OU entendimento PARADIREITA determinado


algoritmo mais simples, pois uma figura mais clara que vrias palavras.

definido por uma srie PARADIREITA smbolos, em CONJUNTO com desenhos


geomtricos que representam os passos do algoritmo,

Tais como: incio, LER e sada PARADIREITA dados, tomada PARADIREITA


decises, estruturas PARADIREITA repetio e final do algoritmo.

Smbolo

Descrio

OU CRCULO alongado utilizado PARA dar PARACENTRO ou terminar um


fluxograma.

OU retngulo utilizado PARA fazer uma ao ou uma instruo NO fluxograma.

OU losango utilizado PARA uma deciso em um fluxograma.

Fluxograma

Pseudocdigo

Diferente do fluxograma, OU pseudocdigo, tambm conhecido como portugol ou


portugus estruturado, utiliza PDL - Program Design Language (Linguagem
PARADIREITA Projeto PARADIREITA Programao).

Ou seja, uma espcie PARADIREITA narrao do que OU programa deve fazer.


PARA isso, utilizaremos OU pseudocdigo em um programa chamado VisuAlg, que
abordaremos em nossa prxima lio.

OU pseudocdigo APRENDER base que todos devem ter PARA aprender uma
linguagem PARADIREITA programao, pois ele que intermedia APRENDER
linguagem falada (humana) PARA APRENDER linguagem PARADIREITA
programao (computacional).

Exercitando

Pegue um papel e uma caneta e faa OU seguinte algoritmo:

Chupar bala - Utilizando fluxograma demonstre as etapas necessrias PARA chupar


APRENDER bala, lembrando que voc ainda no APRENDER possui.

Ser que voc consegue?

FLUXOGRAMA DA CALCULADORA

VisuAlg

Conhecemos os tipos PARADIREITA representaes PARADIREITA algoritmos, e,


agora, iremos conhecer OU programa que executar nossos pseudocdigos.

Os pseudocdigos podem ser escritos facilmente em uma folha PARADIREITA papel


ou em um bloco PARADIREITA notas, mas PARA tornar isso prtico vamos adotar OU
VisuAlg como nosso software PARA escrever nossos algoritmos na forma
PARADIREITA pseudocdigo e ver na hora OU seu resultado

OU que OU VisuAlg?

um software criado na Universidade PARADIREITA Caxias do Sul NO estado do


Rio Grande do Sul, com APRENDER finalidade PARADIREITA oferecer aos alunos
uma forma PARADIREITA exercitar OU conhecimento adquirido.

PARA utiliz-lo necessrio fazer OU download do programa. OU mesmo pode ser


encontrado em:

OU visuAlg um interpretador simples PARADIREITA pseudocdigo utilizado por


professores PARA OU ensino PARADIREITA lgica PARADIREITA programao.

Seu objetivo no criar softwares, mas auxiliar OU aluno APRENDER entender


APRENDER execuo PARADIREITA seu algoritmo.

Entendendo um pouco melhor

PARA APRENDER criao PARADIREITA um algoritmo, necessria APRENDER


utilizao PARADIREITA palavras-chave. Abaixo, seguem as trs principais PARA OU
funcionamento:

algoritmo: comando que ir definir OU nome do programa; deve ser feito em aspas
duplas;

var: comando que especifica APRENDER rea em que as variveis sero declaradas.
aqui que colocaremos as variveis que iremos utilizar;

PARACENTRO: comando que informa OU incio do programa; nesse bloco que


ficaro os comandos e a lgica que utilizaremos para criar nosso algoritmo.

fimalgoritmo: comando que informa que OU final do algoritmo.

Dentro do nosso algoritmo utilizaremos palavras-chave que iro ler OU que for digitado
e escrever na tela PARA informar algo ao usurio.

escreva: esse comando ir escrever na tela alguma informao ao usurio. Ex.:


Escreva(Digite seu nome).

Leia: esse comando ir ler OU que foi digitado pelo usurio. Ex.: Leia(nome). Esse
nome entre parnteses uma das variveis que deve estar declarada NO bloco var que
vimos anteriormente.

Escreval: esse comando idntico ao escreva, APRENDER no ser pelo fato


PARADIREITA que ele pula uma linha. Ex.: Escreval(Digite seu nome).

Tipos de Dados
Anteriormente, vimos que os algoritmos fazem parte do nosso dia a dia, tambm
conhecemos como e o que um algoritmo e quais as representaes que ele pode ter,
alm da ferramenta que utilizaremos em nosso curso. Agora comearemos a mergulhar
na parte computacional, entender como os algoritmos funcionam aplicados em um
sistema de computador.

Quando criamos um programa computacional, temos que levar em conta quais os tipos
de dados que podero ser inseridos no sistema. a que entram os Tipos de Dados. So
eles que diro o que poder ser digitado ou quais valores nosso algoritmo aceitar.
Ento, vamos ver quais so os tipos de dados e quais informaes eles aceitam.
Tipo de Dado Inteiro
Aceitam somente nmeros inteiros positivos e negativos.
No aceitam nmeros decimais.
01, 4 ,7, -35

Tipo de Dado Real:

podem ser valores positivos e negativos.


podem ser nmeros decimais e inteiros.
01, 4,7, -35
No VisuAlg, o separador decimal o ponto, no a vrgula.

Tipo de Dado Literal


Podem ser letras, nmeros ou caracteres especiais, ou seja, podem ser qualquer tipo de
valor.
Algo dentro de aspas, pode ser qualquer valor
Os valores deste tipo devem estar dentro de aspas duplas ("").
Tipo de Dado Lgico
So respostas para uma pergunta, a qual dever ter apenas duas possveis respostas: sim
ou no.
Porm, sempre resultam como VERDADEIRO ou FALSO.

Variveis
Varivel onde iremos guardar dados essenciais para o funcionamento do nosso
algoritmo/programa.
Uma varivel guarda um valor informado em uma posio de memria, seu contedo
pode sempre ser alterado, como o prprio nome j diz "varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO
Variveis
Imagine as variveis como se fossem gavetas.
Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.

Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado
Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.
Variveis
Agora vamos ver isso na prtica:
O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

var
nomeDaVariavel: TipoDeDado
Variveis - Regras
Regras para o nome da varivel:

nomes de variveis no podem ser iguais a palavras reservadas;

nomes de variveis devem possuir como primeiro caractere uma letra ou


sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado);

nomes de variveis devem ter no mximo 127 caracteres;

nomes de variveis no podem conter espaos em branco.

Saiba mais: Palavras Reservadas


Palavras reservadas so comandos que o algoritmo processa como ao e no como
valor, por exemplo, no podemos criar uma varivel com o nome de algoritmo, var,
entre outros, pois estas esto reservadas para uso do algoritmo.
Essas so as regras para nossas variveis funcionarem no programa.
Abaixo esto listados exemplos de variveis:
nome1
meuNome (Sempre que tivermos palavras separadas, removemos o espao e deixamos a
primeira letra de cada palavra em maisculo).
Variveis - Regras
Para definir o tipo de dado de uma varivel, primeiro declaramos a varivel dentro do
bloco de variveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de
dado (inteiro, literal, lgico ou real).
Exemplo:
var
nomeDaVariavel: TipoDeDado
var
idade: inteiro

assim que devemos declarar nossas variveis no VisuAlg para que funcione.
Variveis - Atribuindo Valor
Para atribuir um valor a uma varivel, precisamos usar o operador de atribuio que <Exemplo:
var
nomeDaVariavel <- "SENAI"

Algoritmos

Mediante APRENDER estrutura apresentada anteriormente, fica mais fcil compreender


APRENDER definio PARADIREITA um algoritmo, caracterizando-se por ser um
CONJUNTO PARADIREITA instrues objetivas.

Embora APRENDER palavra algoritmo nos remeta APRENDER pensar em uma


infinidade PARADIREITA coisas complexas, OU mesmo se trata PARADIREITA um
CONJUNTO PARADIREITA instrues que tem como objetivo resolver um problema.
No quer dizer que no tenhamos algoritmos complexos, isso ir depender da
complexidade do problema em questo.

Todos os exemplos vistos anteriormente fazem parte do nosso dia APRENDER dia, so
algoritmos que executamos sempre que precisamos. Deixando um pouco OU cotidiano
PARADIREITA lado, iremos agora entrar PARADIREITA cabea NO mundo
computacional. Let's go!

Prximos passos

Ao decorrer do curso, voc navegar por meio dos cones encontrados NO canto
superior esquerdo da tela. PARA retornar tela PARADIREITA estrutura do curso, que
onde voc ter acesso APRENDER todas as matrias, voc pode utilizar os botes que
possuem APRENDER imagem ao lado, ao clicar nele voc ser redirecionado PARA
APRENDER pgina inicial do curso.

Os botes possuem posicionamentos estratgicos e dinmicos, ao acessar APRENDER


ltima pgina PARADIREITA uma matria, OU boto que antes era utilizado PARA ir
PARA APRENDER prxima pgina alterado PARA este boto.

APRENDER imagem ao lado representa APRENDER pgina do seu progresso NO


curso, ao clicar nos botes que possuem esta imagem, voc ser redirecionado PARA
APRENDER pgina PARADIREITA perfil, que onde voc ter acesso detalhado sobre
OU seu desempenho, sua conquista e seu progresso NO curso.

Atravs desta pgina voc tambm ser capaz PARADIREITA compartilhar seu
progresso com seus amigos em suas redes sociais favoritas.

Representaes PARADIREITA um algoritmo

Agora que tivemos uma introduo do que se trata os algoritmos, iremos entender como
eles podem ser representados.

Temos vrias formas PARADIREITA representar algoritmos, desde APRENDER mais


simples, representada por formas, at as mais detalhistas, contendo regras
PARADIREITA implementao.

Representaes PARADIREITA um algoritmo

Abaixo, conheceremos os dois tipos mais utilizados: representados por formas que
fazem aluso APRENDER tomadas PARADIREITA decises (fluxograma) e por meio
do pseudocdigo, sendo este mais utilizado PARA OU ensino PARADIREITA lgica
PARADIREITA programao; por meio de linguagem de mquina criamos nossos
algoritmos para os computadores processarem e resolverem os problemas.

FLUXOGRAMA E PSEUDOCDIGO

Saiba mais: Representaes PARADIREITA um algoritmo

Um pseudocdigo trata-se PARADIREITA um meio didtico PARADIREITA se


aprender APRENDER programar; no se consegue construir nenhum software via
pseudocdigo. No caso, teramos que nos aprofundar para aprender alguma linguagem
de programao. Ex.: Java, Python, PHP, Ruby, JavaScript, C# entre outras.

Fluxograma

Representado por formas, tornam OU entendimento PARADIREITA determinado


algoritmo mais simples, pois uma figura mais clara que vrias palavras.

definido por uma srie PARADIREITA smbolos, em CONJUNTO com desenhos


geomtricos que representam os passos do algoritmo,

Tais como: incio, LER e sada PARADIREITA dados, tomada PARADIREITA


decises, estruturas PARADIREITA repetio e final do algoritmo.

Smbolo

Descrio

OU CRCULO alongado utilizado PARA dar PARACENTRO ou terminar um


fluxograma.

OU retngulo utilizado PARA fazer uma ao ou uma instruo NO fluxograma.

OU losango utilizado PARA uma deciso em um fluxograma.

Fluxograma

Pseudocdigo

Diferente do fluxograma, OU pseudocdigo, tambm conhecido como portugol ou


portugus estruturado, utiliza PDL - Program Design Language (Linguagem
PARADIREITA Projeto PARADIREITA Programao).

Ou seja, uma espcie PARADIREITA narrao do que OU programa deve fazer.


PARA isso, utilizaremos OU pseudocdigo em um programa chamado VisuAlg, que
abordaremos em nossa prxima lio.

OU pseudocdigo APRENDER base que todos devem ter PARA aprender uma
linguagem PARADIREITA programao, pois ele que intermedia APRENDER
linguagem falada (humana) PARA APRENDER linguagem PARADIREITA
programao (computacional).

Exercitando

Pegue um papel e uma caneta e faa OU seguinte algoritmo:

Chupar bala - Utilizando fluxograma demonstre as etapas necessrias PARA chupar


APRENDER bala, lembrando que voc ainda no APRENDER possui.

Ser que voc consegue?

FLUXOGRAMA DA CALCULADORA

VisuAlg

Conhecemos os tipos PARADIREITA representaes PARADIREITA algoritmos, e,


agora, iremos conhecer OU programa que executar nossos pseudocdigos.

Os pseudocdigos podem ser escritos facilmente em uma folha PARADIREITA papel


ou em um bloco PARADIREITA notas, mas PARA tornar isso prtico vamos adotar OU
VisuAlg como nosso software PARA escrever nossos algoritmos na forma
PARADIREITA pseudocdigo e ver na hora OU seu resultado

OU que OU VisuAlg?

um software criado na Universidade PARADIREITA Caxias do Sul NO estado do


Rio Grande do Sul, com APRENDER finalidade PARADIREITA oferecer aos alunos
uma forma PARADIREITA exercitar OU conhecimento adquirido.

PARA utiliz-lo necessrio fazer OU download do programa. OU mesmo pode ser


encontrado em:

OU visuAlg um interpretador simples PARADIREITA pseudocdigo utilizado por


professores PARA OU ensino PARADIREITA lgica PARADIREITA programao.

Seu objetivo no criar softwares, mas auxiliar OU aluno APRENDER entender


APRENDER execuo PARADIREITA seu algoritmo.

Entendendo um pouco melhor

PARA APRENDER criao PARADIREITA um algoritmo, necessria APRENDER


utilizao PARADIREITA palavras-chave. Abaixo, seguem as trs principais PARA OU
funcionamento:

algoritmo: comando que ir definir OU nome do programa; deve ser feito em aspas
duplas;

var: comando que especifica APRENDER rea em que as variveis sero declaradas.
aqui que colocaremos as variveis que iremos utilizar;

PARACENTRO: comando que informa OU incio do programa; nesse bloco que


ficaro os comandos e a lgica que utilizaremos para criar nosso algoritmo.

fimalgoritmo: comando que informa que OU final do algoritmo.

Dentro do nosso algoritmo utilizaremos palavras-chave que iro ler OU que for digitado
e escrever na tela PARA informar algo ao usurio.

escreva: esse comando ir escrever na tela alguma informao ao usurio. Ex.:


Escreva(Digite seu nome).

Leia: esse comando ir ler OU que foi digitado pelo usurio. Ex.: Leia(nome). Esse
nome entre parnteses uma das variveis que deve estar declarada NO bloco var que
vimos anteriormente.

Escreval: esse comando idntico ao escreva, APRENDER no ser pelo fato


PARADIREITA que ele pula uma linha. Ex.: Escreval(Digite seu nome).

Tipos de Dados

Anteriormente, vimos que os algoritmos fazem parte do nosso dia a dia, tambm
conhecemos como e o que um algoritmo e quais as representaes que ele pode ter,
alm da ferramenta que utilizaremos em nosso curso. Agora comearemos a mergulhar
na parte computacional, entender como os algoritmos funcionam aplicados em um
sistema de computador.

Quando criamos um programa computacional, temos que levar em conta quais os tipos
de dados que podero ser inseridos no sistema. a que entram os Tipos de Dados. So
eles que diro o que poder ser digitado ou quais valores nosso algoritmo aceitar.
Ento, vamos ver quais so os tipos de dados e quais informaes eles aceitam.
Tipo de Dado Inteiro
Aceitam somente nmeros inteiros positivos e negativos.
No aceitam nmeros decimais.
01, 4 ,7, -35

Tipo de Dado Real:


podem ser valores positivos e negativos.
podem ser nmeros decimais e inteiros.
01, 4,7, -35
No VisuAlg, o separador decimal o ponto, no a vrgula.

Tipo de Dado Literal

Podem ser letras, nmeros ou caracteres especiais, ou seja, podem ser qualquer tipo de
valor.
Algo dentro de aspas, pode ser qualquer valor
Os valores deste tipo devem estar dentro de aspas duplas ("").
Tipo de Dado Lgico
So respostas para uma pergunta, a qual dever ter apenas duas possveis respostas: sim
ou no.
Porm, sempre resultam como VERDADEIRO ou FALSO.

Variveis

Varivel onde iremos guardar dados essenciais para o funcionamento do nosso


algoritmo/programa.
Uma varivel guarda um valor informado em uma posio de memria, seu contedo
pode sempre ser alterado, como o prprio nome j diz "varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO
Variveis

Imagine as variveis como se fossem gavetas.


Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.
Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado

Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.
Variveis

Agora vamos ver isso na prtica:


O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

var
nomeDaVariavel: TipoDeDado
Variveis - Regras

Regras para o nome da varivel:

nomes de variveis no podem ser iguais a palavras reservadas;


nomes de variveis devem possuir como primeiro caractere uma letra ou
sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado);
nomes de variveis devem ter no mximo 127 caracteres;
nomes de variveis no podem conter espaos em branco.

Saiba mais: Palavras Reservadas


Palavras reservadas so comandos que o algoritmo processa como ao e no como
valor, por exemplo, no podemos criar uma varivel com o nome de algoritmo, var,
entre outros, pois estas esto reservadas para uso do algoritmo.
Essas so as regras para nossas variveis funcionarem no programa.

Abaixo esto listados exemplos de variveis:


nome1
meuNome (Sempre que tivermos palavras separadas, removemos o espao e deixamos a
primeira letra de cada palavra em maisculo).
Variveis - Regras

Para definir o tipo de dado de uma varivel, primeiro declaramos a varivel dentro do
bloco de variveis do nosso programa, em seguida colocamos dois pontos (:) e o tipo de
dado (inteiro, literal, lgico ou real).
Exemplo:
var
nomeDaVariavel: TipoDeDado
var
idade: inteiro

assim que devemos declarar nossas variveis no VisuAlg para que funcione.
Variveis - Atribuindo Valor

Para atribuir um valor a uma varivel, precisamos usar o operador de atribuio que <Exemplo:
var
nomeDaVariavel <- "SENAI"

Nesse exemplo eu estou dizendo que a varivel "nomeDaVariavel" ir receber o valor


"SENAI" como literal.

A varivel deve ter sido declarada com o tipo literal para que aceite tal tipo.

Variveis - Atribuindo Valor

Exemplo no VisuAlg:

Nesse exemplo eu estou dizendo que a


varivel "nomeDaVariavel" ir receber o
valor "SENAI" como literal.

A varivel deve ter sido declarada com o tipo literal para que aceite tal tipo.

Variveis - Atribuindo Valor


Exemplo no VisuAlg:
varivel "nomeDaVariavel" ir receber o valor "SENAI" como literal.

A varivel deve ter sido declarada com o tipo literal para que aceite tal tipo.

Variveis - Atribuindo Valor

Exemplo no VisuAlg:
varivel "nomeDaVariavel" ir receber o valor "SENAI" como literal.

A varivel deve ter sido declarada com o tipo literal para que aceite tal tipo.

Variveis - Atribuindo Valor

Exemplo no VisuAlg:
declarar nossas variveis no VisuAlg para que funcione.

Variveis - Atribuindo Valor


Para atribuir um valor a uma varivel, precisamos usar o operador de atribuio que <Exemplo:
var
nomeDaVariavel <- "SENAI"

Variveis

Varivel onde iremos guardar dados essenciais para o funcionamento do nosso


algoritmo/programa. Uma varivel guarda um valor informado em uma posio de
memria, seu contedo pode sempre ser alterado, como o prprio nome j diz
"varivel".
Uma varivel s pode ter UM valor dentro dela.
INTEIRO, REAL, LITERAL e LGICO
Variveis

Imagine as variveis como se fossem gavetas.


Em uma gaveta podemos colocar diversas coisas, mas e se rotularmos uma gaveta, ou
seja, colocarmos uma legenda, ou um papel informando o que deve ter na gaveta ?
Uma gaveta informando que ir ter meias, dentro dela dever ter apenas meias.
Possivelmente, algum poder colocar algo diferente (camiseta), onde deveria ter
apenas meias.
Nos algoritmos computacionais isso no acontece, uma vez que determinado que uma
varivel do tipo inteiro, ela s poder ter nmeros inteiros.
Variveis tm trs passos principais para serem criadas, so eles:
Ter um nome
TODA varivel criada em um programa deve ter um nome para que possa ser
identificada.
Ter um tipo de dado vinculado
Vimos, na lio anterior, os tipos de dados, e aqui que iremos utiliz-los. Ou seja,
aqui que diremos qual tipo de dado pode conter em nossa varivel.
Ter um valor atribudo
No tem por que eu criar uma varivel sem ter a inteno de colocar algum dado dentro
dela.

Variveis

Agora vamos ver isso na prtica:


O que so: espaos da memria do computador destinados ao armazenamento de dados.
Como usar: no programa, deve-se dar um nome a ela e informar qual o seu tipo de dado.
E, no decorrer do algoritmo, atribuir o valor a ela necessrio.

Nesse exemplo eu estou dizendo que a


varivel "nomeDaVariavel" ir receber o
valor "SENAI" como literal.
A varivel deve ter sido declarada com o tipo
literal para que aceite tal tipo.

Variveis - Atribuindo Valor


Exemplo no VisuAlg:

Para atribuir um valor a uma varivel, precisamos usar o operador de


atribuio que <-

Qual comando do VisuAlg utilizaremos para colocar um valor digitado


para dentro de uma varivel ?

Leia

Escreva

Var

Inicio

Qual a finalidade de uma varivel em nosso programa ?

No tem finalidade alguma

Exibir valores

Guardar dados

Definir a lgica do algoritmo

Informe se a afirmao verdadeira ou falsa: Uma varivel pode ter


mais de um valor.

Verdadeiro

Falso

Qual comando do VisuAlg utilizaremos para colocar um valor digitado


para dentro de uma varivel ?

Escreva

Var

Leia

Inicio

No VisuAlg qual a primeira ao que devemos tomar para que a


varivel funcione em nosso programa ?

Definir o tipo de dado

Colocar valores

Definir um nome

Declarar no bloco de variveis

Expresses Aritmticas

Agora faremos a relao da lgica de programao com a to temida matemtica. Voc


pode estar se perguntando, qual o sentido dessa relao?
Veja bem, no algoritmo resolvemos problemas humanamente difceis, custosos ou
repetitivos, sendo, em sua maioria, rotinas de clculos. Portanto a matemtica estar
inserida em nossas instrues a fim de nos auxiliar a resolver problemas. Por exemplo,
um computador consegue fazer a mdia de 15+18+43+50+2+44+78 muito mais rpido
do que um humano.

Ento, assim como na matemtica, expresses aritmticas em algoritmo


so basicamente a mesma coisa, ou seja, so um conjunto de smbolos que
representam as operaes bsicas da matemtica, que so:
+Adio
-Subtrao
*Multiplicao
/Diviso
Expresses Aritmticas

Ok, ento recapitulamos o que so os operadores e do que se tratam as expresses


aritmticas. Agora vamos aos exemplos:
2+3+4+1-9 = 1
10*3-5 = 25
(3-1)*(3+2)/2 = 5
22-10*(8-4) = -18
At agora nada de novo, no ? Ento, veremos como podemos utilizar essas expresses
em nossos algoritmos utilizando as variveis.
var
n1,n2,n3,media: Real
1) Primeiramente, declaramos as variveis que iremos utilizar no nosso algoritmo.
inicio
n1 <- 10
n2 <- 8
n3 <- 7.5

2) Em seguida, inicio meu algoritmo e atribuo os valores que eu quero para as minhas
variveis.
media <- (n1+n2+n3) /3
escreva(media)

fimalgoritmo
3) Feito isso, eu posso criar minha expresso aritmtica, no exemplo acima estou
fazendo a mdia de trs notas, em seguida mostrando na tela.
Ento nosso algoritmo ficar da seguinte forma:

algoritmo "aritmetica"
var
n1,n2,n3,media: Real
inicio
n1 <- 10
n2 <- 8
n3 <- 7.5
media <- (n1+n2+n3) /3
escreva (media)
fimalgoritmo

Expresses Aritmticas

Expresses aritmticas so aquelas que, utilizando operadores aritmticos, resultam em


um valor inteiro ou real. Ou seja, o resultado sempre ser um nmero, seja ele do tipo
real ou do tipo inteiro.
Ento, vimos como so e como aplicar expresses aritmticas em nossos algoritmos.
Nossa calculadora ser baseada em expresses aritmticas com todos os operadores
vistos aqui.

Expresses Literais

Expresses literais so expresses de concatenao, ou seja, elas juntam valores por


meio do operador de concatenao, que, no VisuAlg, a vrgula (,). Exemplo:
Meu nome Anderson
Meu sobrenome Aguiar

Meu nome completo Anderson Aguiar


O nome completo resultado de uma expresso literal.

Expresses Literais

var
nome, sobrenome, completo: Literal
inicio
nome <- "Anderson"
sobrenome <- "Aguiar"
completo <- nome+" "+sobrenome
Expresses literais recebem mais de um valor e resultam SEMPRE em um valor do tipo
literal.

Expresses Lgicas

Vamos agora conhecer nosso ltimo tipo de expresso, que so as expresses lgicas.
Essa expresso a que ir requerer uma ateno especial, pois iremos trabalhar com
alguns operadores lgicos, e de extrema importncia que, ao final desta lio,
saibamos o que significa cada um deles.
Ansioso para conhecer?
Ento vamos l!
As expresses lgicas servem para compararmos valores e dizer se o resultado
VERDADEIRO ou FALSO.
Essas expresses SEMPRE resultam em um dado do tipo lgico. Utilizam os operadores
relacionais lgicos (maior, menor, igual, diferente etc.).
Alm disso, expresses lgicas podem conter expresses aritmticas dentro delas,
veremos a seguir.
muito importante que consigamos entender cada um dos operadores lgicos.
Expresses Lgicas

Operadores relacionais lgicos:


>MAIOR

<MENOR
>= MAIOR IGUAL
<=MENOR IGUAL
=IGUAL
< >DIFERENTE
EXEMPLOS COM INTEIROS
23 > 42 -> O inteiro 23 maior que o inteiro 42? -> Falso
84 = 24 -> O inteiro 84 igual ao inteiro 24? -> Falso
12 < 12 -> O inteiro 12 menor que o inteiro 12? -> Falso
44 < 64 -> O inteiro 44 menor que o inteiro 64? -> Verdadeiro
Expresses Lgicas

Exemplo com inteiros:


23+10 > 42-2
Falso
84/2 = 24
Falso
640+3 <= 643
Verdadeiro
54+5 <> 52-5
Verdadeiro
Todos esses exemplos ns podemos colocar no VisuAlg e ver se o resultado realmente
o esperado. Veremos na tela a seguir.
Abra o VisuAlg e coloque as expresses lgicas dentro dos parnteses e aperte a tecla
F9 para executar o algoritmo e exibir o resultado.

Expresses Lgicas

Agora, para fazer o teste dos operadores lgicos, montaremos um pequeno programa
que faz a leitura de dois nmeros fazendo as devidas comparaes entre eles.
Exemplo com variveis:

Expresses lgicas so expresses que recebem dois ou mais valores, alm


de poder ter outras expresses dentro dela, mas no final elas sempre
retornam dados lgicos (VERDADEIRO ou FALSO).
Na tabela abaixo, mostramos de forma detalhada a execuo do algoritmo,
e, tambm, o motivo do resultado alcanado.
Expresses Lgicas

Operadores de sentena: E
O operador E refere-se comparao binria de termos, ou seja, 1+1 E 3-1 verdadeiro
ou falso? Verdadeiro, ambos os resultados so 2. Remete combinao verdadeiro +
verdadeiro = verdadeiro.

Operao
(5=5) e (6<8)
(5>5+9) e (1<7)
(2>1) e (2>=2) e (1<>11)
(2=1) e (5<>5)

Resultado
Verdadeiro
Falso
Verdadeiro
Falso

Expresses Lgicas

Operadores de sentena: OU
O operador OU refere-se comparao binria de termos. Remete combinao
verdadeiro + falso = verdadeiro. Se qualquer um dos termos estiver correto a expresso
verdadeira 1+1=2 OU 3+1=6?
Qual o resultado para a expresso:

Diga o resultado final das duas questes utilizando os seguintes


operadores de sentena:
((1=1) ou (2<>2))
(5>2) e (3<>2) e (10 >= 100)

Correto!

Sentena
Verdadeiro (OU) Verdadeiro

Resultado
Verdadeiro

verdadeiro (OU) Falso


Falso (OU) Verdadeiro
Falso (OU) Falso

Verdadeiro
Verdadeiro
Falso

Sentena
0 (=) 0
0 (=) 1
1 (=) 0
1 (=) 1

Falso
Verdadeiro
Verdadeiro
Verdadeiro

Resultado

Exemplos com inteiro


Operao

Resultado

(5=4) ou (6<8)
(15>5+9) ou (1<0)
(2>1) ou (2>2) ou (1<>11)
(2=1) ou (5<>5)

Verdadeiro
Verdadeiro
Verdadeiro
Falso

Expresses Lgicas

Colocou todas as expresses no VisuAlg?


isso a! Em nossas perguntas valendo medalha recomendado que voc coloque-as no
VisuAlg para obter os resultados.
Sero dadas cinco expresses para serem colocadas no VisuAlg. Com isso voc dever
informar seu resultado. (Verdadeiro ou Falso).
Preparado(a) para conquistar mais uma medalha?
Vamos s perguntas ento!

Questes EaD Lgica de Programao - Matria: Expresses Lgicas

Voc acha que j est preparado para conquistar a Medalha de Ouro ?


1. Pergunta 1 de 7

1. Qual o resultado para a expresso:

Diga o resultado final das duas questes utilizando os seguintes


operadores de sentena:
((1=1) ou (2<>2))

(5>2) e (3<>2) e (10 >= 100)


o

Falso e verdadeiro

Falso e falso

Verdadeiro e verdadeiro

Verdadeiro e falso

Estruturas de Condio

Agora iremos conhecer as estruturas de condio, que servem para nos auxiliar na
tomada de alguma deciso. So definidas por expresses lgicas, em que o programa ir
executar a estrutura de acordo com as respostas (VERDADEIRO ou FALSO).
Considerando um cenrio real e cotidiano, elas so as vrias decises que tomamos no
nosso dia a dia.
Vamos imaginar que estamos saindo de casa, e, de repente, comea a chover. O que
devemos fazer? Se est chovendo = pegar um guarda-chuva. Se no est chovendo =
no preciso de um guarda-chuva.
Isto foi uma condio que determinar o que eu deveria levar comigo.
SE

CHOVER

SENAO

ENTAO

Pegue o guarda-chuva

no pegue o guarda-chuva

FIMSE
Estruturas de Condio

Saindo um pouco do cenrio real e indo para o ambiente computacional, temos a


seguinte tarefa:
Cadastrar pessoas maiores de idade no sistema. Para isso devemos fazer uma estrutura
de condio para verificar a idade digitada. Veja no fluxograma ao lado um exemplo de
condio. No cadastro no podem ser cadastradas pessoas menores de idade.

IDADE DA
PESSOA

MAIOR DE IDADE
SAIR DO
CADASTRO

FALSO

VERDADEIR
O

CADASTR
AR

Estruturas de Condio

Demonstrada a importncia de fazer comparaes em seu algoritmo, iremos evoluir para


aprender como faremos em linguagem de mquina, pois o que sabemos at agora em
relao aos operadores, estes, por sua vez, nos auxiliam a comparar. Por exemplo:
podemos comparar se o 15 maior do que 16; o nosso algoritmo ir retornar falso.
Como escrever uma estrutura condicional em algoritmo?
se <expresso lgica> entao
//aes para executar caso a expresso seja verdadeira
Fimse
Estruturas de Condio

No exemplo anterior, vimos como entrar em uma condio caso ela d VERDADEIRA,
e se for necessrio tratar se a expresso for falsa? Para isso utilizamos a clusula
SENAO.
se <expresso lgica> entao
//aes para executar caso a expresso seja verdadeira
senao
//aes para executar caso a expresso seja verdadeira
fimse
ESTRUTURA DE CONDIO

Nas estruturas condicionais, temos a possibilidade de fazer condies


sequenciais/consecutivas sempre que necessrio.
Podemos utilizar qualquer expresso lgica, dessa forma, as estruturas de condies
servem para controle de aes, valores e variveis do sistema.
Algoritimo preco
Var
Preco: Real
Inicio
Escreva
Leia
Se
Escreva
Se
Escreva
Fimse
Se

Escreva
fimse
fimalgoritima

1. Em qual condio o algoritmo a seguir ir entrar?

nome <- "Joaozinho"


se (nome = "Joao") entao
escreval ("SE")
senao
escreval ("SENAO")
fimse

Entrar no SENAO

Entrar nos dois

Entrar no SE

No entrar em nenhum dos dois

Estruturas de Repetio

Estamos chegando ao final do nosso curso, esta ser nossa penltima lio. Ser que
voc vai conseguir o trofu?!
Acredito que, se voc chegou at aqui, no est para brincadeira!
Agora, iremos aprender sobre as estruturas de repetio, elas iro nos economizar
MUITO cdigo na hora de escrevermos nossos algoritmos, ento vamos l!

Estruturas de Repetio

No VisuAlg temos disponveis trs estruturas de repetio para utilizarmos em nossos


algoritmos. So elas:

Para...faa

Enquanto...faa
Repita...at

Ento o que so exatamente estruturas de repetio?

So conjuntos de comandos que repetem instrues em uma quantidade


predeterminada ou no. Ou seja, so blocos de cdigos que se repetiro sempre
que se enquadarem nos blocos condicionais a eles atribudos.

Quando utilizaremos?

Sempre que precisarmos fazer coisas repetitivas.

Para exemplificar, usaremos uma varivel chamada cont para ser o nosso
contador de vezes que o algoritmo repetir um determinado bloco de cdigo.

Vamos utilizar o nosso exemplo de verificar se determinada


pessoa maior ou menor de idade.
var
idade: inteiro
inicio
escreva("Informe sua idade:")
leia(idade)
se(idade) >= 18 entao
escreva("Voc maior de idade!")
senao
escreva("Voc menor de idade!")
fimse

MAS SE FOSSEM 3 PESSOAS?


Exemplo: Verificar se trs pessoas so maiores ou menores de idade.
inicio
escreva("Informe sua idade:")
leia(idade1)
se(idade1) >= 18 entao
escreva("Voc maior de idade!")
senao
escreva("Voc menor de idade!")
fimse
escreva("Informe sua idade:")
leia(idade2)
se(idade2) >= 18 entao
escreva("Voc maior de idade!")
senao
escreva("Voc menor de idade!")
fimse
escreva("Informe sua idade:")
leia(idade3)
se(idade3) >= 18 entao
escreva("Voc maior de idade!")
senao
escreva("Voc menor de idade!")
fimse
fimalgoritmo

Note a quantidade de cdigo que tivemos que digitar para verificar a idade de trs
pessoas. Poderia ser mais simples, no ?
Com certeza!
a que entram as estruturas de repetio.
Estruturas de Repetio - Para...faa
A estrutura de repetio para..faa utilizada da seguinte forma:
para variavel* de inicio** ate final*** faca
// Instrues para repetir
fimpara
* Nome da varivel que ir controlar a repetio
** Valor da varivel onde iniciar a repetio
*** Valor da varivel onde terminar a repetio
Exemplo:
para i de 1 ate 3 faca
// Instrues para repetir
fimpara
algoritmo "semnome"
var
cont,idade: Inteiro
inicio
para cont de 1 ate 10 faca
escreval("Informe sua idade:")
leia(idade)
se(idade) < 20 entao
se(idade) < 15 entao
escreval("Voc uma criana!")

fimse
fimse
fimpara
fimalgoritmo
A varivel que ir controlar a repetio deve estar definida no bloco de variveis.
Estruturas de Repetio - Para...faa
Lembra do exemplo que utilizamos l no incio para verificar a idade de trs pessoas e
dizer se maior ou menor de idade? Vejamos como fica utilizando a estrutura de
repetio para..faa:
var
idade,i:inteiro
inicio
para i de 1 ate 3 faca
escreva("Informe sua idade:")
leia(idade)
se(idade) >= 18 entao
escreva("Voc maior de idade!")
senao
escreva("Voc menor de idade!")
fimse
fimpara
fimalgoritmo
Bem melhor, no acha?
Ento, a essncia para se utilizar as estruturas de repetio identificar onde h blocos
que se repetem mais de uma vez no nosso algoritmo.
Na estrutura "Para Faa", ela repete durante a iterao de um valor, ou seja, repete-se at
chegar no nmero informado. H outras estruturas que repetem a partir de uma condio
(expresso lgica), que o caso do enquanto..faa

Estrutura "Enquanto Faa":


enquanto <expresso lgica> faca
// Comandos para repetir
fimenquanto
algoritmo "triplo"
var
numero:Inteiro
inicio
numero <- -1
enquanto ( numero <> 0) faca
escreva("Digite um nmero: ")
leia(numero)
escreva("Triplo: " ,numero*3)
fimenquanto
fimalgoritmo
Os comandos so executados enquanto a expresso lgica for verdadeira.
Estruturas de Repetio - Repita...at
A estrutura "Repita...at" segue o mesmo princpio da "Enquanto Faa", porm a
verificao condicional realizada no final da repetio, deste modo pelo menos uma
vez a estrutura executada.
repita
// Comandos que sero repetidos
at <expresso lgica>
Um algoritmo que calcula a soma de um nmero digitado e mostre para o usurio at ele
sair do programa.
inicio
soma <-0

repita
escreva("Informe o nmero para o clculo:")
leia(num)
soma <- soma + num
escreval("Soma = ", soma)
escreval("Deseja continuar? (s/n) ")
leia(op)
ate ( op = "n") OU (op = "N")
fimalgoritmo
algoritmo "repita"
var
op:Literal
num, soma:Real

Abaixo teremos o incio da estrutura de repetio enquanto..faa, informe qual a


forma correta de se fazer.

Enquanto (i < 10) faca

Enquanto (i)

Enquanto (i < 10)

Enquanto (faca) i

2. Abaixo teremos o incio da estrutura de repetio repita..at, informe qual a


forma correta de se fazer.

3.

Repita(i<=10)..ate()

Repita.. I ate(10)

Repita..ate()

Repita..ate(i<=10)

Variveis Indexadas
Variveis indexadas so variveis que contm mais de um espao alocado em memria.
Variveis comuns possuem apenas um valor

Variveis indexadas possuem mais de um valor.

Os valores contidos nas variveis indexadas so organizados por ndices. Ou seja, so


identificados por um nmero que corresponde ao seu endereo em memria.

Vamos considerar que estamos criando um algoritmo que precise cadastrar oito nomes
de pessoas, trs salrios e seis idades. Para declarar essas variveis, seria mais ou menos
dessa forma:
var
nome1, nome2, nome3, nome4, nome5, nome6, nome7, nome8 : Literal
salario1, salario2, salario3 : Real
idade1, idade2, idade3, idade4, idade5, idade6:Inteiro
Correto? Teramos que criar vrias variveis para receber os diversos valores. E, se eu
no soubesse o limite? Se fossem 100 variveis, 1000 variveis? J pensou no trabalho
que teramos? a que entram as variveis com ndices, as chamadas variveis
indexadas.
a que entram as variveis com ndices, as chamadas variveis indexadas.

Vamos ver como elas funcionam?


Ento uma varivel indexada deve ser declarada da mesma forma que uma varivel
simples, como j foi visto na lio de variveis.
Sua declarao ficaria da seguinte forma:
var
nomes: vetor [1..8] de Literal
salarios: vetor [1..3] de Real
idades: vetor [1..6] de Inteiro
Melhor? Menos cdigos? Economizamos mais cdigos e deixamos bem mais
organizadas nossas variveis.

Qual o jeito correto para imprimir o valor "diviso"?


var
operacoes: vetor [1..4] de Literal
inicio
operacoes[1] <- "soma"
operacoes[2] <- "diviso"
operacoes[3] <- "subtrao"
operacoes[4] <- "multiplicao"

escreval(operacoes)

escreval(operacoes(2))

escreval(operacoes[2])

escreval(operacoes->2)

Eu preciso de uma varivel de 4 ndices. Onde definido isso?

Na atribuio do valor para a varivel

No meio do algoritmo

Na declarao da varivel

No final, quando est na estrutura de repetio

Anda mungkin juga menyukai