Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para...

41
CURSO TÉCNICO EM INFORMÁTICA Disciplina: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza E-mail: [email protected] Belém / PA 2017

Transcript of Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para...

Page 1: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

CURSO TÉCNICO EM INFORMÁTICA

Disciplina:

Lógica de Programação

Prof. Luiz Claudio Ferreira de Souza

E-mail: [email protected]

Belém / PA

2017

Page 2: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

Sumário

Introdução à Programação ..................................................................................................... 3

Atividades: ........................................................................................................................ 10

Variáveis e Estrutura Condicional ......................................................................................... 12

Estruturas de Repetição ....................................................................................................... 21

Estrutura Enquanto ..........Faca ........................................................................................ 21

Atividades: ........................................................................................................................ 22

Estrutura Repita ate......... ................................................................................................. 23

Atividades: ........................................................................................................................ 24

Estrutura para.........faca ....................................................................................................... 25

Atividades: ........................................................................................................................ 26

Vetores.................................................................................................................................. 27

ATIVIDADES ....................................................................................................................... 29

Fluxograma ........................................................................................................................... 32

Atividades: ........................................................................................................................ 35

REVISÃO – Questões de Concursos ...................................................................................... 38

Page 3: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

3

Introdução à Programação

Os computadores são equipamentos eletromecânicos que necessitam serem programados

para executarem determinadas tarefas.

Várias linguagens de computadores com suas respectivas sintaxes (na informática, a sintaxe de

cada linguagem de programação é definida com uma gramática formal) foram desenvolvidas

para serem utilizadas para que essas máquinas sigam uma seqüência de passos definidos

logicamente para desenvolvimento de certo objetivo, mas existe a necessidade de requisitos

por parte do programador como habilidades, conhecimentos e qualidades pessoais:

Habilidades Necessárias:

=> Boa comunicação oral;

=> Boa memória;

=> Habilidade em digitar;

=> Boa leitura;

=> Conhecimento da língua estrangeira (Inglês)

Conhecimentos Necessários:

Conhecer linguagens de programação; Conhecer hardware; Conhecer Sistemas Operacionais; Manter-se atualizado com novos métodos e tecnologias e pesquisa de informações on-

line ou em manuais de instrução;

Qualidades Pessoais:

Devem ser metódicos, pacientes, cuidadosos e precisos no trabalho; Sejam pessoas adaptáveis e capazes de trabalhar sob pressão;

Page 4: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

4

Devem saber relacionar-se bem com as pessoas (superiores e subordinados)

As responsabilidades do programador diante de um novo projeto são muitas, entre elas

destacamos:

Discutir a necessidade do cliente; Elaborar as especificações do projeto; Planejar como os programas irão funcionar; Escrever programas; Executar testes nos softwares desenvolvidos; Identificar erros nos programas desenvolvidos (depurações); Preparar Manuais sobre programas; Manter e atualizar programas Construir protótipos;

Com o passar do tempo, as linguagens de programação sofreram evoluções, principalmente na

interação do programador com o computador..

Evolução das linguagens de programação:

Linguagem de Máquina: Instruções escritas em formato binário Linguagem de baixo nível: Associações com linguagem de máquina

Ex: Assembler

Linguagem de médio nível: Utiliza comandos na forma de palavra para descrição de programas. Ex: Linguagem C , Java.

Linguagem de alto nível: Semelhante à linguagem de médio nível, porém não permite acesso a posições de memória via endereço. Ex: Cobol, Fortran, Pascal.

Linguagem de altíssimo nível: Não exige conhecimento de programação para produzir resultados. Seus comandos são poderosos e você especifica o que faz e como faz. Ex: Focal, Mantis

Linguagem Funcional: Orientada à soluções, possui um poderoso repertorio de funções básicas e permite que novas funções sejam acrescentadas. Ex: Apl, Lisp

Algorítmos o que são?

São estruturas lógicas para a resolução de determinado problema

Page 5: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

5

Refinamento:

Podemos deixar um algoritmo mais completo e detalhado, observe o

exemplo abaixo:

Algoritmos não Computacionais: São algoritmos realizados, que não são

desenvolvidos para computadores.

Algoritmos Computacionais: São algoritmos realizados, que são

desenvolvidos para computadores.

Page 6: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

6

Algo que sempre, para quem está iniciando no mundo da programação de

