dsoft amintas engenharia. algoritmos estruturados unidade 3

34
DSOFT Amintas Amintas engenhari engenhari a a

Upload: internet

Post on 17-Apr-2015

120 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

T

AmintasAmintas

engenhariaengenharia

Page 2: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

T

Algoritmos Estruturados

Unidade 3

Page 3: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Ementa desta Unidade:

3.1 – Conceitos de Algoritmos

3.2 – Tipos de variáveis;

3.3 – Estruturas Condicionais;

3.4 – Estruturas de repetição;

3.5 – Construção de algoritmos;

Page 4: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.1 – Conceitos de Algoritmos

A palavra algoritmo deriva do nome do matemático árabe Mohammed ibu-Musa al-Khowarizm (≈800d.C.).

Algoritmo é a descrição de um padrão de comportamento, expresso em termos de um repertório bem definido e finito de ações “primitivas”, das quais damos por certo que podem ser executadas.

Page 5: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Exemplo: Digamos que uma dona de casa irá dar ordens para sua empregada descascar batatas. A dona de casa passará o seguinte algoritmo para descascar batatas:

“Traga a cesta de batatas do porão”

“Traga a panela do armário”

“Descasque as batatas”

“Devolva a cesta ao porão”

Page 6: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Características de um algoritmo:

Utiliza comandos simples, que não levam a dupla interpretação.

É detalhado o suficiente para que qualquer pessoa o siga sem dificuldade.

É determinístico, ou seja, dadas as mesmas condições de entrada, o algoritmo irá produzir a mesma resposta.

Page 7: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Estrutura de um algoritmo:

Para construirmos um algoritmo, iremos utilizar o Português Estruturado (também chamado de Portugol).

A primeira estrutura de todo algoritmo é:

Algoritmo <NomeDoAlgoritmo>

E a última linha de todo algoritmo é:

Fim Algoritmo

Page 8: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Logo abaixo da primeira linha do algoritmo, devemos esclarecer de forma sucinta o objetivo do algoritmo com um texto entre chaves:

{Objetivo: <Objetivo do Algoritmo>}

Devemos identificar também os parâmetros de entrada do algoritmo, que é o conjunto de valores que ele espera para poder ser executado com sucesso:

Parâmetros de entrada <lista de variáveis>

Page 9: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Finalmente, o último passo antes de passar para a construção do algoritmo é identificar os parâmetros de saída, que é o conjunto de valores entregue pelo algoritmo ao final da sua execução:

Parâmetros de saída <lista de variáveis>

Page 10: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Exemplo da estrutura do algoritmo:

Algoritmo Exemplo

{Objetivo: Mostrar a estrutura de um algoritmo}

Parâmetros de entrada a, b, c

Parâmetros de saída x, y

...

Fim Algoritmo

Page 11: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.2 – Tipos de variáveis

3.2.1 - Variáveis

Dentro de um algoritmo, variáveis correspondem a posições de memória do computador, onde fica armazenado determinado valor. As variáveis são representadas por identificadores que são cadeias de caracteres alfanumérico.

Matrizes e vetores podem ser representados pelos seus elementos através de índices, tais como vetor[i] e matriz[i,j].

Page 12: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Trabalharemos neste curso com somente 4 tipos de variáveis (as linguagens de programação possuem conjuntos enormes de tipos de variáveis, mas podemos dizer que todos são derivados destas quatro primitivas):-Inteiro: Representa os números inteiros;-Real: Qualquer número real (com vírgula);-Caracter: Variáveis que recebem caracteres (letras e números).-Lógico: Recebe valores Falso e Verdadeiro.

Page 13: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Podemos imaginar que variável é o nome de um local onde será armazenado qualquer valor do conjunto de valores suportado pelo seu tipo.

Soma Valor

5,452

Toda variável deve ser declarada no algoritmo antes de ser utilizada com o seguinte comando:

<Tipo da Variável>: <NomeA>, <NomeB>;

Page 14: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.2.2 - Comandos básicos:

Atribuição: Agora que já sabemos como declarar as variáveis que serão usadas em nossos algoritmos, podemos inserir valores nelas com o seguinte comando:

<NomeDaVariável> ← <expressão>;

Onde a expressão pode ser somente um valor ou uma expressão matemática que utiliza outros valores e variáveis.

Page 15: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Expressões aritméticas:

Para representarmos as expressões aritméticas, utilizamos a notação matemática já conhecida, dada na seguinte tabela:Função Descrição Função Descrição

+ Soma - Subtração

* Multiplicação / Divisão

^ Expoente Log10 Logaritmo decimal

Loge Logaritmo natural Raiz2 Raiz Quadrada

Abs Valor absoluto quociente Divisão inteira

Arredonda Arredonda para inteiro Sinal 1 se >0; 0 se =0; -1 se <0

Max Maior valor Resto Resto da divisão

Min Menor valor Trunca Corta casas decimais

Page 16: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Expressões Lógicas:

São expressões cujos resultados são sempre lógicos (Verdadeiro ou Falso), não dependendo do tipo das variáveis ou expressões utilizadas. Existem operadores relacionais e operadores lógicos.

