Vous êtes sur la page 1sur 25

FABRAI

ALGORIMTOS
E
TCNICAS
DE
PROGRAMAO

PROFa. Juliana Santiago Teixeira

ndice
NDICE ..............................................................................................................................................................2
1. O COMPUTADOR: HARDWARE/SOFTWARE.....................................................................................3
1.1. HARDWARE ..............................................................................................................................................3
1.1.1. Introduo .......................................................................................................................................3
1.1.2. Representao das Informaes ......................................................................................................3
1.1.3. Componentes do Hardware .............................................................................................................4
1.2. SOFTWARE ...............................................................................................................................................7
1.2.1. Introduo .......................................................................................................................................7
1.2.2. Linguagens de Programao...........................................................................................................7
1.2.3. Categorias de Software ...................................................................................................................8
2. SISTEMAS DE NUMERAO ..................................................................................................................9
2.1. INTRODUO............................................................................................................................................9
2.2. O SISTEMA BINRIO DE NUMERAO ......................................................................................................9
2.3. O SISTEMA HEXADECIMAL DE NUMERAO ..........................................................................................10
3. DESENVOLVIMENTO DE PROGRAMAS............................................................................................11
3.1. FASES PARA A SOLUO DE UM PROBLEMA:...........................................................................................11
3.2. ALGORITMOS .........................................................................................................................................11
3.2.1. Definio de Algoritmos................................................................................................................11
3.2.2. Por que precisamos de algoritmos? ..............................................................................................12
3.2.3. Caracterstica................................................................................................................................13
4. PORTUGOL................................................................................................................................................14
4.1. ESTRUTURA SEQENCIAL ......................................................................................................................14
4.2. CONSTANTES ..........................................................................................................................................14
4.3. VARIVEIS .............................................................................................................................................14
4.3.1. Identificadores...............................................................................................................................15
4.3.2. Tipos de dados...............................................................................................................................15
4.3.3. Declarao de variveis................................................................................................................16
4.3.4. Declarao de constantes..............................................................................................................16
4.4. OPERAES BSICAS .............................................................................................................................16
4.4.1. Operadores aritmticos .................................................................................................................17
4.4.2. Operadores relacionais .................................................................................................................18
4.4.3. Operadores relacionais .................................................................................................................18
4.4.3. Funes .........................................................................................................................................19
4.4.5. Prioridade de operadores..............................................................................................................19
4.5. COMANDOS DE ENTRADA E SADA .........................................................................................................20
4.5.1. Comando de entrada de dados ......................................................................................................20
4.5.2. Comando de sada de dados ..........................................................................................................21
4.6. COMANDO DE ATRIBUIO ....................................................................................................................22
4.7. ESTRUTURA CONDICIONAL ....................................................................................................................22
4.7.1. Alternativa Simples........................................................................................................................23
4.7.2. Alternativa Composta ....................................................................................................................23
4.8. ESTRUTURA DE REPETIO ....................................................................................................................24
4.9. REGRAS PRTICAS PARA A CONSTRUO DE ALGORITMOS LEGVEIS ...................................................24
4.10. EXEMPLOS DE ALGORITMOS ................................................................................................................24

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

1. O Computador: Hardware/Software
1.1. Hardware
1.1.1. Introduo
O computador eletrnico um recurso formado por duas partes: uma
poro fsica e uma poro lgica.
O nome tcnico que se d poro fsica do computador hardware e a
sua poro lgica software.

COMPUTADOR = HARDWARE +SOFTWARE


(fsica)

(lgica)

1.1.2. Representao das Informaes


Toda informao introduzida em um computador precisa ser entendida pela
mquina.
O computador digital trabalha com lgica binria. Nesta lgica existem dois
estados: circuito ligado ou desligado, passando ou no corrente eltrica, etc.
A menor unidade de informao armazenvel em um computador o
algarismo binrio ou dgito binrio, conhecido como bit (binary digit). O bit pode
ter, ento, somente dois valores: 0 e 1. O menor grupo ordenado de bits
representando uma informao til e inteligvel para o ser humano o caractere.
Outro termo bastante comum da rea de informtica o byte. Byte um
conjunto de bits, usualmente oito bits. O byte, normalmente representa uma
posio no computador e seu contedo pode caracterizar um algarismo, uma letra,
um cdigo, um smbolo, etc. Essa unidade (byte) utilizada extensamente como
unidade-padro de medida das mais variadas capacidades em se tratando de
computadores. Em termos de escala, existem os mltiplos do byte, e os mais
utilizados so os seguintes:
Byte (B)
Kilobyte (KB).........
Megabyte (MB)..
Gigabyte (GB).......
Terabyte (TB).
Petabyte (PB)......

