View
215
Download
0
Category
Preview:
Citation preview
8/18/2019 Lógica de Programação Parte 1 Compacta
1/18
Resumo - Lógica de Programação Parte I
Algoritmo: É uma sequência finita de passos formalmente definidos para resolução de um problema ou tarefa;
Diagrama de blocos: É uma ferramenta usada para descrever o método e a sequência do
processo dos planos num computador através de símbolos geométricos.Pseudocódigo : também chamado de português estruturado, é uma linguagem que une oformalismo das linguagens de programação facilidade de compreensão da linguagem natural.
Linguagem de programação: é uma linguagem formal que permite a programação decomputadores.
Estrutura
!iagrama de "locos
Variáeis
#ma vari$vel é uma posição nomeada de mem%ria, que é usada para guardar um valor que pode ser modificado pelo programa. &bai'o segue a sinta'e de declaração de vari$veis, tanto uma por linha, como para mais de uma.
!!!
In"cio
#im
(seudoc%digo
Algoritmo )*ome do algorítmo+
In"cio
$
#im
%include&stdlib!'(
%include&stdio!'(
int main)* +
!!!
return ,
.
!eclaração de vari$vel em
(seudoc%digoAlgoritmo )*ome do algorítmo+
In"cio
ar )tipo+ )nome+;
)tipo+ )nome+, )nome+;
$
#im
!eclaração de vari$vel em
%include&stdlib!'(
%include&stdio!'(
int main)* +
)tipo+ )nome+;
)tipo+ )nome+, )nome+;
!!!
return ,
.
8/18/2019 Lógica de Programação Parte 1 Compacta
2/18
-egras para a nomenclatura das vari$veis:
ipos de vari$veis:
Pseudocódigo / E0emplo
/nteiro int 012; 2; 341-eal float 012.31; 2.5; 341.67
aractere char 8a8; 898
adeia uma frase ou palavra
also
?@ais informaçAes sobre vari$veis em na p$gina 15 do arquivo /nfoB.
/onstantes
Cimilar a uma vari$vel, porém com valor pré0definido que não pode ser modificado por nenhuma função de um programa.
1omenclatura: !eve obedecer s mesmas regras que os nomes de vari$veis. &penas paraficar f$cil a diferenciação entre vari$veis e constantes nos programas, aconselha0se que todas asletras dos nomes das constantes seDam maiEsculas.
!eclaração de constante em(seudoc%digo
Algoritmo )*ome do algorítmo+
In"cio
const )tipo+ )nome+ F )valor+;
$
#im
!eclaração de constante em
%include&stdlib!'(
%include&stdio!'(
int main)* +
const )tipo+ )nome+ F )valor+;
!!!return ,
.
8/18/2019 Lógica de Programação Parte 1 Compacta
3/18
/omando de atribuição
Cerve para dar um valor para uma vari$vel ou uma constante. (ossui a seguinte sinta'e:
/omando de 2a"da de Dados
&través da utili9ação do comando de saída de dados conseguimos e'ibir mensagens ou valores para o usu$rio de nossos programas. É através desse comando que nosso algoritmo consegue secomunicar com os usu$rios para solicitar a entrada de dados ou para fornecer saídas de dados.
G comando de saída de dados e'ibe no monitor valores de constantes, vari$veis ou e'pressAes.
&tribuição de valores em(seudoc%digo
Algoritmo )*ome do algorítmo+
In"cio
ar inteiro minhaHvar;
minhaHvar F B14;
minhaHvar B14;
$
#im3(ode ser usada qualquer uma dassinta'es acima.
!eclaração de vari$vel em %include&stdlib!'(
%include&stdio!'(
int main)* +
int minhaHvar;
minhaHvar F B14;
!!!
return ,
.
)I'pressão+
!iagrama de"locos
Caída de dados em (seudoc%digo
escrea))e'pressão+, )vari$vel+*;
escrea))e'pressãoB+, )vari$velB+, e'pressão1+, )vari$vel1+*;
Caída de dados em
print4))e'pressão+, )vari$vel+*;
print4))e'pressão+,)vari$vel+, )vari$vel1+*;
8/18/2019 Lógica de Programação Parte 1 Compacta
4/18
E0emplo:
Caída de dados em (seudoc%digo
Algoritmo )*ome do algorítmo+
In"cio
ar inteiro vB, v1;vB F B14;
v1 F 536;
escrea)#ma vari$vel tem valor: , vB, . I a outra: , v1, .*
#im
Caída de dados em
%include&stdlib!'(
%include&stdio!'(
int main)* +
int vB, v1;
vB F B14;
v1 F 536;
print4)#ma v$ri$vel tem valor: Jd Kn I a outra: Jd., vB, v1*return ,
.
In"cio
vB F B14v1 F 536
#ma vari$vel tem valor: vB.I a outra: v1.
#im
8/18/2019 Lógica de Programação Parte 1 Compacta
5/18
& função print4 , como pode ser visto no e'emplo, possui alguns caracteres de escape Lnoe'emplo KnM, e caracteres de controle Lno e'emplo JdM. &s tabelas a seguir mostram os caracteresdisponíveis e sua função.
8/18/2019 Lógica de Programação Parte 1 Compacta
6/18
/omando de Entrada de Dados
>requentemente, na construção de algoritmos, precisamos solicitar que usu$rios informem, por meio do teclado, alguns valores a serem utili9ados durante a e'ecução. (or e'emplo, se fi9ermosum algoritmo para calcular a média das notas de um aluno, precisaremos solicitar quais foram asnotas, para depois calcularmos a média.
G comando de entrada de dados ser$ respons$vel pela leitura e arma9enamento desses dadosem uma vari$vel.
E0emplo
Im devemos especificar o tipo de vari$vel que ser$ lida através dos especificadores de formato,como Jd e Jf no e'emplo. G nome das vari$veis deve vir precedido do caractere N.
!iagrama de"locos
vB, v1, v4
Intrada de dados em (seudoc%digo
leia))vari$vel+*;
leia))vari$vel1+, )vari$vel4+*;
Intrada de dados em
scan4))e'pressão de entrada+, N)vari$vel+*;
scan4))e'pressão de entrada+, N)vari$ve1+, N)vari$vel4+*;
Intrada de dados em (seudoc%digo
Algoritmo )*ome do algorítmo+
In"cio
ar inteiro vB, v1;
real v4;leia)vB*
leia)v1, v4*;
#im
Intrada de dados em
%include&stdlib!'(
%include&stdio!'(
int main)* +int vB, v1;
4loat v4;
scan4)Jd, NvB*
scan4)Jd Jf, Nv1, Nv4*;
return ,
.
In"cio
#im
vB
v1, v4
8/18/2019 Lógica de Programação Parte 1 Compacta
7/18
5peradores Aritm6ticos
Gperador Gperação @atem$tica Oierarquia de Gperação
L M (arênteses BP
? @ultiplicação 1P
Q !ivisão 1P
J -esto da divisão 1P
R Coma 4P
0 Cubtração 4P
-esolve0se primeiro as e'pressAes contidas nos parênteses mais internos, seguindo a ordem de
precedência entre operadores, passando depois para os parênteses mais e'ternos. I'emplo:nota1 + (nota2 + nota3) / 2
(rimeiro somamos nota1 a nota4; o resultado é divido por 1 e s% depois somamos com nota B.
Desio /ondicional#tili9ado quando queremos verificar alguma condição para determinar a e'ecução de certo
pedaço do c%digo. (odem ser divididos em desvio condicional simples, composto e encadeados.Cegue abai'o do diagrama de blocos dos três tipos de desvios condicionais.
!esvio ondicional Cimples !esvio ondicional omposto
8/18/2019 Lógica de Programação Parte 1 Compacta
8/18
omo pode0se perceber, o desvio condicional encadeado é simplesmente uma composição dev$rios desvios condicionais simples e compostos encadeados um dentro do outro.
!esvio ondicional Incadeado
!esvio condicional Cimples em (seudoc%digo
se L)condição+M então
&instruçAes para condição verdadeira+4im7se
)instruçAes para condição falsa ou ap%s ser verdadeira+
!esvio condicional omposto em (seudoc%digo
se L)condição+M então
&instruçAes para condição verdadeira+
senão
)instruçAes para condição falsa+
4im7se
)instruçAes ap%s a a condição verdadeira ou verdadeira+
8/18/2019 Lógica de Programação Parte 1 Compacta
9/18
!esvio condicional Incadeado em (seudoc%digo
se L)condiçãoB+M então )instruçAes para condiçãoB verdadeira+senão se L)condição1+M então )instruçAes para condição1 verdadeira e condiçãoB falsa+ senão )instruçAes para condiçãoB e condição1 falsas+ 4im7se4im7se
!esvio condicional Cimples em
i4 )&condição+* +
&instruçAes para condição verdadeira+.
)instruçAes para condição falsa ou ap%s ser verdadeira+
!esvio condicional omposto em
i4 ))condição+*+
&instruçAes para condição verdadeira+
.
else +)instruçAes para condição falsa+
.
)instruçAes ap%s a a condição verdadeira ou verdadeira+
!esvio condicional Incadeado em
i4 L)condiçãoB+M + )instruçAes para condiçãoB verdadeira+.
else + i4 L)condição1+M + )instruçAes para condição1 verdadeira e condiçãoB falsa+ . else + )instruçAes para condiçãoB e condição1 falsas+ ..
8/18/2019 Lógica de Programação Parte 1 Compacta
10/18
5peradores Relacionais: & estrutura condicional implica na utili9ação de condiçAes paraverificar o estado de uma determinada vari$vel quanto a verdadeiro ou falso. Istas verificaçAes sãoefetuadas com a utili9ação dos chamados operadores relacionais, conforme a tabela:
Címbolo Cignificado I'emplo
FF /gual a a FF b
SF !iferente de a SF 2
+ @aior que La + bM
) @enor que L La R bM ) cM
+F @aior ou igual a a +F b
)F @enor ou igual a a )F 2
5peradores Lógicos
(ode ser necess$rio, em algum momento, trabalhar com o relacionamento de duas ou maiscondiçAes ao mesmo tempo na mesma instrução se, efetuando desta forma testes mEltiplos. (araestes casos é necess$rio trabalhar com a utili9ação dos operadores l%gicos, também conhecidoscomo operadores booleanos. Gs operadores l%gicos mais comuns são: E8 59 e 15.
G operador E fa9 com que o resultado da operação seDa verdadeiro se, e somente se, todas ascondiçAes forem verdadeiras.
G operador 59 fa9 com que o resultado da operação seDa verdadeiro se, e somente se, pelomenos uma das condiçAes for verdadeira.
G operador 15 inverte o resultado de uma codição ou operação.
& tabela verdade abai'o mostra o resultado desses operadores para todas as possibilidades deduas condiçAes & e ", bem como a sinta'e em pseudoc%digo e .
/ondição A /ondição ;
5peração
(seudoc%digo & E " & 59 " 15 A
& NN " & TT " alsa
=erdadeira >alsa >alsa =erdadeira >alsa
>alsa =erdadeira >alsa =erdadeira =erdadeira>alsa >alsa >alsa >alsa =erdadeira
E0emplo do uso de 5peradores Lógicos
(seudoc%digo
se ) a +F b E b )F c * então i4 ) a +F b == b )F c* +
se ) a FF b 59 d ) c * então i4 ) a FF b >> d ) c * +
se ) 15) L a FF bM 59 L a FF cM M * então i4 )
8/18/2019 Lógica de Programação Parte 1 Compacta
11/18
8/18/2019 Lógica de Programação Parte 1 Compacta
12/18
Laços de Repetição ou Loopings
8/18/2019 Lógica de Programação Parte 1 Compacta
13/18
e'ecutado novamente. & estrutura repita sempre ir$ processar um conDunto deinstruçAes no mínimo uma ve9. (ara a estrutura repita, um conDunto deinstruçAes é e'ecutado enquanto a condição se mantém verdadeira.
• Para: rata0se de uma estrutura feita para facilitar a implementação de loopings
em que se e'igem contadores. Gu seDa, é uma estrutura especialmentedesenvolvida para loopings que possuem um nEmero finito de e'ecuçAes.!ei'ando as estruturas do tipo en?uanto e repita para os loopings em que nãose conhece de antemão o nEmeo de ve9es que o looping dever$ ser e'ecutado.& estrutura para tem o seu funcionamento controlado por uma vari$veldenominada contador. Cendo assim, poder$ e'ecutar um determinado conDuntode instruçAes um dterminado nEmero de ve9es.
/nstruçAes e'ecutadasenquanto a condição
é verdadeira
ondição>
ondição
/nstruçAes e'ecutadasenquanto a condição
é falsa=
=
>
varHcontador F valorHinicial,condição, e'pressãoHdeHincremento
/nstruçAes
Estrutura En?uanto
Estrutura Repita
Estrutura Para
8/18/2019 Lógica de Programação Parte 1 Compacta
14/18
Istrutura Inquanto em (seudoc%digo
en?uanto L)condição+M 4aça
)instruçAes e'ecutadas dentro do looping+4im7en?uanto
)instruçAes ap%s sair do looping+
Istrutura -epita em (seudoc%digo
repita
)instruçAes e'ecutadas dentro do looping+
en?uanto L)condição+M
)instruçAes ap%s sair do looping+
Istrutura (ara em (seudoc%digo
para )vari$vel+ F )valorHinicial+, )condição+, )e'pressãoHdeHincremento+ 4aça
)instruçAes e'ecutadas dentro do looping+
4im7para
)instruçAes ap%s sair do looping+
Istrutura Inquanto em @'ile )&condição+* +
)instruçAes e'ecutadas dentro do looping+
.
)instruçAes ap%s sair do looping+
Istrutura -epita em
do +
)instruçAes e'ecutadas dentro do looping+
. @'ile L)condição+M;
)instruçAes ap%s sair do looping+
Istrutura (ara em
4or ))vari$vel+ F )valorHinicial+; )condição+; )e'pressãoHdeHincremento+* +
)instruçAes e'ecutadas dentro do looping+
.
)instruçAes ap%s sair do looping+
8/18/2019 Lógica de Programação Parte 1 Compacta
15/18
8/18/2019 Lógica de Programação Parte 1 Compacta
16/18
• #tili9ando a estrutura repita:&lgoritmo:
B U riar uma vari$vel para servir como contador com valor inicial B;1 U a9er - F V ? 4;5 U &presentar o valor de -;3 U &crescentar RB a vari$vel contador, definida no passo B;6 U -epetir os passos 1, 4, 5 e 3 enquanto o contador for menor ou igual a 3.
(seudoc%digo
Algoritmo I'emplo
In"cio
ar inteiro cont, V, -;
en?uanto L cont )F 3 M 4aça
escrea)!igite o valor de V.*;
leia)V*;
- F V ? 4;
escreaL-M;
cont F cont R B;
4im7en?uanto
#im
%include&stdlib!'(
%include&stdio!'(
int main)* +
int cont, V, -;
@'ile L cont )F 3M
X
print4 )!igite o valor de V.Kn*;
scan4 )Jd, NV*;
- F V ? 4;
print4 LJd Kn, -M;
cont F cont R B;.
return ,
.
/nício ont F B
ont )F 3
!igite um valor para V
V
- F V ? 4
-
ont F ont R B >im
C
*
8/18/2019 Lógica de Programação Parte 1 Compacta
17/18
• #tili9ando a estrutura para:&lgoritmo:B U !efinir um contador variando de B a 3;1 U a9er - F V ? 4;5 U &presentar o valor de -;3 U -epetir os passos 1, 4, e 5 até que o contador seDa encerrado.
(seudoc%digo
Algoritmo I'emplo
In"cio
ar inteiro cont, V, -;
repita
escrea)!igite o valor de V.*;
leia)V*;
- F V ? 4;
escreaL-M;
cont F cont R B;
en?uanto Lcont )F 3M
#im
%include&stdlib!'(
%include&stdio!'(
int main)* +
int cont, V, -;
do
X
print4 )!igite o valor de V.Kn*;
scan4 )Jd, NV*;
- F V ? 4;
print4 LJd Kn, -M;
cont F cont R B;. @'ile Lcont )F 3M;
return ,
.
/nício
!igite um valor para V
V
- F V ? 4
-
>im
cont F B, cont )F3,
cont F cont R B
8/18/2019 Lógica de Programação Parte 1 Compacta
18/18
(seudoc%digo
Algoritmo I'emplo
In"cio
ar inteiro cont, V, -;
para cont FB, cont )F 3, cont F cont R B 4aça
escrea)!igite o valor de V.*;
leia)V*;
- F V ? 4;
escreaL-M;
4im7para
#im
%include&stdlib!'(
%include&stdio!'(
int main)* +
int cont, V, -;
4or Lcont F B; cont )F 3; cont F cont R BM
X
print4 )!igite o valor de V.Kn*;
scan4 )Jd, NV*;
- F V ? 4;
print4 LJd Kn, -M;
.return ,
.
Recommended