prof. rodrigo coral 1 introdução aos algoritmos de programação prof. rodrigo coral programaÇÃo...

44
Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

Upload: sarah-parente

Post on 07-Apr-2016

225 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

Prof. Rodrigo Coral1

Introdução aos algoritmos de programação

Prof. Rodrigo Coral

PROGRAMAÇÃO - PRG

Page 2: Prof. Rodrigo Coral 1 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

Page 3: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 4: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 5: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 6: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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)

Page 7: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 8: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 9: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 10: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 11: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 12: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 13: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

Operadores• Operador Aritmético

13

Operador Operação realizada

+ Soma

- Subtração

* Multiplicação

/ Divisão

% Resto da divisão

+ + Incremento

- - Decremento

Page 14: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 15: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 16: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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)

Page 17: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 18: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 19: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 20: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 21: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 22: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 23: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 24: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 25: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 26: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• 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

Page 27: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• 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

Page 28: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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.

Page 29: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• 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

Page 30: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 31: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

31

Page 32: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 33: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

33

Page 34: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 35: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

35

Page 36: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 37: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

37

Page 38: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• 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

Page 39: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 40: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

40

Page 41: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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

Page 42: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

Declarações de Controle

42

Page 43: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

• Resolução

Declarações de Controle

43

Page 44: Prof. Rodrigo Coral 1 Introdução aos algoritmos de programação Prof. Rodrigo Coral PROGRAMAÇÃO - PRG

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