44
Bacharelado em Ciência e Tecnologia Processamento da Informação Algoritmos Computacionais Algoritmos Computacionais Material produzido por professores da UFABC

Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

  • Upload
    doxuyen

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Algoritmos Computacionais

Material produzido por professores da

UFABC

Page 2: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Objetivos

Aprender a sintaxe e a semântica de instruções

de saída e de entrada de dados na “linguagem

PORTUGOL”

Aprender alguns operadores pra uso na parte

de processamento de dados em algoritmos na

linguagem PORTUGOL

Page 3: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

RELEMBRANDO ...

Page 4: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Conceituar Algoritmo

Algoritmos - Relembrando

É uma sequência finita de instruções, ordenada de

forma lógica para a resolução de uma determinada

tarefa ou problema.

Quais as “três” partes de um algoritmo?

Entrada, Processamento e Saída de Dados

Como são compostas as “frases” (instruções) de um

algoritmo? Geralmente por verbos no IMPERATIVO ou INFINITIVO

Page 5: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

1. Pegue a frigideira, ovo, óleo e sal

2. Coloque o óleo na frigideira

3. Acenda o fogo

4. Coloque a frigideira no fogo

5. Espere o óleo esquentar

6. Quebre o ovo

7. Despeje o ovo no óleo quente

8. Coloque o sal

9. Retire quando estiver pronto

10.Desligue o fogo

Algoritmo Exemplo: FRITAR UM OVO

Page 6: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Algoritmos Computacionais:

Técnica para Interpretação de Enunciado

Page 7: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Calcular a média aritmética a partir de 3 notas.

Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?]

média

• Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?]

– 3 notas (nota1, nota2, nota3)

Identificando a solução:

ENTRADA, PROCESSAMENTO, SAÍDA!

Técnica de Interpretação de Enunciado

Page 8: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Calcular a média aritmética a partir de 3 notas.

Qual a PROCESSAMENTO necessário? [para transformar as 3 notas na média?]

Somar as 3 notas

(soma = nota1 + nota2 + nota3)

Dividir a soma por 3

(media = soma / 3)

• O passo seguinte é organizar as “instruções” numa sequência coerente: Entrada, Processamento e Saída

Técnica de Interpretação de Enunciado

Page 9: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Quais as “instruções” necessárias para fazer:

ENTRADA DE DADOS ?

PROCESSAMENTO?

SAÍDA DE DADOS ?

Comecemos pelo mais simples:

SAÍDA DE DADOS

Para começar vamos aprender as instruções

na linguagem “PORTUGOL”

PORTUGOL = “Português” + “Algoritmo”

Escrevendo o Algoritmo

Page 10: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

SAÍDA DE DADOS

Page 11: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

EXIBE UMA MENSAGEM OU RESULTADO PARA O

USUÁRIO NA TELA DO COMPUTADOR.

A instrução para saída de dados em

“PORTUGOL” é:

escreva ( < mensagem>, <identificador>)

EXEMPLO:

• escreva(“Alô Mundo“)

• escreva(“A soma é igual a“, soma)

SAÍDA DE DADOS

Note que a mensagem está entre

ASPAS DUPLAS

Page 12: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

ENTRADA DE DADOS

Page 13: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

INTERAGE COM O “TECLADO” DO COMPUTADOR

OBTENDO INFORMAÇÕES QUE O USUÁRIO DIGITA

A instrução para entrada de dados em

“PORTUGOL” é:

leia (<identificador>)

EXEMPLO:

• leia (nota1)

ENTRADA DE DADOS

Page 14: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

EXEMPLO:

• leia (nota1)

ENTRADA DE DADOS

É sempre recomendado ANTES de um LEIA, emitir

uma mensagem para o usuário indicando o que ele

deve digitar

EXEMPLO:

• escreva (“Digite a primeira nota: “)

• leia (nota1)

Page 15: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

EXEMPLO:

• leia (nota1)

• ATENÇÃO: Qualquer “dado” digitado no teclado precisa ser armazenado na memória do computador!

• Para tal, faz-se necessário a RESERVA DE MEMÓRIA

através de DECLARAÇÃO DE VARIÁVEIS

ENTRADA DE DADOS

Page 16: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

DECLARAÇÃO DE VARIÁVEIS (reserva de memória)