1 B..
1024 B...
1024 KB.
1024 MB
1024 GB...
1024 TB.......

1b
210B
220B
230B
240B
250B

_________________________________________________________________________
3

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Alm o bit e do byte, h um outro conceito, relacionado forma com que os


dados binrios sero acessados e processados. Trata-se do conceito palavra. Se
tomarmos um computador de oito bits para analisar, veremos que se trata de um
equipamento cujo tamanho da palavra de oitos bits. Isso significa que os dados
binrios so acessados e processados em conjuntos ou grupos de oito.

1.1.3. Componentes do Hardware


O hardware composto de trs grandes partes: CPU, memria e
perifricos. Essas partes so os componentes fsicos do computador.

Unidade Central de Processamento


A UCP (Unidade Central de Processamento) pode ser vista como o
componente mais importante do hardware. na UCP que se encontra o
processador central do equipamento.
O processador central de um equipamento a pea que comanda todas
as suas funes, controla todos os seus componentes, permite acesso de outros
equipamentos, realiza as tarefas de lgica e aritmtica.
O processador central composto dos seguintes elementos:
Unidade de Controle: responsvel pela verificao e pelo controle
das instrues realizadas pela UCP;
Unidade de Lgica e Aritmtica: responsvel pela realizao das
operaes aritmticas e lgicas;
Registrador de Dados: armazena temporariamente os operandos
referentes instruo que est sendo realizada pela UCP;
Registrador de Instrues: armazena temporariamente a instruo
que est sendo realizada pela UCP;
Via de Dados (BUS): permite a conexo da UCP com as demais
partes do computador.

_________________________________________________________________________
4

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Memrias
Conceitualmente, a memria um componente muito simples: um
depsito onde so guardados certos elementos para serem usados quando
desejado.

A memria de um computador possui diferentes variedades:


de velocidade;
de capacidade de armazenamento;
de tecnologia de construo;
de utilidade dentro do sistema.
_________________________________________________________________________
5

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Para o correto e eficaz funcionamento da manipulao das informaes,


verifica-se a necessidade de se ter em um mesmo computador diferentes tipos de
memria.

Perifricos
Os perifricos so um conjunto de elementos acessrios ao fluxo de
processamento de dados.
Perifricos de Entrada

Teclado: permite entrada de cdigos, caracteres numricos e alfanumricos na


memria do computador.
Mouse: permite a integrao visual entre o usurio e o equipamento;
representado por uma pea que possui uma esfera giratria na parte inferior que,
quando em contato com uma superfcie plana, reproduz o efeito no monitor de
vdeo do equipamento.
Scanner: permite a digitalizao de uma imagem pr-impressa; quando utilizado
em conjunto com programas especficos chamados OCR (Optical Caracter
Recognition), praticamente vem dispensar o trabalho de digitao de materiais j
impressos.
Light Pen (Caneta ptica): permite apontar com uma espcie de caneta o
monitor de vdeo de um computador e assim realizar escolhas de opes
predefinidas.
Leitores de Cdigos de Barras: so dispositivos cujas caractersticas so
estabelecidas com o propsito de atender s necessidades de leitura de cdigos
de barras.
Joystick: atualmente rotulado como um perifrico apenas para diverso.

_________________________________________________________________________
6

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Perifricos de Sada

Monitor de Vdeo: permite visualizar as etapas do processamento de dados,


desde a entrada dos dados at a sada das informaes.
Impressora: a funo desse perifrico perpetuar as informaes obtidas
pelo processamento por meio da impresso em folhas.
Plotter: conhecido tambm como traador grfico, um perifrico cujo
objetivo se assemelha ao da impressora, porm de uso mais especfico:
destina-se confeco de trabalhos grficos.

