Upload
internet
View
113
Download
3
Embed Size (px)
Citation preview
Prof. Stefano1
ALGORITMOS
Prof. Stefano
PROGRAMAÇÃO - PRG
• Introdução• Algoritmos• Fluxograma• Constantes e variáveis• Operadores• Declarações de Controle• Exercícios
2
Introdução• Lógica de programação:
– Técnica para gerar uma determinada sequência de atividades para atingir um determinado objetivo;
• Sequência Lógica:– São os diferentes passos ou instruções para solucionar um
problema;
• Instruções:– São um conjunto de regras ou normas definidas para
realização de uma atividade. É uma ação elementar executada pelo computador;
3
Algoritmos• Algoritmos é uma maneira de formalizar uma
sequência de passos para execução de uma atividade.
• A formalização é necessária para que diferentes pessoas possam entender e repetir os passos para chegar a solução do problema;
• Ex.:– Executar a operação de soma em uma calculadora;– Fazer uma transferência bancária;– Ajustar o horário no celular;– Programar um DVD para gravar um programa;
4
Algoritmos• EXERCÍCIO 1:
– Descreva passo a passo como você faria para obter a média de três números a seguir em sua calculadora;
5
MEDIA = 12 + 6 + 9 3
Fluxograma• Para representar graficamente um algoritmo
utilizaremos o fluxograma;• Um fluxograma é a representação das diferentes
etapas de um processo através de elementos gráficos ligados conforme a lógica de programação;
• Simbologia
6
Símbolo Função
Início ou Fim de um algoritmo
Processamento geral
Decisão
Fluxograma• EXERCÍCIO 2:
– Implemente em um fluxograma o algoritmo do cálculo da média de três números a seguir em sua calculadora do exercício anterior;
7
Constantes e variáveis• Identificadores: São nomes arbitrários dados as
funções, variáveis, constantes. Os identificadores podem ser1 letras de A à Z, números de 0 à 9 e “_“(underline). Não pode começar com número.– Exemplos:
• Temperatura_media• Temp• _T1
81 – Depende de cada compilador
Constantes e variáveis• Constantes: são elementos que tem um valor fixo,
não podendo ser mudados durante a execução do programa;– Exemplo: π = 3,1415927.... Em vez de escrever toda vez o
número podemos nomear uma constante PI = 3,1415927 e durante programa utilizar PI;
• Variáveis: são elementos que permitem a alteração do seu valor durante a execução do programa. É recomendável que no início do programa seja atribuído um valor inicial a elas, que elas sejam inicializadas;– Exemplo: Calcule consumo médio de combustível de um
automóvel. CONSUMO= KM/L9
Constantes e variáveis• EXERCÍCIO 3:
– Para preparar uma salada de frutas, um cozinheiro foi comprar 4 frutas, onde cada fruta tem seu preço e a quantidade que o cozinheiro precisa descrito na tabela a seguir. Monte um algoritmo que calcule quanto ele terá que pagar por cada fruta e o valor total da despesa;
10
FR1 FR2 FR3 FR4
Preço por kg(R$)
1,30 1,90 4,50 0,98
Peso (kg) 2,5 1,3 0,6 3,8
Observar a utilização de constantes e variáveis
Operadores• Operador é um símbolo que faz com que
compilador execute alguma operação matemática ou lógica;
• Os principais operadores são aritméticos, de relação, lógicos e bit a bit;
• A seguir serão apresentados os principais elementos de cada operador. Este tópico será visto em maiores detalhes na linguagem de programação aplicado diretamente ao compilador utilizado;
11
Operadores• Operador Aritmético
12
Operador Operação realizada
+ Soma
- Subtração
* Multiplicação
/ Divisão
% Resto da divisão
+ + Incremento
- - Decremento
Operadores• Operador de Relação: eles testam as relações nas
expressões. Seu resultado é 1 se for verdadeiro ou 0 se for falso;
13
Operador Operação realizada
= = Igual a
! = Não igual a
> Maior que
< Menor que
> = Maior ou igual a
< = Menor ou igual a
Operadores• Exemplos de Operador de Relação: • 4 = = 3; retorna 0 - FALSO• 3 = = 3; retorna 1 - VERDADEIRO• 7 > = 3; retorna 1 – VERDADEIRO• 4 < = 3; retorna 0 - FALSO• 4 ! = 3; retorna 1 – VERDADEIRO• 4 > 3; retorna 1 – VERDADEIRO
14
Operadores• Operadores lógicos: realizam operações lógicas nas
expressões. Os operandos são considerados verdadeiros(1) ou falsos(0). Seu resultado é 1 se for verdadeiro ou 0 se for falso;
15
Operador Operação realizada
& & AND
| | OR
! NOT (Negado)
Operadores• Exemplos de Operador Lógico: a) (3 > 1) & & (2= = 2); 1 & & 1; resulta em 1 - verdadeiro
b) (3 > 7) | | (2= = 2); 0 | | 1 ; resulta em 1 - verdadeiro
c) !{(3 > 1) & & (2= = 2)} ; !{ 1 & & 1}; !{ 1} ; - resulta em 0 - falso
16
Operadores• Operadores Bit a Bit: eles testam as relações dos
operadores nas expressões bit a bit;
17
Operador Operação realizada
& AND
| OR
^ XOR
~ NOT
> > SHIFT RIGHT,desloca bits a direita
< < SHIFT LEFT, desloca bits a esquerda
Operadores• Exemplos de Operador Bit a Bit: a) v1= 101101, v2=110011, v3 = v1 & v2; AND v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 1 0 0 0 0 1
b) v1= 110001, v2=010111, v3 = v1 | v2; OR v1 = 1 1 0 0 0 1 v2 = 0 1 0 1 1 1 v3 = 1 1 0 1 1 1
18
Operadores• Exemplos de Operador Bit a Bit: c) v1= 101101, v2=110011, v3 = v1 ^ v2; XOR v1 = 1 0 1 1 0 1 v2 = 1 1 0 0 1 1 v3 = 0 1 1 1 1 0
d) v1= 110001, v2 = ~ v1 ; NOT v1 = 1 1 0 0 0 1 v2 = 0 0 1 1 1 0
19
Operadores• Exemplos de Operador Bit a Bit: e) v1= 000101, v2=v1 << 2; SHIFT LEFT (x 2) = 001010; <<1 v2 = 010100; <<2
f) v1= 010100, v2=v1 >> 2; SHIFT RIGHT (÷ 2) = 001010; >> 1 v2 = 000101; >> 2
20
Declarações de Controle• As declarações controlam o fluxo de execução de um
algoritmo, sendo assim de fundamental importância o domínio da sua correta utilização;
• Em uma linguagem de programação existem diferentes declarações, mas aqui, para um primeiro contato, utilizaremos a declaração de controle condicional;
21
Declarações de Controle• Declaração de controle condicional
IF.......THEN....ELSESE......ENTÃO...SENÃO
• Ele é utilizado para executar um determinado comando se uma determinada condição for verdadeira. A opção ELSE não é obrigatória.
22
IF (true) THEN CommandsTrueELSE CommandsFalse
IF (verdadeiro) THEN ComandosVerdadeiroELSE ComandosFalso
• Para implementação do caso geral no algoritmo utilizamos o losango;
pergunta
Declarações de Controle
23
ComandosVerdadeiro
ComandosFalso
Pergunta?
V
F
As saídas V e Fpodem ser trocadas
• OPÇÃO 1: Somente verdadeiro;
pergunta
Declarações de Controle
24
ComandosVerdadeiro
Pergunta?
V
• OPÇÃO 1: Exercício 4:• Considere um forno onde a temperatura limite seja
de 700º C. Se a temperatura atual do forno atingir este valor o alarme deve ser ligado. Elabore um algoritmo que implemente essa situação;
Declarações de Controle
25
• Resolução
Declarações de Controle
26
InInício
InFim
Ler Tforno
Tforno >= 700 Ligar AlarmeV
F
A inclusão da etapa de leitura do sensor do forno, considerando ser um sinal analógico, foi colocada aqui porque geralmente requer um tratamento adicional no programa.
• CASO 2: Com verdadeiro e falso o algoritmo fica da forma como já visto anteriormente;
pergunta
Declarações de Controle
27
ComandosVerdadeiro
ComandosFalso
Pergunta?
V
F
Declarações de Controle• Exercício 5: Na esteira abaixo quando o sensor S1 for
acionado o motor M1 deve ser ligado. Implemente um algoritmo que atenda o solicitado.
28
S1
M1
• Resolução
Declarações de Controle
29
InInício
InFim
Ler S1
S1 == 1 M1= 0
V
F
M1= 1
A inclusão da etapa de leitura do sensor S1 em muitas situações pode ser considerada redundante, sendo colocada aqui para chamar a atenção ao fato, podendo ser omitida no futuro.
Declarações de Controle• Exercício 6: Na esteira abaixo quando o sensor S1 for
acionado por uma peça o motor M1 deve ser ligado e quando a peça acionar o sensor S2 o motor deve ser desligado. Implemente um algoritmo que atenda o solicitado.
30
S1
M1
S2
• Resolução
Declarações de Controle
31
Declarações de Controle• Exercício 7: Na esteira abaixo a peça é colocada na posição
dada pelo sensor S1, e com isso o motor M1 é ligado, levando a peça até o sistema de aquecimento. Neste instante o motor M1 é desligado e a peça espera 10 segundos, sendo o motor M1 ligado novamente para levar a peça para o resfriamento, quando então o motor M1 é desligado novamente, aguardando agora 20 segundos neste estágio. Após decorrido o tempo o motor M1 é ligado novamente para levar a peça até a posição dada pelo sensor S4, quando o motor é desligado novamente. Implemente um algoritmo que atenda o solicitado.
32
• Resolução
Declarações de Controle
33
Declarações de Controle• Exercício 8: No sistema abaixo quando uma peça é colocada
na posição dada pelo sensor S1 o motor M1 é ligado, levando a peça até o sensor S2 e caindo na caixa de saída. Sabe-se que a caixa suporta até 20 peças. Implemente um contador(CONT) para que somente quando somente 20 peças caírem na caixa o motor M1 é desligado e a lâmpada L1 é ligada, alertando ao operador da necessidade de trocar a caixa. Implemente um algoritmo que atenda o solicitado.
34
• Resolução
Declarações de Controle
35
Declarações de Controle• Exercício 9: No exercício anterior foi acrescentado o
botão B1 no painel para que quando o operador trocar a caixa ele irá apertar o botão a lâmpada L1 irá apagar, o motor M1 é ligado novamente, o contador é zerado e o ciclo se inicia novamente.
36
• Resolução
Declarações de Controle
37
• CASO 3: IF ANINHADO. Quando vários laços são utilizados, um dentro de outro;
Declarações de Controle
38
Pergunta1 ?
Comandos1
N
V
Pergunta2 ?
N
V
Pergunta3 ?
N
V
Comandos2
Comandos3
Comandos4
Declarações de Controle• Exercício 10: No reservatório da figura abaixo um
sensor mede o nível (NIVEL) de líquido existente. Elabore um algoritmo que controle o acionamento das bombas de acordo com a tabela abaixo;
39
NIVEL B1 B2 B3
NIVEL>9 0 0 0
6<NIVEL≤9 1 0 0
2<NIVEL≤6 1 1 0
NIVEL≤2 1 1 1
• Resolução
Declarações de Controle
40
Declarações de Controle• Exercício 11: No sistema de seleção da página
seguinte quando uma caixa é colocada na posição dada pelo sensor S1 o motor M1 é ligado levando a caixa até o sensor S5, quando então é desligado. Implemente um algoritmo para que de acordo com o tipo de caixa, dada pela figura e identificada no sistema através do acionamento dos sensores S2,S3 e S4, somente a lâmpada correspondente fique ligada. Esta lâmpada somente poderá ficar ligada até a caixa correspondente chegar ao sensor S5. O sistema é contínuo. Implemente também um contador para cada tipo de caixa.
41
Declarações de Controle
42
• Resolução
Declarações de Controle
43
44
REFERÊNCIAS
• Robert Schildt. C completo e total.• User´s Manual MikroC• Fábio Pereira. Programação em C• Notas de aula do Prof. Stefano• Curso básico de lógica de programação.
Unicamp