computadores, tem que possuir é disciplina para desenvolver muitos

algoritmos para ter um desenvolvimento satisfatório no que é

fundamental para o desenvolvimento de software, o raciocínio lógico.

Vamos a um exemplo de algoritmos computacional:

Algorítmo para mostrar o nome da nossa cidade

algoritmo "Mostrar"

// Função : Mostrar o nome da cidade

// Autor : Luiz Claudio Ferreira de Souza

// Data : 28/12/2011

// Seção de Declarações

var

inicio

// Seção de Comandos

Escreva("BELÉM-PARÁ-BRASIL")

fimalgoritmo

Algorítmo para soma de dois números

algoritmo "soma de dois números"

// Função : Realiza a soma de dois números

// Autor : Luiz Claudio F. De Souza

// Data : 02/01/2012

// Seção de Declarações

var

A:INTEIRO

B:INTEIRO

R:INTEIRO

inicio

// Seção de Comandos

LEIA (A)

LEIA (B)

R:=A+B

ESCREVA(R)

Page 7: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

7

fimalgoritmo

Explicação sobre a composição do algorítmo acima

// -> é utilizado para comentário dentro do algorítmo

Seção de Declarações -> aqui é realizada a declaração das variáveis

presentes no algorítmo

Tipo Inteiro: para valores inteiros

Real: Para valores com números decimais

caracter: para uso de cadeia de caracteres

início -> local onde se dá o inicio do algorítmo

Leia -> Comando para entrada de dados

Escreva -> Comando para saída de dados

fimalgoritmo -> local onde se dá o fim do algorítmo

Algorítmo soma mais completo e detalhado (Mais Refinado)

algoritmo "soma de dois números mais completo"

// Função : Realiza a soma de dois números Quaisquer

// Autor : Luiz Claudio F. De Souza

// Data : 29/04/2008

// Seção de Declarações

var

A:INTEIRO

B:INTEIRO

R:INTEIRO

inicio

// Seção de Comandos

Escreva("Qual O PRIMEIRO NÚMERO?")

LEIA (A)

ESCREVA("QUAL O SEGUNDO NÚMERO?" )

LEIA (B)

ESCREVA("O VALOR DA SOMA É ---> " )

R:=A+B

ESCREVA(R)

fimalgoritmo

Page 8: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

8

Exemplo de algorítmo que calcula a Média Aritmética entre duas notas

algoritmo "Média entre duas notas"

// Função : Calcula a média aritmética entre duas notas

// Autor : Luiz Claudio F. de Souza

// Data : 29/04/2008

// Seção de Declarações

var

A:REAL

B:REAL

R:REAL

inicio

// Seção de Comandos

ESCREVA ("Qual a primeira nota ----> ")

LEIA (A)

Escreva ("Qual a segunda nota ----> ")

LEIA (B)

Escreva ("Resultado da Média é ----> ")

R:=(A+B)/2

ESCREVA(R)

Fimalgoritmo

Algoritmo para calcular o triplo de um número qualquer

algoritmo "numero ao triplo"

// Função : Determinado numero ao triplo

// Autor : Luiz Claudio Ferreira de Souza

// Data : 28/12/2011

// Seção de Declarações

var

n:inteiro

x:real

inicio

// Seção de Comandos

Escreva("De qual número você deseja o triplo?")

Leia(n)

Page 9: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

9

x:=n*3

Escreva("O triplo do número ",n," é ",x)

Fimalgoritmo

Page 10: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

10

ALGORITMO PARA CONVERSÃO DA ESCALA FAHRENHEIT PARA ESCALA

CELCIUS

algoritmo "Para Celcius"

// Função : Transformacao Entre Escalas

// Autor : Luiz Claudio F. de Souza

// Data : 28/12/2011

// Seção de Declarações

var

tc,tf:real

inicio

Escreva("Forneca a temperatura em Fahrenheit: ")

leia(tf)

tc := (tf-32)*5/9

Escreva("A Temperatura na Escala Celcius é:",tc,"º")

fimalgoritmo

Atividades:

1) O que são algoritmos? E qual a diferença entre algoritmos computacionais e não computacionais?

2) O que é sintaxe da linguagem? 3) E o que é refinar um algoritmo? 4) O que é um programa de computador? 5) O que é Linearização de Expressões? 6) Faça um algoritmo e execute-o no Visualg para mostrar a