1.2. Software
1.2.1. Introduo
Praticamente de nada adianta a existncia apenas do hardware. O
hardware tem de ser encarado com um potencial de recursos a serem extrados
na medida das necessidades de seu usurio. Para que seja possvel usufruir
desse potencial necessria a parte lgica do computador: o software.
O software a parte lgica que dota o equipamento fsico de capacidade
para realizar todo tipo de trabalho. Por trs do software esto as linguagens de
programao, que so regras bsicas que permitem a melhor integrao e
buscam o timo relacionamento entre o software, o hardware e tambm o
peopleware.

1.2.2. Linguagens de Programao


Linguagem de Mquina
a linguagem de programao mais prxima da mquina.
O computador consegue entender somente essa linguagem.
Essa linguagem a nica que consegue enviar instrues ao processados.
Linguagem de Baixo Nvel
a linguagem de programao ainda bem prxima da mquina, porm com
alguns artifcios que a torna mais acessvel ao usurio.
O programador deve conhecer bem, tecnicamente o equipamento que
estar programando para extrair dele o mais benefcio possvel.
Linguagem de Alto Nvel
So linguagens de programao mais acessveis ao ser humano.
So constitudas de regras e cdigos mais prximos da linguagem do ser
humano.

_________________________________________________________________________
7

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

No exigem alto grau de conhecimento das caractersticas tcnicas do


equipamento.

1.2.3. Categorias de Software


Software Bsico
O software bsico a primeira interface com a mquina.
Essa categoria de software realiza o elo de ligao entre a mquina e os
demais softwares.
Exemplos: sistemas operacionais, compiladores, interpretadores, etc...
Software de Suporte
So os programas capazes de administrar as aplicaes efetuadas
Exemplos: softwares gerenciadores de rede de computadores, softwares
que controlam os espaos de memria em disco por usurio, etc...
Software Aplicativo
Esses softwares tm por caracterstica principal estarem voltados para um
objetivo previamente definido, porm com menor grau de abrangncia.
Exemplos: programas de editorao de textos, sistemas gerenciadores de
banco de dados, planilhas de clculo, etc...
Software Aplicativo Especfico
So uma especificidade dos softwares aplicativos.
Sua principal caracterstica est nos objetivos estrita e claramente
definidos, bem como seu campo de atuao bem reduzido.
Exemplos: sistemas de contabilidade, de folha de pagamento, de controle
de estoque, etc...

_________________________________________________________________________
8

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

2. Sistemas de Numerao
2.1. Introduo
O homem, atravs dos tempos, sentiu a necessidade da utilizao de
sistemas numricos.
Existem vrios sistemas numricos, dentre os quais se destacam: o sistema
decimal, o binrio, o octal e o hexadecimal.
O sistema decimal utilizado por ns no dia-a-dia e , sem dvida, o mais
importante dos sistemas numricos. Trata-se de um sistema que possui dez
algarismos, com os quais podemos formar qualquer nmero atravs da lei de
formao. Os outros sistemas, em especial o binrio e o hexadecimal, so muito
importantes nas reas de tcnicas digitais e informtica.

2.2. O Sistema Binrio de Numerao


No sistema binrio de numerao, existem apenas 2 algarismos: o
algarismo 0 (zero) e o algarismo 1 (um). Para representarmos a quantidade zero,
utilizamos o algarismo 0, para representarmos a quantidade um utilizamos o
algarismo 1. E para representarmos a quantidade dois, se no possumos o
algarismo 2 nesse sistema?
No sistema decimal, no possumos o algarismo dez e representamos a
quantidade de uma dezena utilizando algarismo 1 seguido de algarismo 0. Neste
caso, o algarismo 1 significa que temos um grupo de uma dezena e o algarismo 0
nenhuma unidade. No sistema binrio, agimos da mesma forma. Para
representarmos a quantidade dois, utilizamos o algarismo 1 seguido do algarismo
0.
Na prtica, cada dgito binrio recebe a denominao de bit (binary digit) e
o conjunto de 8 bits denominado de byte.
Converso do sistema binrio para o sistema decimal
Utilizando um nmero decimal qualquer, temos:
1524 =

1 x 1000 + 5 x 100 + 2 x 10 + 4
1 x 103 + 5 x 102 + 2 x 101 + 4 x100

A regra bsica de formao de um nmero consiste no somatrio de cada


algarismo correspondente multiplicado pela base elevada por um ndice conforme
o posicionamento do algarismo no nmero.