Page 17: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

As linguagens de programação permitem que os usuário atribuam nomes (identificadores) para as posições de memória da máquina

Armário Memória do computador

nome

idade

nacionalidade

profissao

MEMÓRIA – Declaração de Variáveis

Page 18: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Uma variável é um endereço da memória RAM, representada por um identificador (nome da variável), criado pelo usuário, cujo conteúdo pode se alterar no decorrer da execução do programa

nome

Uma variável é composta por dois elementos:

Identificador: nome dado pelo programador à variável

Conteúdo: valor atual da variável

MEMÓRIA – Declaração de Variáveis

Page 19: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

nome

idade

salario

Maria Carla

nome Identificador

17

idade Identificador

1342.50

salario Identificador

• Uma variável assume apenas UM único valor por vez

• Ao alterar o salário, por exemplo, perde-se o valor anterior

conteúdo

conteúdo

conteúdo

MEMÓRIA – Declaração de Variáveis

Page 20: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

17

idade Identificador

• O identificador deve ser uma palavra que reflita o conteúdo

• Por exemplo: idade ao invés de numero

conteúdo

MEMÓRIA – Declaração de Variáveis

17

numero Identificador

conteúdo

Page 21: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

TIPOS

DE DADOS

Page 22: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Ao declarar uma variável é necessário informar ao

computador que tipo de dado aquela “gaveta” pode

armazenar

Os tipos de dados básicos são:

Inteiro - armazena números inteiros

Real - armazena números com casas

decimais

Logico - armazena verdadeiro ou falso

Caracter - armazena UMA letra ou UM

caracter especial, etc.

Cadeia - armazena VÁRIAS letras ou caracteres

Declaração de Variáveis – TIPOS DE DADOS

Page 23: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Os tipos de dados básicos são:

inteiro, real

logico

caracter, cadeia

Forma Geral: <tipo_de_dado> <Identificador>

Declaração de Variáveis – TIPOS DE DADOS

Exemplos:

• inteiro idade

• real nota1, nota2, nota3

• caracter conceito

• cadeia sobrenome

Page 24: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

PROCESSAMENTO OPERADORES BÁSICOS

Page 25: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

O processamento de dados geralmente é

realizado com o uso de operadores

Os símbolos dos operadores aritméticos são:

adição +

subtração -

multiplicação *

divisão /

Processamento - OPERAÇÕES

Exemplos: • nota1 + nota2

• soma / 2

A PRECEDÊNCIA DE OPERADORES É A MESMA

DA MATEMÁTICA:

• Multiplicação e divisão tem prioridade sobre

• Adição e subtração

Assim na expressão 5 + 3 * 2

Primeiro processa 3 * 2 e depois soma com 5

Parênteses mudam a prioridade:

Ou seja, (5+3)*2 faz com que a soma ocorra

primeiro

Page 26: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Um operador importante é o de operador de atribuição

que possibilita armazenar “valores” e “resultados” nas

variáveis

O símbolo do operador de atribuição é = (sinal de igual)

Processamento - OPERAÇÕES

Exemplos: • soma = nota1 + nota2

• media = soma / 2

• conceito = ‘A’

Variáveis

• real nota1, nota2, soma

• caracter conceito

• Lê-se “recebe” (exemplo: conceito “recebe” o valor A)

• Note que sendo “conceito” do tipo caracter é necessário o uso da aspas simples no conteúdo.

Page 27: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

x = a + b

y = (a * 4) + b

z = y / x

k = x / 2

h = x / 2

a

5

b

10

x

15

y

30

z

2.0

Variáveis • inteiro a, b, x, y, k

• real z, h

Exemplo de OPERAÇÕES

k

7 Atenção: Note que k é inteiro e o resultado foi

TRUNCADO (ficando 7 ao invés de 7.5)

h

7.0

Atenção: Note que mesmo h sendo real o

resultado foi TRUNCADO (ficando 7 ao invés

de 7.5) pois tanto x como 2 são INTEIROS.

Page 28: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

RETOMANDO O PROBLEMA

Calcular média de 3 notas

Page 29: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Calcular a média aritmética a partir de 3 notas.

SAÍDA de Dados: Média

ENTRADA de Dados: 3 notas (nota1, nota2, nota3)

Técnica de Interpretação de Enunciado