média aritmética de 4 notas de um aluno na disciplina Matemática

7) Faça um algoritmo e execute-o no Visualg para mostrar qual idade determinada pessoa alcançará no ano em que estamos

Page 11: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

11

8) Faça um algoritmo e execute-o no Visualg para mostrar qual idade determinada pessoa terá no ano da próxima copa do mundo

9) Faça um algoritmo e execute-o no Visualg para converter determinado valor da moeda norte americana (dólares) para nossa moeda (Real).

10) Faça um algoritmo e execute-o no Visualg para converter determinada temperatura da escala Celcius para Fahrenheit

"Eis um teste para saber se você terminou sua missão na Terra:

se você está vivo, não terminou." (Richard Bach)

Page 12: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

12

Variáveis e Estrutura Condicional

Podemos definir as variáveis como um local utilizado para guardarmos dados. Existindo

basicamente o tipo Inteiro, Real e Caracter

Page 13: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

13

Exemplo: Algoritmo para verificar quem possui maior idade entre duas pessoas

algoritmo "Pessoa com maior idade entre duas"

// Função : Verificar quem é a pessoa de maior idade

// Autor : Luiz Claudio F. de Souza

// Data : 30/04/2016

// Seção de Declarações

var

I1:inteiro

I2:inteiro

N1:caracter

N2:caracter

inicio

// Seção de Comandos

Escreva("Qual o nome da primeira Pessoa? ")

Leia(N1)

Escreva("Qual a idade da PRIMEIRA Pessoa? ")

Leia(I1)

Escreva("Qual o nome da segunda Pessoa? ")

Leia(N2)

Escreva("Qual a idade da SEGUNDA Pessoa? ")

Page 14: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

14

Leia(I2)

Escreva(" ")

Se I1>I2 entao

Escreva(N1," ‚ é a pessoa com maior idade")

Fimse

Se I1<I2 entao

Escreva(N2," ‚ é a pessoa com maior idade")

Fimse

Se I1=I2 entao

Escreva("Pessoas com Idades Iguais")

Fimse

fimalgoritmo

Outro exemplo interessante está no uso da condição para determinar se um aluno está

APROVADO (caso a média aritmética seja maior ou igual a sete) ou em RECUPERAÇÃO (caso

a média aritmética seja menor que sete) em duas avaliações em uma disciplina qualquer.

Conforme algoritmo feito no Visualg baixo:

algoritmo "Aprovado/Recuperação"

// Função : Algorítmo da situação de aprovado ou em recuperação do aluno"

// Autor : Luiz Claudio F. de Souza

// Data : 27/03/2017

// Seção de Declarações

var

A:REAL

B:REAL

R:REAL

NR: REAL

inicio

// Seção de Comandos

Escreva ("Qual a nota da Primeira avaliação? ")

LEIA (A)

Escreva ("Qual a nota da Segunda avaliação? ")

LEIA (B)

R :=(A+B)/2

SE (R >= 7) ENTAO

ESCREVA("ALUNO ESTÁ APROVADO")

Page 15: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

15

FIMSE

SE (R < 7) ENTAO

ESCREVA("ALUNO ESTÁ EM RECUPERAÇÃO")

FIMSE

fimalgoritmo

Abaixo temos um algoritmo que simula uma calculadora com as operações de Multiplicação

e Adição:

algoritmo "Calculadora de 02 números"

// Função : Faz a operação de + ou * entre dois números

// Autor : Luiz Claudio F. de Souza

// Data : 06/05/2008

Page 16: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

16

// Seção de Declarações

VAR

a:Real

b:Real

Result:REAL

OP:Caracter

Inicio

// Seção de Comandos

Escreva ("Qual o PRIMEIRO numero --> ")

Leia (a)

Escreva ("Qual o SEGUNDO numero --> ")

Leia (b)

Escreva ("Qual o operador (+ ou * )? ")

Leia (OP)

Se OP = "*" entao

Escreva ("MULTIPLICACAO => ", (a * b))

fimse

Se OP = "+" entao

Escreva ("SOMA => ", (a+b))

Fimse

Se (OP <> "*") e (OP <> "+") entao

Escreva ("Operador Matematico nao Previsto no Algoritmo")

fimse

fimalgoritmo

Veja a saída do programa:

Page 17: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

17

Abaixo temos o algoritmo para classificar um triângulo em Equilátero, Isóceles ou Escaleno.

algoritmo "Triângulos"

// Função : Determinação do tipo de Triângulo

// Autor : Luiz Claudio

// Data : 29/2/2012

// Seção de Declarações

var

A,B,C:Real

inicio

// Seção de Comandos

Escreva("Digite o tamanho do lado A do triângulo: ")

Leia(A)

Escreva("Digite o tamanho do lado B do triângulo: ")

Leia(B)

Escreva("Digite o tamanho do lado C do triângulo: ")

Leia(C)

Se (A=B) e (B=C) Entao

Escreva ("O triângulo é Equilátero")

Senao

se (A=B) ou (A=C) ou (B=C) Entao

Escreva ("O triângulo é Isóceles")

senao

Page 18: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

18

Escreva ("O triângulo é Escaleno")

Fimse

Fimse

fimalgoritmo

Calculo do Índice de Massa Corpórea (IMC)

Através do índice de massa corporal (IMC), pode-se estimar se uma pessoa está acima do peso

ideal(obesa). A vantagem do uso do IMC é que seu cálculo é simples, rápido e não requer

nenhum equipamento especial, porém, devido a sua simplicidade e por não levar em conta o

porte da pessoa entre outros, não pode ser considerado um meio livre de erros. O IMC

também não pode distingüir as proporções de músculos, gordura, ossos e água no corpo.

Portanto, seu uso não é recomendado para atletas e crianças, por exemplo.

Apesar dessas desvantagens, o índice de massa corporal vem sendo usado pela Organização

Mundial de Saúde como ferramenta para estatísticas sobre obesidade no mundo.

Alguns Links onde você pode realizar o cálculo do IMC:

http://www1.folha.uol.com.br/folha/equilibrio/corpo/2001-calculadora_imc.shtml

http://www.dietaesaude.org/calculo-imc-indice-de-massa-corporal.php

Tabela para Homens e Mulheres do IMC

Abaixo temos o algoritmo para cálculo do IMC para as Mulheres

Page 19: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

19

algoritmo "IMC"

// Função : Cálculo do IMC

// Autor : Luiz Claudio Ferreira de Souza

// Data : 19/1/2011

// Seção de Declarações

var

Sexo:caracter

IMC:Real

Peso:Real

Altura:Real

inicio

// Seção de Comandos

Escreva("Qual seu Peso? ")

Leia (peso)

Escreva ("Qual sua Altura? ")

Leia (Altura)

IMC:=Peso/(Altura^2)

Escreva("Qual o seu Sexo? Masculino (M), Feminino (F)")

Leia(sexo)

Se Sexo = "F" Entao

Se IMC < 19.1 Entao

Escreva("Abaixo do Peso")

fimse

Se (IMC >= 19.1) e (IMC <= 25.8) Entao

Escreva("Peso Normal")

Fimse

Page 20: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

20

Se (IMC > 25.8) e (IMC <= 27.3) Entao

Escreva("Marginalmente Acima do Peso")

Fimse

Se (IMC > 27.3) e (IMC <= 31.1) Entao

Escreva("Acima do Peso Ideal")

Fimse

Se (IMC >= 19.1) e (IMC <= 25.8) Entao

Escreva("Peso Normal")

Fimse

Se IMC > 31.1 Entao

Escreva("Obesa")

Fimse

Fimse

fimalgoritmo

Atividades:

1) Desenvolva um algoritmo para sabermos quem tem menor idade entre duas pessoas.

2) Desenvolva um algoritmo para sabermos quem tem maior idade entre três pessoas.

3) Logo acima temos o algoritmo para cálculo do IMC para as mulheres, note que se você fizer opção

para cálculo do IMC para Homens não funcionará. Complemente o algoritmo para calcular o IMC do

sexo Masculino no mesmo algoritmo.

4) Pesquise e desenvolva um algoritmo e implemente em Visualg para determinar se um triângulo é

Acutângulo, Retângulo ou Obtusângulo .

5) Pesquise e desenvolva um algoritmo para que realize as operações de Adição, Subtração,

Multiplicação, Divisão e Exponênciação.

Page 21: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

21

Estruturas de Repetição

As estruturas de repetição são utilizadas em programação para repetir n vezes determinado

