algoritmo e programaÇÃo de computadores prof.: fábio fco. da costa fontes maio / 2009...

60
ALGORITMO E PROGRAMAÇÃO DE ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Universidade Federal Rural do Semiarido Semiarido Departamento de Ciências Exatas e Departamento de Ciências Exatas e Naturais Naturais

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

ALGORITMO E PROGRAMAÇÃO ALGORITMO E PROGRAMAÇÃO DE COMPUTADORESDE COMPUTADORES

Prof.: Fábio Fco. da Costa Fontes

Maio / 2009

Universidade Federal Rural do SemiaridoUniversidade Federal Rural do Semiarido

Departamento de Ciências Exatas e NaturaisDepartamento de Ciências Exatas e Naturais

Page 2: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

É uma seqüência lógica de etapas para se realizar determinada

atividade

Ou

Descrição passo a passo de um processo completo a ser utilizado

na solução de um problema

Algoritmo

Page 3: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exemplo:Processo: Troca de uma lâmpada queimadaAlgoritmo

_ acionar o interruptor;_ se a lâmpada não acender, então:

_ pegar uma escada;_ posicionar a escada embaixo da lâmpada;_ buscar uma lâmpada nova;_ subir na escada;_ retirar a lâmpada queimada;_ colocar a lâmpada nova;_ descer da escada;_ acionar o interruptor;_ enquanto a lâmpada não acender, faça:

_ subir na escada;_ retirar a lâmpada queimada;_ colocar uma lâmpada nova;_ descer da escada;_ acionar o interruptor;

Fim.

Algoritmo

Page 4: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exemplo:Processo: rotina de domingoAlgoritmo do domingo.

Acordar. Tomar o café. Se estiver sol vou à praia senão leio o jornal. Almoçar. Ir ao cinema. Fazer uma refeição. Ir dormir.

Fim do domingo.

Algoritmo

Page 5: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exemplo:Processo: salada do alfaceReceita do alface com molho branco. preparo do molho branco

Coloque numa panela a manteiga, a farinha e o leite e misture bem. Em fogo médio, cozinhe até engrossar. Adicione o sal, a pimenta e o queijo. Continue com a panela no fogo, cozinhando até que o queijo derreta, mexendo constantemente.

preparo da alface Derreta a manteiga. Junte a alface cortada. Salpique o sal e deixe cozinhar por uns 5 a 10 minutos ou até a alface ficar tenra, ou o líquido da panela secar.

juntando os dois Junte ao molho branco e ao suco de limão. Coloque numa travessa e enfeite em volta com pão torrado cortado em triângulos.

Fim da receita do alface com molho branco

Algoritmo

Page 6: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício:

Um homem precisa atravessar um rio com um barco que possui capacidade para carregar, apenas, ele mesmo, e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. Escreva um algoritmo, ou seja, indique todas as ações necessárias para que o homem consiga atravessar o rio sem perder suas cargas.

Algoritmo

Page 7: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Representações de Algoritmos

Descrição NarrativaUso da linguagem natural, como nos nossos exemplos.Existe a inconveniência da má interpretação, originando ambigüidades e imprecisões. Algoritmo afrouxar ligeiramente as porcas; suspender o carro; retirar as porcas e o pneu; colocar o pneu reserva e as porcas; abaixar o carro; dar o aperto final nas porcas.

Fim

Page 8: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Representações de Algoritmos

FluxogramaUso de formas geométricas distintas produzindo ações distintas.Principais figuras: Início ou fim do fluxograma.

Entrada de dados.Cálculo de expressões.

Saída de resultados. Tomada de decisão

Fluxo.

Page 9: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Representações de Algoritmos

Início

m1, m2

m (m1+m2)/2

m >=5 “Aprovado”

“Reprovado”

Fim

Cálculo de uma média aritmética com um teste

Page 10: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Representações de Algoritmos

