programação de computadores · 2019. 9. 1. · método para construção de algoritmos •para a...

34
Programação de Computadores Capítulo 2 – Aula 3

Upload: others

Post on 09-Nov-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Programação de ComputadoresCapítulo 2 – Aula 3

Page 2: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

• Definição: conjunto das regras e procedimentoslógicos perfeitamente definidos que levam àsolução de um problema em um número finito deetapas.

• Recebem: um ou mais valores (entrada)

• Geram: um ou mais valores (saída)

Page 3: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Método para construção de Algoritmos

• Para a construção de qualquer tipo de algoritmo,é necessário seguir estes passos:

1. Compreender completamente o problema a ser resolvido, destacandoos pontos mais importantes e os objetos que o compõem.

2. Definir os dados de entrada, ou seja, quais dados serãofornecidos e quais objetos fazem parte desse cenário-problema.

3. Definir o processamento, ou seja, quais cálculos serão efetuadose quais as restrições para esses cálculos. O processamento éresponsável pela transformação dos dados de entrada em dados desaída. Além disso, deve-se verificar quais objetos sãoresponsáveis pelas atividades.

Page 4: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Método para construção de Algoritmos

• Para a construção de qualquer tipo de algoritmo,é necessário seguir estes passos:

4. Definir os dados de saída, ou seja, quais dados serão geradosdepois do processamento.

5. Construir o algoritmo utilizando um dos tipos descritos napróxima seção.

6. Testar o algoritmo realizando simulações.

Page 5: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

1. Compreender completamente o problema a ser resolvido,destacando os pontos mais importantes e os objetos que ocompõem.

• Exemplo: calcular os valores da função de segundo grau dada por:

y = 3x2 + 2x.

2. Definir os dados de entrada, ou seja, quais dados serãofornecidos e quais objetos fazem parte desse cenário-problema.

• Entrada: valores atribuídos à variável X

• Saída: resultado assumido pela variável Y

Page 6: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

3. Definir o processamento, ou seja, quais cálculos serãoefetuados e quais as restrições para esses cálculos. Oprocessamento é responsável pela transformação dosdados de entrada em dados de saída. Além disso, deve-se verificar quais objetos são responsáveis pelasatividades.

• Eleve ao quadrado o valor atribuído a X, multiplique-o por 3 eadicione, a esse resultado, o dobro do valor atribuído a X.

• Atribua o resultado final à variável Y.

Page 7: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

4. Definir os dados de saída, ou seja, quaisdados serão gerados depois do processamento.

• Exiba (escreva) o valor assumido pela variável Y

Page 8: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

• Lembre-se: Todo algoritmo deve ter INÍCIO e FIM.

• Representação:

Linguagem natural (Descrição Narrativa ou passo a

passo)

Fluxograma (Diagrama de Blocos ou esquema)

Pseudocódigo (Português Estruturado)

Page 9: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

• Fluxograma - Símbolos

Page 10: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

AlgoritmosA figura representa umgrafo e apresenta círculosnumerados, representandopontos a serem alcançadose setas com númerosindicando o temponecessário para ir de umponto a outro. Porexemplo, para ir de 2 até5 o tempo necessário é 3.

a) Indique o percurso que consome o menor tempo partindo de 1 para chegar em 8.

b) Apresente um percurso que passe pelo menor número de pontos para, partindo do ponto 1,chegar ao 8.

Page 11: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

Elabore um roteiro do

caminho a ser seguido

para o labirinto ao lado

partindo da seta usando a

marcação feita para as

linhas e colunas.

Exemplo: E1, A1, A4, etc.

Page 12: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

Desenvolva um fluxograma e um pseudocódigo para

ler um nome, endereço e telefone e mostrá-los na

tela.

Page 13: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Algoritmos

Desenvolva umfluxograma e umpseudocódigo paraler um nome,endereço e telefonee mostrá-los natela.

Início

nome

“Entre com o Nome:”

“Entre com o Endereço:”

endereco

“Nome:”, nome“Endereço:”, endereco“Telefone:”, telefone

Fim

nome, endereco,

telefone: caractere

“Entre com o Telefone:”

telefone

A

A

Page 14: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Programa agenda

Var

nome, endereco, telefone : caractere;

Início

Escreva (“Entre com o nome:”);

Leia (nome);

Escreva (“Entre com o endereço:”);

Leia (endereço);

