Apost Algoritmos Parte2
-
Upload
user-tiesco -
Category
Documents
-
view
216 -
download
0
description
Transcript of Apost Algoritmos Parte2
4 - Desenvolvendo algoritmos
4.1 Pseudocódigo
Os algoritmos são descritos em uma linguagem chamada pseudocódigo (pode ser chamado também de Português Estruturado ou Portugol). Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo Visual Basic, estaremos gerando código em Visual Basic. Por isso os algoritmos são independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo.
O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.
4.2 Regras para construção do Algoritmo
Para escrever um algoritmo precisamos descrever a seqüência de instruções, de maneira simples e objetiva. Para isso utilizaremos algumas técnicas:Usar somente um verbo por fraseImaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informáticaUsar frases curtas e simplesSer objetivoProcurar usar palavras que não tenham sentido dúbio
4.3 Fases
Vimos que ALGORITMO é uma seqüência lógica de instruções que podem ser executadas. É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo:CALCULAR O SALDO FINANCEIRO DE UM ESTOQUE
Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais.
Onde temos:
ENTRADA: São os dados de entrada do algoritmoPROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado finalSAÍDA: São os dados já processados
8
Analogia com o homem
Exemplo de Algoritmo Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunosrealizarão quatro provas: P1, P2, P3 e P4.Onde:Média Final =
Para montar o algoritmo proposto, faremos três perguntas:a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2, P3 e P4
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro)
c) Quais serão os dados de saída?
R: O dado de saída será a média final
AlgoritmoReceba a nota da prova1Receba a nota de prova2Receba a nota de prova3Receba a nota da prova4Some todas as notas e divida o resultado por 4Mostre o resultado da divisão
Teste de MesaApós desenvolver um algoritmo ele deverá sempre ser testado. Este teste é chamado de TESTE DE MESA, que significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não.
Veja o exemplo:Nota da Prova 1Nota da Prova 2
9
Nota da Prova 3Nota da Prova 4Utilize a tabela abaixo:
5 - Tipos de Dados, Constantes e Variáveis
5.1 - Dados e Tipos de dados
Objetivo principal de um computador: é a manipulação de informações ou dados em uma forma codificada.
Os dados podem ser:- vendas mensais de uma loja- nomes e endereços de uma listagem para correio- notas atribuídas em um curso- medidas de uma experiência cientifica- votos de uma eleição - etc...
Basicamente os dados podem ser numéricos e não numéricos. Esta classificação é devido ao armazenamento na memória do computador.
- Numéricos: são dados que representam informações numéricas (inteiros e reais)- Não numéricos: são dados que representam informações não numéricas (alfanuméricos)
Classificação de tipos de dados
Dados Numéricos
Inteiros: correspondem aos números inteiros da aritmética, não tem componentes decimais ou fracionários. Podem ser positivos ou negativos.Exemplos: 13, 7, -6, 208, 7830, -28
Reais: correspondem aos números reais da aritmética e utilizam o “ponto decimal” para serem representados. As frações devem ser armazenadas na forma decimal, pois não existe mecanismo para armazenar o numerador e o denominador. Podem ser positivos ou negativos.Exemplos: 23,8 3738,72 -56,321 -8,910 -7,00
10
DADOS
NUMÉRICO
REAL INTEIRO
CADEIA DE CARACTERES ou “STRING” ouLITERAL
LÓGICO
Dados Não Numéricos
São itens que podem ser armazenados e manipulados por um computador e que são conhecidos como cadeias de caracteres ou Literal ou “strings”. Estas cadeias podem conter caracteres alfabéticos (A, B, C, ..., X, Y, Z, a, b, c, ..., x, y, z), os dígitos numéricos (0, 1, 2, ..., 8, 9), e símbolos especiais ($, %, =, (, >, <, etc). As cadeias de caracteres normalmente são colocadas entre aspas ou apóstrofes.Exemplos:
“São Paulo”“A + B = C - D”‘Processamento de Dados’
Dados Lógicos
São dados que podem expressar dois valores apenas:- verdadeiro ou 1 (um)- falso ou 0 (zero)
Exemplos:CONDIÇÃO = FALSOse CONDIÇÃO é FALSO então para o processamento.
5.2 Constantes
Constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Conforme o seu tipo, a constante é classificada como sendo numérica, lógica e literal.Exemplo de constantes:
5.3 - Variáveis
Em um programa de computador, uma variável é uma entidade que possui um valor. Este valor pode ser alterado ao longo do tempo da execução do programa.
Como na matemática, em programas de computador, o uso de variáveis permite a especificação de uma fórmula geral de cálculo. As variáveis têm nomes para sua identificação e também recebem valores. Na verdade, as variáveis são “apelidos” que atribuímos a certos endereços da memória RAM.
Uma variável pode receber muitos valores diferentes, mas em um dado instante, ela pode ter somente um valor.
5.3.1 - Operação de Atribuição
Uma operação de atribuição é a forma para especificar que a uma variável será dado um valor.
11
A operação de atribuição pode ser indicada pelo símbolo de igual ( = ) ou uma seta para esquerda ( ).Por exemplo, o comando
A 3Indica que à variável de nome A é atribuído o valor 3.
Em termos de componentes de um computador pode-se definir como: “A” representa uma palavra do computador, e após a execução deste comando, a posição de memória de nome “A” conterá um valor igual a 3. Uma vez que uma palavra na memória pode conter somente um valor por vez, o número 3 substitui qualquer outro valor armazenado anteriormente nesta variável. Assim esta operação é uma operação destrutiva.
Então se a sequência de operações:A = 16A = -27A = 1
fosse executada, o valor da variável “A” após as três operações será 1. Os valores 16 e –27 foram destruídos.
5.3.2 - Operações primitivas
A adição e a subtração são representadas na forma usual da matemática, e internamente no computador são realizadas usando “aritmética binária”.
A multiplicação é representada pelo símbolo asterisco ( * ) para evitar confusão com a letra “x”.Exemplos:
36,8 * 2,59A * BX * Y3 * 4
A divisão tem problema notacional, pois normalmente é indicada na forma de um fração. Como todo comando dado a um computador tem que ser representado em uma só linha, então utiliza-se a barra ( / ) para indicar a operação de divisão.Exemplos:
8 / 2A / B4,56 / 1,12
A exponenciação é a quinta operação numérica disponível na maioria das linguagens de programação. O problema notacional é resolvido utilizando o símbolo de uma seta apontada para cima ( ) ou um acento circunflexo ( ^ ) para representar esta operação.Exemplos:
2 4X 2Y ^28 ^2
Prioridade dos operadores Aritméticos
12
PRIORIDADE OPERADOR SIGNIFICADO EXEMPLO1 ^ Exponenciação A^3 = A3
2 - Negação de um valor -A3 * Multiplicação A*B3 / Divisão 8 / 24 + Adição 4+14 - Subtração L-6
As prioridades são as mesmas usuais na matemática comum, devendo ser lembrado que os parênteses ( ) podem ser aplicados para quebrar as prioridades dos operadores, haja visto que expressões entre parênteses são realizadas em primeiro lugar.
5.3.3 - Operadores Especiais (MOD e DIV)
MOD Retorna o resto da divisão entre 2 números inteiros.DIV Retorna o valor inteiro que resulta da divisão entre 2 números inteiros.
5.3.4 - Operadores Relacionais
Os operadores relacionais são normalmente usados nas comparações de valores (variáveis), realizadas nos testes.
OPERADOR SIGNIFICADO EXEMPLO= Igualdade SE A = 3 ENTÃO...<> Diferença SE B <> 0 ENTÃO...< Menor que SE R < 1 ENTÃO... > Maior que SE D > A ENTÃO...<= Menor ou igual SE F <= 10 ENTÃO...>= Maior ou igual SE D >= 5 ENTÃO...
5.3.5 - Operadores Lógicos
Estes operadores, que fazem parte da Álgebra Booleana, também podem ser usados em testes de variáveis e expressões matemáticas.
PRIORIDADE OPERADOR EXEMPLO1 NÃO (NOT) SE NÃO A < B ENTAO...2 E (AND) SE A > 3 E A < 5 ENTAO...3 OU (OR) SE A > B OU A <> 0 ENTÃO...
5.3.6 - FUNÇÕES
Uma função é um instrumento (Sub–algoritmo) que tem como objetivo retornar um valor ou uma informação.
A chamada de uma função é feita através da citação do seu nome seguido opcionalmente de seu argumento inicial entre parênteses.
As funções podem ser predefinidas pela linguagem ou criadas pelo programador de acordo com o seu interesse.
13
BIBLIOTECAS DE FUNÇÕES
Armazenam um conjunto de funções que podem ser usadas pelos programas.
FUNÇÕES PRÉ-DEFINIDAS
ABS( ) VALOR ABSOLUTO X ABS(-8) resultado: X=8SQRT( ) RAIZ QUADRADA X SQRT(25) resultado: X=5SQR( ) ELEVA AO QUADRADO X SQR(3) resultado: X=9TRUNC( ) VALOR TRUNCADO X TRUNC(2,45) resultado: X=2ROUND( ) VALOR ARREDONDADO X ROUND(3,6) resultado: X=4
As funções acima são as mais comuns e importantes para nosso desenvolvimento lógico, entretanto, cada linguagem possui suas funções próprias. As funções podem ser aritméticas, temporais, de texto e etc.
14