PseudocódigoUso de linguagem própria, aproximando-se mais das linguagens de alto nível, chamado, também de pseudolinguagem ou ainda portugol. Forma Geral:

Algoritmo <nome do algoritmo> < declaração_de_variáveis >

Início instruçõesFim

Page 11: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Representações de Algoritmos

Algoritmo Media Real: n1, n2, mediaInício Escreva(“Digite as duas notas:”) Leia(n1, n2) media (n1+n2)/2 Se (media >= 5) então

Escreva (“APROVADO”) Senão

Escreva (“REPROVADO”) Fim_seFim

Page 12: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Programação estruturada é a técnica de construir e formular algoritmos de uma forma sistemática.

Utilizado para apresentar as etapas do processo de uma forma padronizada

Programação Estruturada

Page 13: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Comando 1Comando 2 . . .Comando n

Programação Estruturada

Estrutura Sequencial:

Forma Geral

Page 14: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Se <condição > então bloco de Comandos (1)Senão bloco de Comandos (2)Fim se

Programação Estruturada

Estrutura Condicional:

Forma Geral

Page 15: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Enquanto <condição > bloco de Comandos Fim enquanto

Programação Estruturada

Estrutura Repetitiva:

Forma Geral de repetição com teste no início

Forma Geral de repetição com teste no fim

Repita bloco de Comandos Até < condição >

Page 16: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Programação Estruturada

Exercício:

Ler um número real e escrever se é negativo, nulo ou positivo.

Page 17: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Programação EstruturadaResposta:

Algoritmo numero Real: numInício Leia(num) Se (num > o) então

Escreva (“POSITIVO”) Senão

Se (num = o) então Escreva (“NULO”) Senão Escreva (“NEGATIVO”) Fim_se Fim_seFim

Page 18: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

Uma das principais funcionalidades de um computador é a manipulação de informações

Por isso, é necessário que haja formas de se trabalhar com diferentes tipos de dados em um programa.

Page 19: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

Podemos definir um tipo de dados como um conjunto de objetos que tem em comum o mesmo comportamento diante de um conjunto definido de operações

Ex.: Seres humanos: comem, dormem, andam, etc

aviões: voar, decolar, pousar, etc.

Page 20: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

Infelizmente as linguagens de programação são limitadas e não podem manipular todos os tipos de dados existentes no mundo real.

Por isso, a construção de algoritmos para computador deve lidar exclusivamente com os tipos definidos nas linguagens de programação

Page 21: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

Os dados são classificados em:

1 -Numéricos: 1500; -230; 23.4; etc.

O qual divide-se em:

• Inteiros ou número de ponto fixo ( 1500; -230)

• Real ou número de ponto flutuante (23.4; -32.6;

10.0)

Page 22: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

2 - Literais: chamados, também, “alfanuméricos”, “cadeia de caracteres” ou “strings”.

São sempre representados, nos algoritmos, entre aspas.

Ex.: “UFERSA”

“21/03/2006”

Page 23: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Tipos de Dados

3 - Lógicos: chamados, também, booleanos

São oriundos da lógica matemática ou lógica de Boole (Matemático considerado um dos formuladores da lógica matemática).

Representado por apenas dois valores com significados opostos como 1 e 0 ou Verdadeiro (V) e Falso (F).

Page 24: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

Vimos que, tipos são conjuntos que contêm elementos com um comportamento comum.

Entretanto, na maioria das vezes, precisamos utilizar os elementos individualmente.

Ser Humano: João

Carro: placa KKK 3333

Page 25: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

Em um computador, manipulamos informações que, durante a execução de um programa, ficam armazenadas temporariamente em memória.

Essas informações , num nível maior de abstração, são os elementos pertencentes aos tipos.

Variáveis e constantes são repositórios de elementos pertencentes aos tipos.

Page 26: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

Constantes: São valores específicos que não se modificam durante a execução de um algoritmo

A declaração de uma constante é feita da seguinte forma:

Constante <identidicador1> = <valor1>; <identidicador2> = <valor2>; ... <identidicador N> = <valor N>;

Page 27: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

Variáveis: Variável é uma entidade destinada a guardar dados. Estes dados podem variar durante a execução do algoritmo

A declaração de uma variável é feita da seguinte forma:

Var <lista_de_variáveis1> : <tipo1>; <lista_de_variáveis2> : <tipo2>;

ou

<tipo> : <lista_de_variáveis>

Page 28: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

1 Algoritmo 12 inteiro: Contador, resultado;3 Constante num = 6;4 Início5 Leia (contador, resultado)6 enquanto (contador <= 4) faça7 resultado resultado + num8 contador contador + 19 fim_enquanto10 Escrever (“ O resultado é:”resultado)11 Fim

Page 29: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Constantes e Variáveis

1 Algoritmo 12 Var contador, resultado : inteiro;3 Constante num = 6;4 Início5 Leia (contador, resultado)6 enquanto (contador <= 4) faça7 resultado resultado + num8 contador contador + 19 fim_enquanto10 Escrever (“ O resultado é:”resultado)11 Fim

Page 30: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício1 Fazer um algoritmo para ler um nome do teclado

e verificar se é igual ao seu nome. Imprima conforme o caso: nome correto ou nome incorreto.

Algoritmo Nome Var N: caracter; Constante Result = “Fabio”;Inicio Leia (N) Se (N = Result) então Escreva (“nome correto”); Senão Escreva (“nome incorreto”); Fim_seFim

Page 31: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício2 Faça um algoritmo que leia a idade de uma

pessoa e diga-lhe se é maior de idade ou não. Represente o valor que indica maior de idade como uma constante que valerá 18.

Algoritmo Idade Var id: inteiro; Constante limite = 18;Inicio Escreva(“Entre com a idade:”); Leia (id) Se (id > = limite) então Escreva (“é maior de idade”); Senão Escreva (“é menor de idade”); Fim_seFim

Page 32: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício 2Algoritmo Idade Var id: inteiro; maior : booleano; Constante limite = 18;Inicio Escreva(“Entre com a idade:”); Leia (id) Se (id > = limite) então maior V; Senão maior F; Fim_se Se (maior) então Escreva (“é maior de idade”); Senão Escreva (“é menor de idade”); Fim_seFim

Page 33: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício 1 - Sabendo que a relação entre vértices, arestas e faces de um objeto geométrico é dada pela fórmula:

Vértice + faces = arestas + 2

Calcule o número de vértices de um objeto geométrico genérico. A entrada será o número de faces e arestas (dadas por um número inteiro e positivo) e a saída será o número de vértices

2 – Faça um algoritmo que armazene dois números em duas variáveis e que troque os valores das variáveis

Page 34: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício 1 - Resposta:Algoritmo Vertice Var vert, face, aresta: inteiro;Início Escreva (“entre com o número de faces”); Leia (face); Escreva (“entre com o número de arestas”); Leia (aresta); Vert aresta + 2 – face; Escreva (“ O nº de vértices do objeto é:” vert);Fim

Page 35: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício 2 - Resposta:Algoritmo troca-valor Var a, b, aux: inteiro;Início Escreva (“entre com o primeiro número”); Leia (a); Escreva (“entre com o segundo número”); Leia (b); aux a; a b; b aux; Escreva (“ O 1º e 2º nº, consecutivamente, são:” a, b);Fim

Page 36: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

+ adição- subtração/ divisão* multiplicação** potenciaçãodiv divisão inteira. Ex: 5 div 2 = 2 ( o re- sultado é apenas o valor inteiro)mod resto inteiro da divisão. Ex: 5 mod 2 = 1 (o resultado é o res- to da divisão)

Operadores aritméticos

Page 37: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

> Maior que< Menor que= igual>= maior ou igual que<= menor ou igual que<> diferente