_________________________________________________________________________
9

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Converso do sistema decimal para o sistema binrio


Para converter um nmero representado na base 10 para a base 2, tem-se
que aplicar um processo para a parte inteira e outro para a parte fracionria.
Para transformar um nmero inteiro na base 10 para a base 2 utiliza-se o
mtodo das divises sucessivas, que consiste em dividir o nmero por 2, a seguir
divide-se o quociente encontrado por 2 e assim o processo repetido at que o
ltimo quociente seja igual a 1. O nmero binrio ser formado pela concatenao
do ltimo quociente com os restos das divises lidos em sentido inverso ao que
foram obtidos.
Para transformar um nmero fracionrio da base 10 para a base 2, utilizase o mtodo das multiplicaes sucessivas, que consistem em multiplicar o
nmero fracionrio por 2; deste resultado, a parte inteira ser o primeiro dgito do
nmero na base 2. O processo repetido at que a parte fracionria do ltimo
produto seja igual a zero.

2.3. O Sistema Hexadecimal de Numerao


O sistema hexadecimal possui 16 algarismos, sendo sua base igual a 16.
Os algarismos so assim enumerados: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.
A letra A representa o algarismo A, que por sua vez representa a quantidade dez.
A letra B representa o algarismo B que representa a quantidade onze, e assim
sucede at a letra F que representa a quantidade quinze.
Converso do sistema hexadecimal para o sistema decimal
Para convertermos um nmero hexadecimal em decimal, utilizaremos o
conceito bsico de formao de um nmero.
Converso do sistema decimal para o sistema binrio
O processo anlogo converso do sistema decimal para o sistema
binrio, somente que neste caso, utilizaremos a diviso por 16, pois sendo o
sistema hexadecimal, sua base igual a 16.
Converso do sistema hexadecimal para o sistema binrio
A regra consiste em transformar cada algarismo diretamente no
correspondente em binrio, respeitando-se o nmero padro de bits do sistema,
sendo o hexadecimal igual a 16 (24 = 16).
Converso do sistema binrio para o sistema hexadecimal
Neste caso, devemos separar o nmero em grupos de 4 bits a partir da
direita. Em seguida, devemos efetuar a converso de cada grupo de bits
diretamente para o sistema hexadecimal.
_________________________________________________________________________
10

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

3. Desenvolvimento de Programas
3.1. Fases para a soluo de um problema:
1. Definio do problema: a descrio e a delimitao adequada do
problema a ser resolvido, caracterizando-o de maneira clara e completa.
2. Desenvolvimento de um algoritmo: a descrio, geralmente dividida
em etapas, de diversas operaes que devem ser realizadas pelo
computador para resolver o problema e obter os resultados desejados.
3. Transcrio do algoritmo para uma linguagem de programao: a
codificao do algoritmo, obtendo-se um programa equivalente, de acordo
com as regras e recursos oferecidos pela linguagem.
4. Processamento do programa pelo computador: Seguindo as instrues
de um programa denominado compilador, o computador verifica a correo
sinttica do programa e o traduz para outra linguagem (linguagem de
mquina) que, em seguida, passa a controlar o computador atravs de suas
instrues, executando a resoluo do problema e obtendo os resultados
desejados.
5. Anlise dos resultados: Os resultados obtidos pelas primeiras execues
de um programa devem ser analisados, pois podem estar comprometidos
com erros de lgica.

3.2. Algoritmos
3.2.1. Definio de Algoritmos
A palavra algoritmo, primeira vista, parece-nos estranha. Embora possua
designao desconhecida, fazemos uso constantemente de algoritmos em nosso
cotidiano: a maneira como uma pessoa toma banho um algoritmo.
Definimos algoritmo como a seqncia de passos que visam atingir um
objetivo bem definido.
Os algoritmos so utilizados no dia-a-dia para a soluo dos mais diversos
problemas. Outros algoritmos freqentemente encontrados so:
instrues para utilizar um aparelho eletrodomstico;
uma receita para preparo de algum prato;
a maneira como as contas de gua, luz e telefone so calculados
mensalmente, etc.
_________________________________________________________________________
11

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

So vrios os conceitos para algoritmo:


Um conjunto finito de regras que prov uma seqncia de operaes para
resolver um tipo de problema especfico
[KNUTH]
Seqncia ordenada, e no ambgua, de passos que levam soluo de um
dado problema
[TREMBLAY]
Processo de clculo, ou de resoluo de um grupo de problemas semelhantes,
em que se estipulam, com generalidade e sem restries, as regras formais para a
obteno do resultado ou da soluo do problema
[AURLIO]
Definio formal de algoritmo: a descrio de um padro de comportamento,
representado por um repertrio finito e bem definido de aes, das quais damos
por certo que elas podem ser executadas.

3.2.2. Por que precisamos de algoritmos?


Vejamos o que algumas pessoas importantes para a Cincia da
Computao disseram a respeito de algoritmo:
A noo de algoritmo bsica para toda a programao de computadores.
[KNUTH - Professor da Universidade de Stanford, autor da coleo The art of
computer programming]
O conceito central da programao e da cincia da computao o conceito de
algoritmo.
[WIRTH - Professor da Universidade de Zurique, autor de diversos livros na rea e
responsvel pela criao de linguagens de programao como ALGOL, PASCAL e
MODULA -2]
A importncia do algoritmo est no fato de termos que especificar uma
seqncia de passos lgicos para que o computador possa executar uma tarefa
qualquer, pois o mesmo por si s no tem vontade prpria, faz apenas o que
mandamos.
Com uma ferramenta algortmica, podemos conceber uma soluo para um
dado problema, independendo de uma linguagem especfica e at mesmo do
prprio computador.

_________________________________________________________________________
12

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

3.2.3. Caracterstica
Todo algoritmo deve apresentar algumas caractersticas bsicas:
 ter fim;
 no dar margem dupla interpretao (no ambguo);
 capacidade de receber dado(s) de entrada do mundo exterior;
 poder gerar informaes de sada para o mundo externo ao do
ambiente algoritmo;
 ser efetivo (todas as etapas especificadas no algoritmo devem ser
alcanveis em um tempo finito).

_________________________________________________________________________
13

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4. Portugol
Durante nosso curso iremos aprender a desenvolver nossos algoritmos em
uma pseudo-linguagem conhecida como Portugol ou Portugus Estruturado.
Portugol derivado da aglutinao de Portugus + Algol. Algol o nome
de uma linguagem de programao estruturada usada no final da dcada de 50.

4.1. Estrutura Seqencial


uma seqncia de comandos, separados por ponto e vrgula. So
executados em seqncia linear de cima para baixo.
incio
<declarao de variveis>
C1;
C2;
...
Cn;
fim
onde Cis so comandos, 1 i n

4.2. Constantes
Constantes so endereos de memria destinados a armazenar informaes
fixas, inalterveis durante a execuo do algoritmo.
Conforme seu tipo, a constante classificada como numrica, literal ou
lgica.
Exemplo:

4.3. Variveis
Uma varivel uma posio de memria, representada por um nome
simblico, atribudo pelo usurio, a qual contm, em um determinado momento um
valor de um determinado tipo.
O nome de uma varivel representado por um identificador.

_________________________________________________________________________
14

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.3.1. Identificadores
Representam os nomes escolhidos para rotular as variveis, constantes, novos
tipos, procedimentos, funes e conjuntos. Tudo o que pode ser nomeado em um
algoritmo deve obedecer s seguintes regras:

1)Devem possuir como 1 caractere uma letra ou sublinhado ( _ );


2)Ter como demais caracteres letras, nmeros ou sublinhado;
3)Os nomes devem ser formados por caracteres pertencentes ao seguinte
conjunto:
As letras do alfabeto no padro ingls maisculo e minsculo:
abcdefghijklmnopqrstuvxwyz abcdefghijklmnopqrstuvxwyz
Os dez algarismos: 0123456789
O sublinhado (Underline): _

4)Ter no mximo 127 caracteres;


5)No possuir espaos em branco;
6)Os nomes escolhidos devem explicitar seu contedo.
7)O identificador no pode ser uma palavra reservada. (veremos adiante)

4.3.2. Tipos de dados