Os operadores relacionais fazem a comparação entre valores não lógicos, retornando um valor lógico e são mostrados na tabela a seguir:

Page 17: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Os operadores lógicos, por outro lado, permitem a combinação de relações cujos resultados sejam lógicos e são:

Operador Descrição Operador Descrição

< Menor ≤ Menor ou igual

> Maior ≥ Maior ou igual

= Igual ≠ Diferente

Operador Descrição

e Conjunção

ou Disjunção

não Negação

Page 18: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

As tabelas abaixo mostram os resultados lógicos para os operadores lógicos.

e ou não aV F

V V F

F F F

V F

V V V

F V F

a V F

F V

Page 19: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.2.3 – Comandos de entrada e saída

Apesar dos parâmetros de entrada e saída serem especificados logo no início do algorit-mo, devemos ler e escrever estes parâmetros no algoritmo para podermos utilizá-los.

O comando para leitura de um ou mais parâmetros é o:

Leia <lista de variáveis>

Onde a lista de variáveis pode conter qualquer parâmetro de entrada.

Page 20: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Quando o algoritmo termina, ele deve exibir os valores calculados, que estarão armazenados nas variáveis dos parâmetros de saída. Para isso, devemos utilizar o comando:

Escreva <lista de variáveis>

Onde a lista de variáveis contém as variáveis dos parâmetros de saída especificados.

Page 21: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.3 - Estruturas Condicionais

O uso de uma estrutura condicional torna possível a escolha dos comandos a serem executados quando uma certa condição é satisfeita ou não. Esta estrutura permite o controle de qual código será executado.

As estruturas condicionais podem ser simples ou compostas.

Page 22: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.3.1 – Estrutura Condicional Simples:

Esta estrutura é utilizada quando temos que decidir pela execução de um trecho do algoritmo e possui a forma:

Se <condição lógica> então

<comandos>

Fim se

Nesta estrutura, o trecho <comandos> só será executado se a <condição lógica> for verdadeira.

Page 23: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.3.2 – Estrutura condicional composta:

Esta estrutura é utilizada quando temos que decidir qual de dois caminhos seguir dentro do algoritmo (somente um dos trechos é executado).

Se <condição lógica> então

<comandos 1>

Senão

<comandos 2>

Fim se

Page 24: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.4 – Estruturas de repetição

Em cálculo numérico, muitas vezes devemos repetir um trecho do algoritmo diversas vezes, até que seja atendida uma condição específica.

Nestes casos, utilizamos as estruturas de repetição, que podem ter número definido ou indefinido de repetições.

Page 25: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.4.1 – Número indefinido de repetições:

Nesta estrutura, não temos idéia do número de vezes que o trecho do algoritmo deverá ser executado. Temos então uma estrutura que irá repetir o trecho do algoritmo até que seja satisfeita uma condição de parada.

Esta estrutura é mostrada a seguir:

Page 26: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Repita

<comandos 1>

se <condição lógica> então

interrompa

fim se

<comandos 2>

Fim repita

<comandos 3>

Page 27: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Na estrutura mostrada, o trecho <comandos 1> é executado e então verifica-se a condição lógica. Se ela for verdadeira, é executado o comando interrompa, que transfere a execução do algoritmo para o trecho <comandos 3>. Se a condição lógica for falsa, o trecho <comandos 2> é executado e em seguida é executado novamente o trecho <comandos 1>. Esta sequência só é quebrada quando a condição lógica for verdadeira.

Page 28: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.4.2 – Número definido de repetições

Quando o número de repetições a ser executado é conhecido, usamos a seguinte estrutura:

Para <controle>←<valor inicial> até <valor final> passo <delta> faça

<comandos>

Fim para

Page 29: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Nesta estrutura, uma variável de controle é utilizada para contar as repetições de valor inicial até valor final, com uma diferença entre valores igual ao passo. Depois de atingido o valor final, a execução do algoritmo continua com os comandos após o “fim para”.

Page 30: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

3.5 – Construção de algoritmos

Com as definições passadas, podemos agora construir algoritmos estruturados através de exemplos.

Exemplo 1: Construa um algoritmo que multiplique um valor por 2.

Page 31: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Resolução:

Algoritmo Dobrar

{Objetivo: Multiplicar um valor por dois}

Parâmetros de entrada: Valor

Parâmetros de saída: Valor_Dobrado

Leia Valor

Valor_Dobrado←Valor * 2

Escreva Valor_Dobrado

Fim Algoritmo

Page 32: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Exemplo 2: Faça um algoritmo que encontre o fatorial de um número.

Algoritmo Fatorial

{Objetivo: Calcular o fatorial de um número}

Parâmetro de entrada: Número

Parâmetro de saída: Fatorial

Leia Número

Inteiro Valor

Fatorial←1

Page 33: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

TAlgoritmos Estruturados

Para Valor ←1 até Número Passo 1 Faça

Fatorial=Fatorial*Valor

Fim para

Escreva Fatorial

Fim Algoritmo

Page 34: DSOFT Amintas engenharia. Algoritmos Estruturados Unidade 3

DS

OF

T

www.matematiques.comwww.matematiques.com.br.br

engenhariaengenharia