Escolar Documentos
Profissional Documentos
Cultura Documentos
Lgica de Programao
Sair do carro
Desapertar os parafusos
Levantar o carro
Descer o carro
Apertar os parafusos
Instrues
Algoritmo
Exemplo ...
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
7
%
Conceitos Gerais
Algoritmo (cont.
!Somar dois n"meros quaisquer!.
# $screva o primeiro n"mero no ret%ngulo A
# $screva o segundo n"mero no ret%ngulo &
# Some o n"mero do ret%ngulo A com n"mero do ret%ngulo
& e coloque o resultado no ret%ngulo '
&et'ngulo A &et'ngulo ( &esultado
) *
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
8
+
Conceitos Gerais
Algoritmo (cont.
$xerc(cios
) * +escreva com detal,es a sequncia lgica para -rocar um pneu de
um carro.
. * /aa um algoritmo para somar dois n"meros e multiplicar o
resultado pelo primeiro n"mero.
0 * /aa um algoritmo para trocar uma l%mpada. +escreva com
detal,es.
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
9
,
Conceitos Gerais
1rogramas
-
.s programas de computadores nada mais so do que
algoritmos escritos numa linguagem de computador /0ascal,
1)), 2ava, 3elphi, 040, 5et entre outras6 e que so
interpretados e e7ecutados por uma mquina, no caso um
computador
-
5otem que dada esta interpretao rigorosa, um programa
por nature8a muito espec9fico e r9gido em relao aos
algoritmos da vida real
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
10
:;
Conceitos Gerais
1rogramas (cont.
$xemplo.
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
11
::
Formas de Representao de
Algoritmos
+escrio -extual ou 2arrativa
<a8=se uso do portugus para descrever os passos para a
reali8ao da tarefa
!>!?0@.A &eceita de (oloA
= 0rovidencie manteiga, ovos, : Bg de farinha, etc
= ?isture os ingredientes
= 3espeje a mistura na fCrma de bolo
= @eve a fCrma ao forno
= !spere por 2; minutos
= &etire a fCrma do forno
= 3ei7e esfriar
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
12
:2
Formas de Representao de
Algoritmos
+escrio -extual ou 2arrativa (cont.
DA5EAF!5GA
= . portugus bastante conhecido por nsH
3!GDA5EAF!5GA
= imprecisoH
= pouca confiabilidade /a impreciso acarreta a
desconfiana6H
= e7tenso /normalmente, escreve=se muito para di8er
pouca coisa6
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
13
:#
Formas de Representao de
Algoritmos
/luxograma
-
. flu7ograma um tipo de algoritmo que utili8a s9mbolos
grficos para representar as a$es ou instru$es a serem
seguidas
-
Assim como o pseudocdigo, o flu7ograma utili8ado para
organi8ar o racioc9nio lgico a ser seguido para a resoluo de
um problema ou para definir os passos para a e7ecuo de uma
tarefa
-
Eambm utili8ado para documentar rotinas de um sistema,
mas s recomendado para os casos pouco e7tensos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
14
:I
Formas de Representao de Algoritmos
1seudolinguagens
. pseudocdigo um tipo de algoritmo que utili8a uma
linguagem fle79vel, intermediria entre a linguagem 5arrativa e
a linguagem de programao
J tambm para documentar rotinas de um sistema
A palavra KpseudocdigoL significa Kfalso cdigoL !sse nome
se deve M pro7imidade que e7iste entre um algoritmo escrito em
pseudocdigo e a maneira pela qual um programa
representado em uma linguagem de programaao
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
15
:N
Formas de Representao de
Algoritmos
1seudolinguagens (cont.
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
16
&egras para construo do Algoritmo
O
0ara escrever um algoritmo precisamos descrever a
sequncia de instru$es, de maneira simples e objetiva
O
0ara isso utili8aremos algumas tcnicasA
-
Psar somente um verbo por frase /1omandos em a8ul6
-
Qmaginar que voc est desenvolvendo um algoritmo
para pessoas que no trabalham com informtica
-
Psar frases curtas e simples /. que estiver entre aspas
em vermelho6
-
Ger objetivo
Formas de Representao de Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
17
<ases
O
J importante ressaltar que qualquer tarefa que siga
determinado padro pode ser descrita por um algoritmo,
como por e7emploA
= 1omo fa8er biscoitos
= 1alcular o volume total de chuva do ano passado
Formas de Representao de Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
18
<ases
O
!ntretanto ao montar um algoritmo, precisamos primeiro
dividir o problema apresentado em trs fases fundamentais
Formas de Representao de Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
19
<ases
O
.nde temosA
!5E&A3AA Go os dados de entrada do algoritmo
0&.1!GGA?!5E.A Go os procedimentos utili8ados para
chegar ao resultado final
GAR3AA Go os dados j processados Go as informa$es
Formas de Representao de
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
20
!7emplo de Algoritmo
O
Qmagine o seguinte problemaA
-
1alcular a mdia final dos alunos da disciplina de
algoritmos
O
A mdia calculada assimA /0: ) 02 ) 0# ) 0I6 SI
Formas de Representao de
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
21
$xemplo de Algoritmo
O
0ara montar o algoritmo proposto, faremos trs perguntasA
-
Tuais so os dados de entrada"
O
&A .s dados de entrada so 0:, 02, 0# e 0I
-
Tual ser o processamento a ser utili8ado"
O
&A . procedimento ser somar todos os dados de
entrada e dividi=los por I /quatro6
-
Tuais sero os dados de sa9da"
O
&A . dado de sa9da ser a mdia final
Porcentagem
Preco 100
Aliq 30 (30%)
Exerccios
Exerccios
Operadores
incrementamos,
decrementamos,
comparamos e
Operadores Aritmticos
Operadores Relacionais
Operadores Lgicos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
48
Operadores Aritmticos
Operadores Aritmticos
Operadores Relacionais
Operadores Relacionais
Exemplo:
Operadores Lgicos
Continua ...
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
53
Operadores Lgicos
E (Conjuno)
OU (Disjuno)
No (Negao)
Operadores Lgicos
Tabelas Verdade
Algoritmos
e ou
A B A e B A B A ou B
V V V V V V
V F F V F V
F V F F V V
F F F F F F
no
A no A
V F
F V
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
55
Operadores Lgicos
Exemplos:
Exerccios
(A+C) > B ( )
B >= (A + 2) ( )
C = (B A) ( )
(B + A) <= C ( )
(C+A) > B ( )
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
58
Exerccios
T (A > C) e (C <= D) ( )
T (A>=C) ou (D >= C) ( )
T No A=2 e B=7 ( )
X (A + B) 10 * C = ( )
X A + B 10 * C => ( )
Y A > 8 e B + C > D ( )
Y A > 3 * 2 ou B + C <> D ( )
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
59
Estrutura de #eciso
Se Ento fimse
Estrutura de #eciso
Se Ento fimse
Estrutura de #eciso
Se Ento
Estrutura de #eciso
Se Ento
Estrutura de #eciso
Se Ento
Estrutura de #eciso
Se Ento Exerccios
Paulo Afonso (PA) estava com dvidas de qual seria sua nota
bimestral e se ela estaria ou no dentro da mdia.
Considerando que a mdia 6.0 e que o clculo da mesma
realizado pela equao PROVA*0.8 + TRAB*0.2, desenvolva
um algoritmo que pea as respectivas notas a PA e determine
se ele est na mdia bimestral ou no.
Estrutura de #eciso
Exemplo:
se MEDA >= 5.0 entao
escreva ("ALUNO APROVADO)
senao
escreva ("ALUNO REPROVADO)
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
68
Estrutura de #eciso
Se Ento
Estrutura de #eciso
Se Ento
Estrutura de #eciso
Se Ento - Encadeada
Considere o exemplo:
O
Elaborar um programa que efetue o clculo do
reajuste de salrio de um funcionrio. Considere
que o funcionrio deva receber um reajuste de 15%
caso seu salrio seja menor que 500. Se o salrio
for maior ou igual a 500, mas menor ou igual a
1000, seu reajuste ser de 10%; caso seja ainda
maior que 1000, o reajuste ser de 5%.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
71
algoritmo _&eajusta Galario_
var
salario,novoXsalarioA real
inicio
escreva /_3igite o salario atual do empregadoA _6
leia /salario6
se /salario ^ N;;6 entao
novoXsalario ^= salario U ::N
senao
se /salario ^* :;;;6 entao
novoXsalario ^= salario U ::;
senao
novoXsalario ^= salario U :;N
fimse
fimse
escreva /_. empregado teve o salario reajustado paraA_, novoXsalario6
fimalgoritmo
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
72
Estrutura de #eciso
Se Ento - Exerccios
Estrutura de #eciso
Se Ento - Exerccios
Estrutura de #eciso
Caso
outrocaso
SSsequncia=de=comandos=e7tra
fimescolha
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
75
Estrutura de #eciso
Caso Exemplo 1
Algoritmos
var timeA literal
inicio
escreva /_!ntre com o nome de um time de futebolA _6
leia /time6
escolha time
caso _<lamengo_, _<luminense_, _Dasco_, _(otafogo_
escreval /time, _ um time carioca_6
caso _Gantos_, _Go 0aulo_, _0almeiras_, _1orinthians_
escreval /time,_ um time paulista_6
outrocaso
escreval /time, _ de outro estado_6
<imescolha
fimalgoritmo
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
76
Estrutura de #eciso
Caso Exemplo 2
Algoritmos
var valor, resultA real
formaXpagtoAliteral
inicio
escreva /_!ntre com o valor da mercadoriaA_6
leia /valor6
escreva /_!ntre com a forma de pagamento /a vista, cheque, dinheiro, carto6A_6
leia /formaXpagto6
escolha formaXpagto
caso _a vista_, _cheque_, _dinheiro_
result ^= valor = /valor U ;:6
escreval /_. valor a ser pago com :;f de desconto A_, resultA:;A26
caso _cartao_
result ^= valor = /valorU;;N6
escreval /_. valor a ser pago com Nf de desconto A_, resultA:;A26
fimescolha
fimalgoritmo
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
77
Estrutura de #eciso
Caso Exerccio
-
Faa um algoritmo que pea ao usurio
escolher entre as cidades: Votuporanga,
Fernandpolis, turama, Uberlndia. Se for uma
das duas primeiras, mostre a frase: uma
cidade paulista e a capital So Paulo. Se
forma uma das duas ltimas, escreva: uma
cidade mineira e a capital Belo Horizonte.
Estrutura de Repetio
Estrutura de Repetio
Estrutura 5A6A
Estrutura de Repetio
Estrutura 5A6A
Sintaxe:
para &vari7vel "e controle' &8 &in9cio' ate &fim' faca
&instru/:es'
fimpara
mportante:
Exemplo:
para i &8 0 ate #% faca
a &8 i + #
fimpara
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
81
Estrutura de Repetio
Estrutura 5A6A
Considere o exemplo:
Estrutura de Repetio
Estrutura 5A6A
Considere o exemplo:
Estrutura de Repetio
Exerccios
Estrutura de Repetio
Estrutura 5A6A
Considere o exemplo:
Estrutura de Repetio
Estrutura 5A6A
Considere o exemplo:
Estrutura de Repetio
Estrutura 5A6A
Estrutura de Repetio
Apresentar as tabuadas do 1 ao 5.
algoritmo "Ha<ua"as"
var
i, ii:inteiro
inicio
escreval ("Ha<ua"as"!
para i&80 ate D faca
escreval ("++++Ha<ua"a "o ", i!
para ii &8 0 ate 0% faca
escreval(ii, " ( " , i, " $", i+ii!
fimpara
fimpara
fimalgoritmo
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
88
Estrutura de Repetio
&etores
O
Os vetores consistem em uma tcnica de programao
que permite trabalhar com o agrupamento de vrias
informaes dentro de uma mesma varivel.
O
Este agrupamento ocorrer obedecendo sempre ao
mesmo tipo de dado, e por esta razo chamado de
estruturas de dados homogneas ou matriz.
O
Caracteriza-se por ser definida uma nica varivel
dimensionada com um determinado tamanho.
O
A dimenso de uma matriz constituda por constantes
inteiras e positivas.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
97
&etores
O
Considere o exemplo:
O
O clculo da mdia seria feito da seguinte maneira:
-
1oma&8A@0)A@#)A@,)A@?)A@D)A@E)A@I)A@>
-
Ae"ia&8soma->4
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
98
&etores
O
Para o exemplo, foram utilizadas 8 variveis
O
Com o uso do vetor utilizar-se- apenas uma.
O
A representao com vetor seria assim:
-
MD[1]=4.5;
-
MD[2]=6.5;
-
MD[3]=8.0;
-
MD[4]=3.5;
-
MD[5]=6.0;
-
MD[6]=7.0;
-
MD[7]=6.5;
-
MD[8]=6.0
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
99
&etores
O
Observe que o nome um s, o que muda a informao
indicada dentro dos colchetes.
O
A esta informao d-se o nome de ndice, sendo este o
endereo onde o elemento est armazenado.
O
Para definir um vetor utiliza-se a seguinte sintaxe:
-
variavel : Matriz[<dimenso>] de <tipo de dado>
O
Desta forma utilizaria-mos no exemplo :
-
Far A@ : vetorJ044>K "e realL
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
100
&etores
O
A leitura e escrita da matriz feita passo a passo, um
elemento por vez com as instrues leia e escreva, como
as variveis simples, embora deva-se observar o ndice.
O
Exemplos:
-
Escreva A@J#K {este comando escrevera o valor 6.5}
-
Leia (A@J0K! {este comando efetua a leitura de um
valor para a nota do 1 aluno}
-
Escreva MD[3] {este comando escrevera o valor 8}
-
Leia (MD[7]) {este comando efetua a leitura de um
valor para a nota do 7 aluno}
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
101
&etores
O
Exemplo1: Abaixo apresentado o algoritmo da leitura da
notas dos 8 alunos, clculo da mdia e a apresentao da
mesma e apresentao das notas lidas.
Algoritmos
0rograma mdiaXturma
Dar
?3 A vetorh:+i de real
Goma, media A realH
Q A inteiroH
Qnicio
Goma^=;
0ara i de : at + faa
!screva/V3igite a notaAW6
@eia ?3hii
Goma^=soma)?3hii
<impara
0ara i de : at + faa
Goma^=soma)?3hii
<impara
?edia^=somaS+
!screva media
0ara i de : at + passo : faa
!screva ?3hii
<impara
<im
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
102
&etores
O
Exemplo2: J o programa abaixo, l, alm das notas dos
alunos, seus respectivos nomes.
Algoritmos
0rograma VmdiaXturmaW
Dar
5omeA vetorh:+i de literal
?dA vetorh:+i de real
Q A inteiroH
Qnicio
0ara i de : at + faa
!screva/V3igite o nomeAW6
@eia /nomehii6
!screva/V3igite a notaAW6
@eia ?3hii
<impara
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
103
&etores
O
Exemplo3: Mostrando os valores invertidos de um vetor:
Algoritmos
0rograma VinverteXvetorW
Dar
vetA vetorh:Ni de inteiroH
i A inteiroH
Qnicio
0ara i de : at N faa
!screva/V3igite um nYmeroAW6
@eia /vethii6
<impara
!screval/V.s valores invertidos soAW6
0ara i ^= N ate : passo =: faca
escreval /vethii6
<impara
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
104
&etores
O
Exemplo4: Copiar dados de um vetor para outro
Algoritmos
0rograma V1opia vetorW
Dar
v:,v2A vetorh:Ni de inteiroH
i A inteiroH
Qnicio
0ara i de : at N faa
!screva/V3igite um nYmeroAW6
@eia /v:hii6
<impara
!screval/V1opiando os dadosW6
0ara i ^=: ate N faca
v2hii^= v:hii
<impara
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
105
&etores % Exerccios
O
Desenvolva um programa que efetue a leitura de 10
valores para uma matriz A e que esses valores sejam
passados para a matriz B acrescentando 10 porcento a
cada elemento.
O
Desenvolva um programa que efetue a leitura de 10
valores para uma matriz A e que esses valores sejam
passados para a matriz B verificando se o ndice for par
dever ser multiplicado por 5 e se for impar, somado a 5.
O
Faa um algoritmo que armazene o volume de chuva
mensal de um ano todo. Depois calcule a mdia do
volume de chuva do ano.
O
Faa um programa que leia 10 nomes e depois mostre-os
em ordem inversa de entrada.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
106
'atri(es
O Matrizes so vetores (arrays) que necessitam de dois ndices para
individualizar um elemento do conjunto. O primeiro ndice representa as
linhas e o segundo as colunas.
O Declarao:
varivel : vetor[ndice1-inicial..ndice1-final,
ndice2-inicial..ndice2-final] de tipo ...
O Exemplos:
- A@: vetorJ044D,044DK "e inteiro{este comando cria uma matriz de
5 linhas por 5 colunas}
- Leia (A@J0,0K! {este comando efetua a leitura de um valor que
est na linha (1) e coluna (1)}
- Escreva MD[3, 4] {este comando escrevera um valor na posio
que est na linha (3) e coluna (4)}
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
107
'atri(es % Exerccios
O
Criar um algoritmo que leia os elementos de uma matriz
inteira 3 x 3 e escreva os elementos da ltima linha.
Percorra a matriz com o comando para.
O
Altere o exerccio anterior para mostrar tambm a ltima
coluna da matriz. Percorra a matriz com o comando para.
O
Desenvolva um algoritmo que some os valores de todos
os elementos de uma matriz 2 x 2.
O
Criar um algoritmo que leia os elementos de uma matriz
inteira 3 x 3 e escreva os elementos da diagonal principal.
O
Projete um algoritmo que copie todos os elementos de
uma matriz 3x2 para outra de mesma dimenso.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
108
'atri(es % Exerccios
O
Altere o exerccio anterior para mostrar tambm a ltima
coluna da matriz. Percorra a matriz com o comando para.
O
Desenvolva um algoritmo que some os valores de todos
os elementos de uma matriz 2 x 2.
O
Criar um algoritmo que leia os elementos de uma matriz
inteira 3 x 3 e escreva os elementos da diagonal principal.
O
Projete um algoritmo que copie todos os elementos de
uma matriz 3x2 para outra de mesma dimenso. Faa
usando o comando para.
O
Projete um algoritmo que pea valores de duas matrizes
2x2 e inclua o resultado da diferena entre os elementos
em uma terceira matriz da mesma dimenso. Faa usando
o comando para.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
109
'atri(es % Exerccios
O
Desenvolva uma algoritmo que receba o nome e o
endereo de 5 pessoas. Depois mostre os valores em
ordem invertida.
O
Desenvolva um programa que efetue a leitura de 5 valores
para uma matriz onde na primeira coluna deve ser
armazenado o RA do aluno e na segunda coluna deve ser
armazenado a mdia final do aluno. Ao final imprimir os
valores armazenados.
O
Desenvolva um programa que efetue a leitura de 4 notas
para 3 alunos, calcular a mdia e armazenar na 5 coluna
da matriz. Ao final imprimir a mdia final de cada alunos.
Algoritmos
nstituto Federal de Votuporanga -
Prof. MSc. Andr Gobbi / Prof. Dr
. Evandro Jardini
110
FM