A linguagem Portugol algoritmo possui 4 tipos bsicos de dados:
inteiro: qualquer nmero inteiro negativo, nulo ou positivo. (nmero sem casas
decimais)
Exemplos : -984563 , 1 , 5 , 0 , 321458
real: qualquer nmero real negativo, nulo ou positivo. (nmero pode ter casas
decimais)
Exemplos : -984563 , 1 , 5 , 0 , 321458 , -98,4588 , 45,789
caracter: qualquer conjunto de caracteres alfanumricos. (letras e nmeros e
smbolos especiais)
Exemplos : Ana , Joo, Rua do ouro , 123 , #?*\!&
lgico: tipo especial de varivel que armazena apenas os valores verdadeiro
ou falso

_________________________________________________________________________
15

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.3.3. Declarao de variveis


Para que os programas manipulem valores, estes devem ser armazenados
em variveis e para isso, devemos declar-las de acordo com a sintaxe:
tipo: identificador ;
Exemplos :
inteiro: Idade;
caracter: Nome;
real: salario;
lgico: fumante;

Se houver mais de uma varivel do mesmo tipo deve-se definir de acordo


com a sintaxe:
tipo: identificador1, identificador2, ..., identificadorn ;
Exemplos :
inteiro: Idade, num_dependentes ;
caracter: Nome, endereco, rg, estado_civil, nacionalidade ;
real: salario, percentual ;
lgico: fumante;
Quando uma varivel declarada, o compilador cria um local na memria,
rotulado com o nome simblico da varivel e determina o tipo de valores que ele
pode conter.

4.3.4. Declarao de constantes


Devemos declar-las de acordo com a sintaxe:
const identificador = valor;
Exemplo :
const pi = 3.141592654;

4.4. Operaes Bsicas


Na soluo da grande maioria dos problemas necessrio que as variveis
tenham seus valores consultados ou alterados. Para isto, devemos definir um
conjunto de operadores, sendo eles: aritmticos, lgicos e relacionais.

_________________________________________________________________________
16

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.4.1. Operadores aritmticos


So usados para representar as operaes matemticas, e obedecem a
mesma prioridade da matemtica, ou seja, em um comando que aparecem vrias
operaes bsicas envolvidas, primeiro resolvida a POTENCIAO , depois a
MULTIPLICAO ou a DIVISO e por ltimo a SOMA ou a SUBTRAO.
Operador
+
*
/
**

Ao
Adio
Multiplicao
Subtrao ou inversor do sinal
Diviso
Exponenciao

Operadores Especiais
div: Retorna o valor inteiro que resulta da diviso entre 2 nmeros inteiros.
mod: Retorna o resto da diviso entre 2 nmeros inteiros.
Exemplo:

Linearizao de Expresses
Para a construo de algoritmos todas as expresses aritmticas devem
ser linearizadas, ou seja, colocadas em linhas.
importante tambm ressalvar o uso dos operadores correspondentes da
aritmtica tradicional para a computacional.
Exemplo:

+
(
5

3
)
3
+1 =
Expresso Matemtica Tradicional

(2/3+(5-3))+1=
Expresso Computacional

Como pode ser observado no exemplo em expresses computacionais


usamos somente parnteses ( ). Em uma expresso computacional podemos ter
parnteses dentro de parnteses.
_________________________________________________________________________
17

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Exemplos de prioridades:

4.4.2. Operadores relacionais


So utilizados para comparar variveis ou expresses, resultando num
valor lgico (verdadeiro ou falso), sendo eles:
Operador
>
<

Comparao
Maior que
Menor que
Maior ou igual
Menor ou igual
Igual
Diferente

4.4.3. Operadores relacionais


So utilizados para avaliar expresses lgicas, sendo eles:
Operador
no
e
ou

Ao
Inverte o valor, de verdadeiro para falso e vice-versa
Retorna verdadeiro se ambas as partes forem verdadeiras
Basta que um valor seja verdadeiro para retornar verdadeiro

Tabela Verdade:
P
V
V
F
F

Q
V
F
V
F

no P
F
F
V
V

P e Q
V
F
F
F

P ou Q
V
V
V
F

Exemplos:
(2 + 5 7) e (3 3) = falso
(10+8/2=14) ou (30 - 7<10) = verdadeiro
(2+5 7) e (no(3 3)) = verdadeiro

_________________________________________________________________________
18

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.4.3. Funes
Uma funo um instrumento (subalgoritmo) que tem como objetivo
retornar um valor ou uma informao. A chamada de uma funo feita atravs
da citao do seu nome seguido opcionalmente de seu argumento inicial entre
parnteses.
As funes podem ser predefinidas pela linguagem ou criadas pelo
programador de acordo com o seu interesse.
Bibliotecas de funes armazenam um conjunto de funes que podem ser
usadas pelos programas.