Operadores Lógicosnão negaçãoe conjunçãoou disjunção

Operadores Relacionais

Page 38: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

1 - Fazer um algoritmo para determinar se é possível calcular ou não uma raiz quadrada. Caso positivo calcule-a.

Exercício

Page 39: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

1 – Resposta:Algoritmo Raiz-quadrada Var num, raiz: realInicio Escreva (“digite um número”) Leia (num) Se (num >= 0) então raiz num ** 0.5; Escreva (“a raiz quadrada é:” raiz); Senão escreva (“não há raiz quadrada”) Fim-seFim

Exercício

Page 40: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

2 – Fazer um algoritmo que identifique se o número digitado é par ou impar:

Exercício

Page 41: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

2 – Resposta:Algoritmo par-impar Var num: inteiroInicio Escreva (“digite um número”) Leia (num) Se (num mod 2 = 0) então Escreva (“O número é par”); Senão escreva (“O número é impar”) Fim-seFim

Exercício

Page 42: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

3 - Faça um algoritmo que leia 100 números e retorne a soma e a média desses valores

Exercício

Page 43: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Soma-media Var contador: inteiro; valor, soma, media: realInicio contador 0; soma 0; Enquanto (contador < 100) faça Escreva (“entre com um valor:”); leia (valor); soma soma + valor; contador contador + 1; Fim-enquanto media soma / contador; Escreva (“a soma é:” soma); Escreva (“a média é:” media)Fim

Exercício

Page 44: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Soma-media Var contador: inteiro; valor, soma, media: realInicio contador 0; soma 0; Repita Escreva (“entre com um valor:”); leia (valor); soma soma + valor; contador contador + 1; Até (contador = 100) media soma / contador; Escreva (“a soma é:” soma); Escreva (“a média é:” media)Fim

Exercício

Page 45: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Dentre as Estruturas de programação, foram vistas:Estrutura SequencialEstrutura CondicionalEstruturas Repetitivas: Enquanto e Repita

Uma terceira forma de Estrutura Repetitiva é:

Estrutura Repetitiva

Para <var> <início> até <fim> passo <inc> façabloco de comando

Fim_para

Page 46: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Soma-media Var contador: inteiro; valor, soma, media: realInicio contador 0; soma 0; Enquanto (contador < 100) faça Escreva (“entre com um valor:”); leia (valor); soma soma + valor; contador contador + 1; Fim-enquanto media soma / contador; Escreva (“a soma é:” soma); Escreva (“a média é:” media)Fim

Estrutura RepetitivaAlgoritmo Soma-media Var contador: inteiro; valor, soma, media: realInicio soma 0; Para (contador 0 até 99 passo 1) faça Escreva (“entre com um valor:”); leia (valor); soma soma + valor; Fim-para media soma / contador; Escreva (“a soma é:” soma); Escreva (“a média é:” media)Fim

Page 47: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Enquanto: consiste em um teste de condição antes de efetivar a repetição. A saída do laço só ocorre quando a condição se torna falsa.

Repita: Consiste em um teste de condição no final. A saída de um laço repita ocorre quando a condição booleana se torna verdadeira.

Para: Consiste em uma estrutura de repetição cujo processo tem um início e um fim fixo.

Estrutura Repetitiva

Page 48: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

4 - Faça um algoritmo que leia um número inteiro e em seguida calcule e escreva o seu fatorial. Se o número for negativo, informe que o valor é inválido.

Exercício

Page 49: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Fatorial var valor, fat, num: inteiroInicio Escreva (“Entre com um valor:”); Leia (valor); Se (valor < 0) então Escreva (“valor inválido”); Senão fat 1; num valor; Enquanto (num > 1) faça fat fat * num; num num – 1; Fim-enquanto Fim-se Escreva(“O fatorial de” valor “ é igual a:” fat);Fim

Exercício

Page 50: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Fatorialvar valor, fat, num: Inteiro

InícioEscreva (“Entre com um valor:”);Leia(valor);