bloco de comandos enquanto uma condição for verdadeira.

Estudaremos três estruturas de repetição em nosso curso:

Estrutura Enquanto ... faca

Estrutura Repita ate ...

Estrutura Para ... Faca

Estrutura Enquanto ..........Faca

Exemplo:

Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o comando

Enquanto....faca

Page 22: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

22

Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se

o comando Enquanto...Faca

Atividades:

1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e

100 em ordem crescente

2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos

entre 70 e 100 em ordem crescente

3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem crescente

4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem decrescente

5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e

-15 em ordem decrescente.

Page 23: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

23

Estrutura Repita ate.........

Outra estrutura de repetição bastante utilizada no mundo da programação dos computadores,

correspondente aos algoritmos está na estrutura Repita ate...

Exemplo 1:

Algorítmo para mostrar os números compreendidos entre 1 e 3 usando-se o comando

repita.....ate

Exemplo 2:

Algorítmo para mostrar os números impares compreendidos entre 1 e 5 usando-se o

comando repita.....ate

Page 24: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

24

Atividades:

Desenvolva as atividades abaixo utilizando a estrutura de repetição Repita ate ...

1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e

100 em ordem crescente.

2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos

entre 70 e 100 em ordem crescente.

3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem crescente.

4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem decrescente.

Page 25: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

25

5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e

-15 em ordem decrescente.

Estrutura para.........faca

Exemplo 1: O Algorítmo abaixo mostra os números compreendidos entre 1 a 10

Page 26: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

26

Exemplo 2: O Algorítmo abaixo mostra os números compreendidos entre dois valores

informados

Exemplo 3: O Algorítmo abaixo mostra os números ímpares compreendidos entre 50 e 1

Atividades:

Desenvolva as atividades abaixo utilizando a estrutura de repetição Para ... Faca

Page 27: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

27

1- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 50 e

100 em ordem crescente.

2- Faça um algoritmo, utilizando o Visualg para mostrar os números Impares compreendidos

entre 70 e 100 em ordem crescente.

3- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem crescente.

4- Faça um algoritmo, utilizando o Visualg para mostrar os números Pares compreendidos

entre 70 e 100 em ordem decrescente.

5- Faça um algoritmo, utilizando o Visualg para mostrar os números compreendidos entre 15 e

-15 em ordem decrescente.

Vetores

Até agora trabalhamos somente com variáveis simples, que nos permitem armazenar um

único valor a cada momento.

Muitas vezes, porém, precisamos usar um grupo de variáveis do mesmo tipo, mas que possam

ser referenciadas pelo conjunto, ou individualmente, com o mesmo nome.

Um exemplo dessa necessidade pode ser visto a seguir, em um pseudocódigo que soma cinco

números e, depois de mostrar o resultado, mostra os números na ordem inversa de leitura.

Page 28: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

28

Imagine, agora, se em vez de cinco, fossem 100 números!

Quando o algoritmo estivesse implementado em alguma linguagem de programação, o

programa ficaria com a escrita imensa, além de ocupar um espaço de memória da máquina

muito grande. Somente a declaração das variáveis tornaria impraticável a redação do

algoritmo.

Um vetor, então, seria considerado uma variável de memória indexada, ou com índices, um

agregado homogênio de ddos, ou seja, um grupo de variáveis do mesmo tipo que recebam o

nome e são individualizados por um índice.

Abaixo temos o algoritmo acima implementado com vetores

Abaixo temos um algoritmo que solicita 5 valores e mostra-os.

Page 29: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

29

ATIVIDADES

1- Para que serve uma variável do tipo vetor? 2- O que é um agregado homogênio de dados? 3- Desenvolva um algoritmo para guardar 10 valores em um vetor de 15 posições e

mostra-los na ordem que foram inseridos 4- Desenvolva um algoritmo para guardar 8 valores em um vetor de 10 posições e

mostra-los na ordem inversa que foram inseridos 5- Desenvolva um algoritmo para guardar 5 valores em um vetor de 10 posições e

mostrar somente os números que estão guardados nas duas últimas posições das cinco primeiras.

Vetores - Aplicação Prática

Uma interessante utilização do uso de vetores está na determinação dos dígitos verificadores

de importantes documentos, como no CPF (Cadastro de Pessoa Física da Receita Federal).