As funes acima so as mais comuns e importantes para nosso


desenvolvimento lgico, entretanto, cada linguagem possui suas funes prprias.

4.4.5. Prioridade de operadores


Durante a execuo de uma expresso que envolve vrios operadores,
necessrio a existncia de prioridades, caso contrrio poderemos obter valores
que no representam o resultado esperado.

_________________________________________________________________________
19

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

A maioria das linguagens de programao utiliza as seguintes prioridades


de operadores:
1)Efetuar operaes embutidas em parnteses "mais internos"
2)Efetuar funes
3)Efetuar exponenciao
4)Efetuar multiplicao e/ou diviso e/ou div e/ou mod
5)Efetuar adio e/ou subtrao
6)Operadores relacionais
7)Operadores lgicos na ordem a seguir:
7.1) no
7.2). e
7.3) ou

4.5. Comandos de Entrada e Sada


Em um algoritmo preciso representar a troca de informaes que ocorrer
entre o mundo da mquina e o nosso mundo, para isso, devemos utilizar
comandos de entrada e sada, sendo que, em nvel de algoritmo esses comandos
representam apenas a entrada e a sada da informao, independe do dispositivo
utilizado (teclado, discos, impressora, monitor,...), mas, sabemos que nas
linguagens de programao essa independncia no existe, ou seja, nas
linguagens de programao temos comandos especficos para cada tipo de
unidade de entrada/sada.

4.5.1. Comando de entrada de dados


O comando de entrada de dados utilizado para armazenar em uma
varivel um valor que se encontra em uma unidade de entrada de dados
(usualmente o teclado). Existe apenas um comando simples para a entrada de
dados, o comando leia:
leia(variavel);
onde: leia
uma palavra reservada
varivel representa a varivel onde ser armazenado o valor
proveniente da unidade de entrada, qualquer que seja ela.

_________________________________________________________________________
20

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

Para ler e armazenar mais de um valor ao mesmo tempo deve-se usar o


comando leia da seguinte forma:
leia(variavel1, variavel2, ..., variaveln);
Neste exemplo o primeiro valor digitado ser armazenado na variavel1, o
segundo valor digitado ser armazenado na variavel2 e assim por diante.

4.5.2. Comando de sada de dados


O comando de sada de dados utilizado para exibir em uma unidade de
sada (usualmente o monitor) uma mensagem e/ou dados do algoritmo. Existe
apenas um comando simples para a exibio de resultados, o comando imprima.
- Se quisermos que seja exibido o contedo de uma varivel devemos usar o
comando imprima da seguinte forma:
imprima(variavel);
onde: imprima
variavel
de sada.

uma palavra reservada


representa a varivel cujo contedo ser exibido na unidade

- Se houver mais de uma varivel que queiramos exibir seu contedo devemos
usar o comando imprima da seguinte forma:
imprima(variavel1, varivel2, ..., variveln);
onde: as variveis devero vir separadas por vrgula.
- Se quisermos exibir um texto qualquer:
imprima(texto qualquer);
onde: o texto que ser exibido sempre deve vir entre aspas.
- Se quisermos exibir um texto e o contedo de uma varivel juntos, devemos usar
o comando imprima da seguinte forma:
imprima(texto , variavel);
- Se quisermos exibir o resultado do processamento de uma expresso lgica ou
aritmtica, devemos usar o comando imprima da seguinte forma:
imprima(12,5 3);
_________________________________________________________________________
21

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

- Se quisermos exibir um texto, o contedo de uma varivel e o resultado do


processamento de uma expresso lgica juntos, devemos usar o comando
imprima da seguinte forma:
imprima(texto , varivel , expresso);

4.6. Comando de Atribuio


Esta instruo um comando para colocar um valor na rea de uma
varivel. E pode ocorrer das seguintes formas:
- Atribuio de constante:
variavel valor;
onde: variavel o nome da varivel que receber um dado valor, este valor
dever ser compatvel ao tipo da varivel.
- Atribuio de varivel:
variavel1 variavel2;
onde: variavel1 o nome da varivel que receber o contedo da variavel2.
As variveis devem ser do mesmo tipo.
- Atribuio de expresso:
variavel expressao;
onde: variavel o nome da varivel que receber um valor atravs de: uma
expresso aritmtica (envolvendo um clculo), expresso lgica (envolvendo uma
comparao) ou expresso literal (envolvendo um processamento de texto). Aps
a expresso ser avaliada ou calculada, o valor obtido atribudo varivel.