Se (valor < 0) então Escreva(“Não existe fatorial de número negativo.”);

Senão fat 1; Para (num 2 até valor) faça

fat fat*num; Fim_para Escreva (“Fatorial de” valor “ igual a,” fat);Fim_se

Fim

Exercício

Page 51: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

5 - Escreva um algoritmo para calcular a soma de dez números quaisquer fornecidos pelo usuário. Utilize a estrutura de repetição do tipo “Para”.

Exercício

Page 52: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Soma-10Var Soma, num: real; Cont: int;Início Soma 0; Para ( Cont 1 até 10 ) faça Escreva (“digite o número”); Leia (num); Soma soma + num Fim-para Escreva (“ A soma é:” soma);Fim

Exercício

Page 53: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

6 - Faça um algoritmo que leia três valores que representam os lados de um triângulo. Primeiramente, verifique se os lados podem formar um triângulo (a soma de dois lados não pode ser menor que o terceiro lado). Caso possa formar um triângulo, indique se este é equilátero (três lados iguais), isósceles (dois lados iguais) ou escaleno (três lados diferentes).

Exercício

Page 54: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Triângulo Var a, b, c: int;Início Escreva (“entre com os três lados do triângulo”); Leia (a, b, c); Se ((a + b < c) ou (a + c < b) ou (b + c < a)) então Escreva (“ valores inválidos”); Senão Se ((a = b) e (b = c)) então Escreva (“equilátero”); Senão Se ((a = b) ou (a = c) ou (b = c)) então Escreva (“isósceles”); Senão Escreva (“escaleno”); Fim-se Fim-se Fim-seFim

Page 55: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

7 - Faça um algoritmo que calcule a potenciação. Utilize o operador * quando o expoente for positivo ou nulo e utilize o operador ** quando o expoente for negativo.

Exercício

Page 56: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo Potencia Var result, base, expoente, cont: real;Início Escreva (“entre com a base”); Leia (base); Escreva (“entre com o expoente”); Leia (expoente); Se (expoente < 0) então Result base ** expoente; Senão cont 1; // usa-se as duas barras para colocar comentários

result 1; // no caso de expoente 0, o laço é evitado

Enquanto (cont <= expoente) faça result result * base; cont cont + 1; Fim-enquanto Fim-se Escreva (base, “elevado a”, expoente, “=“, result);Fim

Page 57: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

8 – Dado o algoritmo abaixo:Algoritmo Início Ler (x, y) Z x – y Se (z = 0) então Escrever (x “é igual a “ y) Senão Se (z > 0) então Escrever (x “é maior do que “ y) Senão Escrever (x “é menor do que “ y) Fim_se Fim_se Fim

Represente-o em forma de fluxograma.

Exercício

Page 58: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Exercício Início

Ler X, Y

Z X - Y

Z = 0Escreva (X “é igual a” Y)

Z > 0

F

V

Escreva (X “é maior que” Y)

Escreva (X “é menor que” Y)

V

F

Fim

Page 59: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

9 - Calcular a média aritmética de 4 notas para vários alunos e parar quando aparecer uma nota negativa

Exercício

Page 60: ALGORITMO E PROGRAMAÇÃO DE COMPUTADORES Prof.: Fábio Fco. da Costa Fontes Maio / 2009 Universidade Federal Rural do Semiarido Departamento de Ciências

Algoritmo media var n1, n2, n3, n4, media: reais; Início Escreva ("Informe as quatro notas do aluno: "); Leia (n1, n2, n3, n4); Enquanto (n1 >= 0 e n2 >= 0 e n3 >= 0 e n4 >= 0) faça media = (n1 + n2 + n3 + n4) / 4; Escreva ("a média calculada é: " media);/* Obtenção das notas para os demais alunos */ Escreva ("Informe as quatro notas do aluno: "); Leia (n1, n2, n3, n4); Fim_enquantoFim.

Exercício