Temos também o dígito verificador no CNPJ (Cadstro Nacional de Pessoas Jurídica), Título

Eleitoral e em outros inúmeros documentos.

Page 30: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

30

No CPF, o DV módulo 11 corresponde ao resto da divisão por 11 do somatório da multiplicação

de cada algarismo da base respectivamente por 9, 8, 7, 6, 5, 4, 3, 2, 1 e 0, a partir da unidade.

O resto 10 é considerado 0 (zero). Veja, abaixo, um exemplo de DV modulo 11 para o CPF

número 280012389;

Page 31: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

31

Algoritmo para determinação do dígito verificador do CPF:

Você pode utilizar os CNPJ para testes:

CNPJ Para testes:

81.162.245/0001-17

Page 32: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

32

74.938.104/0001-88

93.143.577/0001-33

10.441.988/0001-88

Fluxograma

Page 33: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

33

Decisão Simples

Exemplo Prático:

Você enquanto Técnico em Informática, trabalhando em uma empresa de

procedência Americana instalada em nosso país, recebe a tarefa de

desenvolver um algorítmo para controlar as temperaturas dos aparelhos de

ar condicionado da empresa, algorítmo e ste que deve transformar a

temperatura da escala FARENHEIT (Escala termométrica adotada nos

E.U.A) para Celcius (Escala termométrica utilizada e nosso país). Visto que

os aparelhos são de procedência americana, portanto importados e utilizam

a escala termométrica diferente da nossa.

OBS: O algorítmo deve informar, através de mensagem no vídeo, sempre

que a temperatura for maior ou igual a 22º C, menor ou igual a 18º C

, portanto fora da especificação da empresa.

Page 34: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

34

Algorítmo

algoritmo "Para Celcius"

// Função : Transformacao Entre Escalas CELCIUS e FAHRENHEIT

// Autor : Luiz Claudio F. de Souza

// Data : 6/5/2008

// Seção de Declarações

var

tc,tf:real

inicio

Escreva("Forneca a temperatura do ar Condicionado: ")

leia(tf)

tc := (tf-32)*5/9

Escreva("A Temperatura na Escala Celcius é:",tc,"º")

se (tc >= 22) ou (tc <= 18) entao

Escreva (" A Temperatura esta Fora da Especificacao da Empresa")

Senao

Escreva ("A temperatura esta Dentro da Especificacao da Empresa")

fimse

fimalgoritmo

Fluxograma

Page 35: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

35

Atividades:

Atividade 1:

Abaixo temos um algoritmo que faz uso da condicional -> “SE”.

Se o valor da média aritmética da média do aluno for maior ou igual a 7 o aluno estará

aprovado.

Se o valor da média aritmética da média do aluno for menor que 7 o aluno estará em

Recuperação

Faça um fluxograma do Problema em questão

Page 36: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

36

Atividade 2:

Faça um Fluxograma para mostrar quem é o maior entre dois números

Atividade 3:

Você precisa dar um treinamento básico de confecção de fluxogramas com a utilização

do Visio para um grupo de pessoas da área de informática de sua empresa. Elabore um

tutorial básico para utilização do Visio do Pacote Office.

Obs1: As três questões acima poderá ser feita em grupo de até 3 pessoas

0bs2: Não esquecer de colocar os componentes da equipe na atividade

Urna Eletrônica do TRE

Na eleição para governador de 2006, no segundo turno tivemos a disputa entre a Ana

Júlia e Almir Gabriel. As urnas eletrônicas possuem um algoritmo para contabilizar os

votos dos candidatos, muito semelhante ao exposto abaixo:

Page 37: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

37

algoritmo "Urna Eletronica"

// Função : simular o uso da urna eletronica do T.R.E

// Autor : Luiz Claudio F. de Souza

// Data : 11/6/2008

// Seção de Declarações

var

aj,ag,br,nu,opcao:inteiro

inicio

opcao:=99

// Seção de Comandos

Enquanto opcao <> 0 faca

limpatela

escreval("Simulação da Urna Eletrônica do T.R.E")

escreval("*************************************")

escreval("Ana Júlia Carepa -> 13")

escreval("Almir gabriel -> 25")

escreval("Branco -> 3")

escreval("Digite sua opção de voto")

leia (opcao)

se opcao = 13 entao

aj:=aj+1

fimse