Escreva (“Entre com o telefone:”);

Leia (telefone);

Escreva (“Nome:”, nome);

Escreva (“Endereço:”, endereco);

Escreva (“Telefone:”, telefone);

Fim

Pseudocódigo

Page 15: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Constantes, variáveis ou expressões do mesmo tipo podemser comparadas, através dos operadores indicados na tabelaabaixo.

O resultado destas comparações é sempre um valor lógico,isto é, VERDADEIRO ou FALSO.

= igual

ou <> ou != diferente

< menor

ou <= menor ou igual

> maior

ou >= maior ou igual

Operadores Relacionais

Page 16: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Os operadores lógicos servem para combinar expressões.

Os operadores lógicos são:

E (and)

OU (or)

NÃO (not)

Na maioria das linguagens os operadores lógicos sãousados na sua forma em inglês, ou seja, and, or e not.

Operadores Lógicos

Page 17: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Estes operadores produzem os resultados indicados nastabelas abaixo (Tabela Verdade).

A B A E B A B A OU B A NÃO A

F F F F F F F V

F V F F V V V F

V F F V F V

V V V V V V

Operadores Lógicos

Page 18: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

programa operadores

var

A, B, C, D, N : lógico

início

A falso

B verdadeiro

C A e B

D B ou C

N não(A e B)

fim

Qual será o valor da variável C, D e N?

Operadores Lógicos

Page 19: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

programa operadores

var

A, B, C, D, N : lógico

início

A falso

B verdadeiro

C A e B

D B ou C

N não(A e B)

fim

Qual será o valor da variável C, D e N?

C = falso D = verdadeiro N = verdadeiro

Operadores Lógicos

Page 20: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

1. Desenvolva um fluxograma e um algoritmo para ler a base e aaltura de um retângulo, calcular o seu perímetro e área, eexibir o resultado na tela.

2. Faça um fluxograma e escreva um programa em pseudocódigo paraum algoritmo que leia dois números e exiba a sua soma e o seuproduto.

3. Ler dois valores para as variáveis A e B e efetuar a troca dosvalores das variáveis, de modo que a variável A passe a contero valor de B e a variável B passe a ter o valor de A. Imprimiros dois valores em tela.

Exercícios:

Page 21: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

4. Sendo dados A = 127, B = 10, C = 5, D = falso, E = verdadeiro,qual é o resultado de cada uma das sentenças abaixo?

a) não D

b) D e E

c) (A > B) ou (B < C)

d) não (A < B)

e) (D e E) ou (A = B)

f) (D ou E) e (A < B)

g) (A + B < C) e D ou E e não D

Exercícios:

Page 22: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

5. Determine os resultados que serão impressos depois que oalgoritmo abaixo for executado.

PROGRAMA incognitaVAR

A, B, C : inteiro;D, E : real;F, X, Y : lógico;

InícioA := 7;B := -6;C := 49;D := 13.3;E := 1000.0;F := verdadeiro;X := não ((A B) e (D E) ou F);Y := (C div A > abs(B)) e F;Escreva (X, Y);

Fim

Exercícios:

Page 23: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

1. Desenvolva um fluxograma e um algoritmo para ler a base e aaltura de um retângulo, calcular o seu perímetro e área, eexibir o resultado na tela.

Fluxograma

Exercícios - Respostas

Início

base

“Entre com a Base:”

“Entre com a Altura:”

altura

“O perímetro do retânguloé:”,perímetro“A área do retângulo é:”, area

Fim

base, altura, area, perimetro: real

A

A

perimetro := 2 * (base + altura)area := base * altura

Page 24: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

1. Faça um fluxograma e um pseudocódigo que leia o valor do ladode um quadrado (em cm) e exiba a sua área (em cm2).

Pseudocódigo

Exercícios - Respostas

Programa retanguloVar

base, altura, perimetro, area : real;Início

Escreva (“Entre com a base:”);Leia (base);Escreva (“Entre com a altura:”);Leia (altura);perimetro := 2 * (base + altura);area := base * altura;Escreva (“O perímetro do retângulo é:”, perimetro);Escreva (“A área do retângulo é:”, area);

Fim

Page 25: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

2. Faça um fluxograma e escreva umprograma em pseudocódigo para umalgoritmo que leia dois números eexiba a sua soma e o seu produto.

Fluxograma

Exercícios - RespostasInício

N1, N2

“Digite doisnúmeros:”