4.7. Estrutura Condicional


Uma das tarefas fundamentais de qualquer algoritmo decidir o que deve
ser executado a seguir. A estrutura condicional permite determinar qual a ao a
ser tomada com base no resultado de um teste lgico. A estrutura condicional
pode ser formada por uma alternativa simples ou composta.

_________________________________________________________________________
22

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.7.1. Alternativa Simples


Na alternativa simples se a expresso de teste (condio) for verdadeira,
os comandos que esto dentro da clusula ento so executados; do contrrio, a
execuo do algoritmo continua na linha seguinte ao fim se.
se (condio)
ento
C1;
C2;
...
Cn;
fim se
onde condio
Cis

qualquer expresso cujo resultado seja verdadeiro ou falso


so comandos, 1 i n

4.7.2. Alternativa Composta


Na alternativa composta se a expresso de teste (condio) for
verdadeira, os comandos que esto dentro da clusula ento so executados; do
contrrio, os comandos que esto dentro da clusula seno so executados.
se (condio)
ento
1;
2;
...
n;
seno
1;
2;
...
n;
fim se
onde condio
is
js

qualquer expresso cujo resultado seja verdadeiro ou falso


so comandos, 1 i n
so comandos, 1 j n

_________________________________________________________________________
23

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

4.8. Estrutura de Repetio


A estrutura de repetio til sempre que uma ou mais instrues
(comandos) devam ser repetidas enquanto uma certa condio estiver sendo
satisfeita.
Na estrutura de repetio enquanto, se a expresso de teste (condio)
for verdadeira, as instrues que esto dentro do enquanto so executadas uma
vez e a expresso de teste avaliada novamente. Este ciclo de teste e execuo
repetido at que a expresso de teste se torne falsa, ento a execuo do
algoritmo continua na instruo seguinte ao fim enquanto.
enquanto (condio) faa
C1;
C2;
...
Cn;
fim enquanto
onde condio
Cis

qualquer expresso cujo resultado seja verdadeiro ou falso


so comandos, 1 i n

4.9. Regras Prticas para a Construo de Algoritmos Legveis


1.
2.
3.
4.

Procure incorporar comentrios no algoritmo.


Escolha nomes de variveis que sejam significativos.
Grife todas as palavras-chave do algoritmo.
Procure alinhar os comandos de acordo com o nvel a que pertenam.

4.10. Exemplos de Algoritmos


1. Escrever um algoritmo para ler 4 notas bimestrais de um aluno. Calcular e
imprimir a mdia aritmtica das 4 notas.
incio
inteiro: nota1, nota2, nota3, nota4;
real: media;
imprima(Digite 4 notas: );
leia(nota1, nota2, nota3, nota4);
media (nota1+nota2+nota3+nota4)/4;
imprima(Media das notas: , media);
fim

_________________________________________________________________________
24

Algoritmos e Tcnicas de Programao


______________________________________________________________________________________________________________

2. Escrever um algoritmo para ler o raio de uma circunferncia, calcular e imprimir


sua rea.
incio
const pi = 3.1415;
real: raio, rea;
imprima(Entre com o valor do raio da circunferencia:);
leia(raio);
rea pi * sqr(raio);
imprima(rea da circuferencia: , rea);
fim
3. Escrever um algoritmo para ler dois nmeros e imprimir se esses nmeros so
iguais ou no.
incio
inteiro: numero1, numero2;
imprima(Entre com dois numeros:);
leia(numero1, numero2);
se (numero1=numero2)
ento imprima(Nmeros iguais);
seno imprima(Nmeros diferentes);
fim se
fim
4. Escrever um algoritmo para imprimir os cem primeiros nmeros em ordem
crescente.
incio
inteiro: contador;
contador 1;
enquanto (contador 100) faa
imprima(contador, );
contador contador + 1;
fim enquanto
fim

_________________________________________________________________________
25

Vous aimerez peut-être aussi