se opcao = 25 entao

ag:=ag+1

fimse

se opcao = 3 entao

br:=br+1

fimse

se (opcao <> 13) e (opcao <> 25) e (opcao <> 3) e (opcao <> 0) entao

nu:=nu+1

fimse

fimenquanto

limpatela

escreval ("Boletim da Una - Totalização dos votos")

escreval ("**************************************")

escreval ("**************************************")

escreval ("Ana Julia ->",aj)

escreval ("Almir Gabriel ->", ag)

escreval ("Branco ->",br)

escreval ("nulo ->", nu)

escreval ("***************************************")

fimalgoritmo

ATIVIDADE:

Utilize outra estrutura de repetição qualquer e desenvolva um algoritmo para

fazer simular a próxima eleição, com 5 prováveis candidatos.

Page 38: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

38

REVISÃO – Questões de Concursos

1- Unama – Cea (Companhia de Eletricidade do Amapá) - 2006

2) O que será mostrado, ao analisar o pseudocódigo abaixo?

algoritmo "questao 2"

var j: inteiro

inicio

// Seção de Comandos

j <- 1

repita

escreva (j:3)

j <- j + 1

ate j > 10

fimalgoritmo

a) 10 9 8 7 6 5 4 3 2 1

b) 1 2 3 4 5 6 7 8 9 10

c) 1 3 5 7 9

d) 2 4 6 8 10

3) O que será mostrado, ao analisar o pseudocódigo abaixo?

Page 39: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

39

algoritmo "Questao 3"

var j: inteiro

inicio

// Seção de Comandos

j <- 1

repita

escreva (j:3)

j <- j + 2

ate j > 10

fimalgoritmo

a) 10 9 8 7 6 5 4 3 2 1

b) 1 2 3 4 5 6 7 8 9 10

c) 1 3 5 7 9

d) 2 4 6 8 10

4) O que será mostrado, ao analisar o pseudocódigo abaixo?

algoritmo "Questao 4"

var j: inteiro

inicio

// Seção de Comandos

j <- 2

repita

escreva (j:3)

j <- j + 2

ate j > 10

fimalgoritmo

a) 10 9 8 7 6 5 4 3 2 1

b) 1 2 3 4 5 6 7 8 9 10

c) 1 3 5 7 9

d) 2 4 6 8 10

5) O que será mostrado, ao analisar o pseudocódigo abaixo?

algoritmo "Questão 5"

// Seção de Declarações

var

j: inteiro

inicio

// Seção de Comandos

para j de 49 ate 39 passo -2 faca

escreva (j:3)

fimpara

fimalgoritmo

49 48 47 46 45 44 43 42 41 49 45 43 41 41 42 43 44 45 46 47 48 49 49 47 45 43 41 39

6) Vesticon (Questão adaptada)

Você recebeu a tarefa de automatizar um

cálculo rotineiramente efetuado numa

empresa de engenharia. Após a análise do

Pseudocódigo abaixo, com os valores das

variáveis abaixo:

Page 40: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

40

A1=10, A2=2, D3=3, A4=1, A3=3, B1=5, D2

= 9, D1 = 7

Qual o valor encontrado de X?

algoritmo "Questao 6"

// Seção de Declarações

var

a1: real

a2: real

d3: real

a4: real

a3: real

b1: real

d2: real

d1: real

x: real

inicio

// Seção de Comandos

leia (a1)

leia (a2)

leia (d3)

leia (a4)

leia (a3)

leia (b1)

leia (d2)

leia (d1)

x <- (a1*a2+d3+a4*a3+b1^a2*(d2-d1)-

a4)/b1

escreva ("o Resultado do cálculo é:",x)

fimalgoritmo

11) 15 12) 2371,6 13) 25 14) 6,2 15) 5

Gabarito

Page 41: Lógica de Programação Prof. Luiz Claudio Ferreira de Souza · 2017. 3. 28. · Algoritmo para calcular o triplo de um número qualquer algoritmo "numero ao triplo" // Função

41

Bibliografia

MANZANO J. A. N. G.; OLIVEIRA J. F. O. Algoritmos: lógica para desenvolvimento de programação de

computadores. 14.ed. São Paulo: Érica, 2002.

SEBESTA, ROBERT W. Conceitos de Linguagem de Programação. Porto Alegre: Bookman. 2003.