“A soma é:”,S, “e o produto é:”,P

Fim

N1, N2, S, P : real

P := N1 * N2

S := N1 + N2

Page 26: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

2. Faça um fluxograma e escreva um programa em pseudocódigo paraum algoritmo que leia dois números e exiba a sua soma e o seuproduto.

Pseudocódigo

Exercícios - Respostas

Programa Soma_e_Produto

Var

N1, N1, S, P: real;

Início

Escreva (“Digite dois números:”);

Leia (N1, N2);

S := N1 + N2;

P := N1 * N2;

Escreva (“A soma é:”, S, “e o produto é:”, P);

Fim

Page 27: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

3. Ler dois valores para as variáveisA e B e efetuar a troca dos valoresdas variáveis, de modo que avariável A passe a conter o valorde B e a variável B passe a ter ovalor de A. Imprimir os doisvalores em tela.

Fluxograma

Exercícios - Respostas Início

AUX AA B

B AUX

Fim

A, B, AUX: real

A

“Digite um valor para A:”

“Digite um valor para B:”

B

A, B

Page 28: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

3. Ler dois valores para as variáveis A e B e efetuar a troca dosvalores das variáveis, de modo que a variável A passe a conter ovalor de B e a variável B passe a ter o valor de A. Imprimir osdois valores em tela.

Pseudocódigo

Exercícios - Respostas

programa trocavar

A, B, Aux : realInício

escreva (“Digite um valor para A:”)leia (A)escreva (“Digite um valor para B:”)leia (B)Aux := AA := BB := Auxescreva (A, B)

Fim

Page 29: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

4. Sendo dados A = 127, B = 10, C = 5, D = falso, E = verdadeiro,qual é o resultado de cada uma das sentenças abaixo?

a) não D = não (falso) = verdadeiro

b) D e E = (falso) e (verdadeiro) = falso

c) (A > B) ou (B < C)

=(127 > 10) ou (10 < 5) = (verdadeiro) ou (falso) = verdadeiro

d) não (A < B) = não (127 < 10) = não (falso) = verdadeiro

Exercícios - Respostas

Page 30: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

4. Sendo dados A = 127, B = 10, C = 5, D = falso, E = verdadeiro,qual é o resultado de cada uma das sentenças abaixo?

e) (D e E) ou (A = B)

= (falso e verdadeiro) ou (127 = 10) = (falso) ou (falso) = falso

f) (D ou E) e (A < B)

= (falso ou verdadeiro) e (127 < 10) = (verdadeiro) e (falso) =falso

Exercícios - Respostas

Page 31: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

4. Sendo dados A = 127, B = 10, C = 5, D = falso, E = verdadeiro,qual é o resultado de cada uma das sentenças abaixo?

g) (A + B < C) e D ou E e não D

= (127 + 10 < 5) e (falso) ou (verdadeiro) e não (falso)

= (137 < 5) e (falso) ou (verdadeiro) e (verdadeiro)

= (falso) e (falso) ou (verdadeiro) e (verdadeiro)

= (falso) ou (verdadeiro)

= verdadeiro

Exercícios - Respostas

Page 32: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

5. Determine os resultados que serão impressos depois que oalgoritmo abaixo for executado.

PROGRAMA incognitaVARA, B, C : inteiro;D, E : real;F, X, Y : lógico;

InícioA := 7;B := -6;C := 49;D := 13.3;E := 1000.0;F := verdadeiro;X := não ((A B) e (D E) ou F);Y := (C div A > abs(B)) e F;Escreva (X, Y);

Fim

Exercícios - Respostas

Calculando o X:= não ((A B) e (D E) ou F)= não ((7 -6) e (13.3 1000.0) ou verdadeiro)= não ((verdadeiro e falso) ou verdadeiro)= não (falso ou verdadeiro)= não (verdadeiro)= falso

Calculando o Y= (C div A > abs(B)) e F= (49 div 7 > abs(-6)) e verdadeiro= (7 > 6) e verdadeiro= verdadeiro e verdadeiro= verdadeiro

Portanto, X = falso e Y = verdadeiro.

Page 33: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Tarefa 1Sala 316: entregar dia

Sala 312: entregar dia

Page 34: Programação de Computadores · 2019. 9. 1. · Método para construção de Algoritmos •Para a construção de qualquer tipo de algoritmo, é necessário seguir estes passos:

Obrigada !