Upload
sarah-parente
View
225
Download
3
Embed Size (px)
Citation preview
Prof. Rodrigo Coral1
Introdução aos algoritmos de programação
Prof. Rodrigo Coral
PROGRAMAÇÃO - PRG
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;
2
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;
3
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;
4
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
5
Símbolo Função
Início ou Fim de um algoritmo
Processamento de dados (cálculos)
Decisão
Fluxograma
• A seta indica a direção do fluxo dos dados
6
Símbolo Função
Entrada de dados (via teclado)
Execução de processo predefinido
Saída de dados (via tela)
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
Fluxograma• EXERCÍCIO 3:
– Implemente uma programa para ser utilizado com um computador para calcular a média aritmética de duas avaliações de um aluno, levando em conta que a média para aprovação é de 6,0;
8
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
91 – 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/L10
Constantes e variáveis• EXERCÍCIO 4:
– 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;
11
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;
12
Operadores• Operador Aritmético
13
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;
14
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
15
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;
16
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
17
Operadores• Operadores Bit a Bit: eles testam as relações dos
operadores nas expressões bit a bit;
18
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
19
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
20
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
21
Programação estruturada• Em 1960 Böhm e jacopini provaram que todo
algorítimo computacional pode ser descrito em termos de apenas três padrões de passos, denominados de estruturas de controle, que são passos básicos que auxiliam na construção dos programas:
• Sequência;• Seleção;• Repetição;
22
Programação estruturada• Sequência: estrutura que permite indicar dois ou
mais passos que devem ser executados sequencialmente, na ordem que são especificados;
23
Programação estruturada
• Condição: permite indicar dois ou mais passos que devem ser executados de forma mutuamente exclusiva, dependendo de uma determinada condição;
24
?V
F
Programação estruturada
• Repetição: permite indicar um ou mais passos que devem ser executados repetidamente, dependendo de uma determinada condição;
25
?V
F
• 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 e o forno desligado. Elabore um algoritmo que implemente essa situação;
Programação estruturada
26
• Resolução
Declarações de Controle
27
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.
Desliga o forno
Ler Tforno
Variáveis:Tforno – temperatura do forno
Declarações de Controle
28
InInício
Ler Tforno
Variáveis-entrada:Tforno;S_Forno;
Variáveis-sáida: Alarme;Forno;
S_Forno== 1?
Ligar forno?
S_Forno = 1
Tforno>= 700?
Alarme = 1
Forno = 0
Finalizarprograma?
InFim
Alarme== 1?
Desligar alarme?
Alarme = 0
F
V
V
F
V
F
V
F
V
F
V
FA 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 3: IF ANINHADO. Quando vários laços são utilizados, um dentro de outro;
Declarações de Controle
29
Pergunta1 ?
Comandos1
N
V
Pergunta2 ?
N
V
Pergunta3 ?
N
V
Comandos2
Comandos3
Comandos4
Declarações de Controle• Exercício 5: Implemente um algoritmo em
programação estruturada na qual é possível converter temperaturas em graus celcius em graus fahrenheit ou Kelvin
• oF = (oC . 9/5) + 32
• K = oC + 273,15
30
• Resolução
Declarações de Controle
31
Declarações de Controle• Exercício 6: 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 7: 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 8: 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 9: 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 10: 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