PROCESSAMENTO:

Somar as 3 notas

(soma = nota1 + nota2 + nota3)

Dividir a soma por 3

(media = soma / 3)

Page 30: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

real nota1, nota2, nota3, soma, media

1. leia (nota1)

2. leia (nota2)

3. leia (nota3)

4. soma = nota1 + nota2 + nota3

5. media = soma / 3

6. escreva (media)

Calcular a média aritmética a partir de 3 notas.

Note que para as operações não é

necessário o uso de um verbo imperativo

SOLUÇÃO: ALGORITMO em PORTUGOL

Page 31: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

real nota1, nota2, nota3, soma, media

1. escreva(“Digite a primeira nota :”)

leia (nota1)

2. escreva(“Digite a segunda nota :”) leia (nota2)

3. escreva(“Digite a terceira nota :”) leia (nota3)

4. soma = nota1 + nota2 + nota3

5. media = soma / 3

6. escreva (“A média é = “, media)

ALGORITMO – Solução mais completa Entrada de Dados com Mensagem para o Usuário

5.0

nota1

6.0

nota2

7.0

nota3

18.0

soma

6.0

media

Page 32: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

SOLUÇÃO NO AMBIENTE

PORTUGOL STUDIO

Page 33: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

O PortugolStudio é um software interpretador de

programas escritos em PORTUGOL

Declaração de

Variáveis

Page 34: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

RESUMINDO...

Page 35: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

• DECLARAÇÃO DE VARIÁVEIS

• Identificador e Tipo de Dados

• Exemplo: inteiro idade

Coisas para não esquecer:

• SAÍDA DE DADOS

• Comando ESCREVA

• Exemplo: escreva (“Digite sua Idade:”)

• ENTRADA DE DADOS

• Comando LEIA

• Exemplo: leia (idade)

Page 36: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

• OPERADORES ARITMÉTICOS

• ARITMÉTICOS: + / - *

• Exemplo: (nota1 + nota2) / 2

Coisas para não esquecer:

• OPERADOR DE ATRIBUIÇÃO

• ATRIBUIÇÃO: =

• Exemplo: media = (nota1 + nota2) / 2

AGORA É PRATICAR!!!

Page 37: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Algoritmos Computacionais – Parte II

Exercícios Resolvidos

Prof. Dr. Edson Pimentel

Centro de Matemática, Computação e

Cognição

Page 38: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Objetivos

Aplicar a técnica de interpretação de

enunciados para a escrita de algoritmos

computacionais em PORTUGOL

Page 39: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Exercícios

Escreva um algoritmo para calcular

a distância entre duas cidades.

Page 40: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Calcular a distância entre duas cidades.

Qual a SAÍDA de Dados? [que resultado o algoritmo deve produzir?]

distancia

• Qual a ENTRADA de Dados? [quais os insumos necessários para produzir a saída?]

(*) Para simplificar considerar que as cidades estão numa mesma rodovia

– Localização das duas cidades(cidade1, cidade2)

Identificando a solução:

ENTRADA, PROCESSAMENTO, SAÍDA!

Page 41: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Calcular a distância entre duas cidades.

Qual a PROCESSAMENTO necessário? [para transformar as duas localizações em distancia?]

Subtrair as duas quilometragens

distancia = cidade2 – cidade1 (*) desconsiderar o sinal negativo caso ocorra

• O passo seguinte é organizar as “instruções” numa sequência coerente: Entrada, Processamento e Saída

Page 42: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

Solução em PORTUGOL

Page 43: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

real cidade1, cidade2, distancia

1. escreva(“Digite a localização (km) da cidade 1:”) leia (cidade1)

2. escreva(“Digite a localização (km) da cidade 2:”) leia (cidade2)

3. distancia = cidade2 – cidade1

4. escreva (“A distancia entre as duas cidade é = “, distancia)

5. escreva (“ATENÇÃO: desconsidere sinal negativo”)

Calcular a distância entre duas cidades.

162

cidade1

267

cidade2

105

distancia

Page 44: Intodução à Programação · Como são compostas as “frases” (instruções) de um algoritmo? ... • O identificador deve ser uma palavra que reflita o conteúdo • Por exemplo:

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Algoritmos Computacionais

AGORA É PRATICAR!!!