Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage Introdução à Programação
Construção de Algoritmos Algoritmo é uma seqüência finita de ações que descrevem como um problema pode ser resolvido. Quando obedecem a sintaxe de uma linguagem de programação passamos a chama-la de programa Instrução-Frases que indicam ações a serem executadas.
Qualidades de um algoritmo Perfeitamente definido Descreve com exatidão os passos a serem seguidos Não ambíguo Não deve deixar dúvidas do que tem que ser feito Eficaz Resolve o problema em qualquer situação Eficiente Resolve o problema com mínimos recursos
Tipos de processamento Processamento Seqüencial Processamento Seqüencial As instruções são executadas uma após a outra Exemplo: Obtenha a média entre cinco notas 1. Some as duas primeiras notas 2. Some a terceira notas com o resultado da instrução 1 3. Some a quarta nota com o resultado da instrução 2 4. Some a quinta nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 5
Tipos de processamento Processamento Condicional Processamento Condicional Um conjunto de instruções é executada ou não, dependendo de uma condição verdadeira. Exemplo: Obtenha a média entre cinco notas. Se a média maior ou igual a seis, o aluno esta aprovado, caso contrário, está reprovado. 1. Some as duas primeiras notas 2. Some a terceira notas com o resultado da instrução 1 3. Some a quarta nota com o resultado da instrução 2 4. Some a quinta nota com o resultado da instrução 3 5. Divida o resultado da instrução 4 por 5 6. Se o resultado da instrução 5 for maior ou igual a 6 7. Aprove o aluno 8. Se o resultado da instrução 5 for menor que 6 9. Reprove o aluno
Tipos de processamento Processamento com condição Processamento com condição Conjunto de instruções que será executada um determinado numero de vezes. 1. Para cada aluno da sala 2. Some as duas primeiras notas 3. Some a terceira notas com o resultado da instrução 1 4. Some a quarta nota com o resultado da instrução 2 5. Some a quinta nota com o resultado da instrução 3 6. Divida o resultado da instrução 4 por 5
Variáveis e Expressão Variável Pode receber valores diferentes Operação de atribuição Forma para especificar que a uma variável será dado um valor ( ) Ex.: A 3 Conversões de tipo
Variáveis e Expressão Expressões O lado direito do comando de atribuição pode ser qualquer expressão, onde um expressão é uma combinação de variáveis, constantes e operadores. variável expressão Ex.: A 3+16+8 Obs.: Toda a variável utilizada em uma expressão deverá possuir um valor no momento em que esta expressão é avaliada.
Prioridade dos Operadores Prioridade dos Operadores Durante a execução de uma expressão que envolve vários operadores, é necessário a existência de prioridades, caso contrário poderemos obter valores que não representam o resultado esperado. 1º Efetuar operações embutidas em parênteses "mais internos 2º Efetuar Funções 3º Exponenciação 4º Efetuar multiplicação e/ou divisão 5º Efetuar adição e/ou subtração 6º Operadores Relacionais 7º Operadores Lógicos
Funções Embutidas São rotinas pré escritas, fornecidas pelos projetistas de linguagens de programação para auxiliar o programador na execução de cálculos que requeiram mais do que o conjunto convencional de operadores. ABS- Valor absoluto SQRT- Raiz quadrada TRUNC- Valor truncado ROUND- Valor arredondado LOG- Logaritmo na base e LOG10- Logaritmo base 10 EXP- Exponencial SIN- Seno COS- Co-Seno TAN-Tangente
Comandos de entrada e saída No algoritmo é preciso representar a troca de informações que ocorrerá entre o mundo da máquina e o nosso mundo, para isso, devemos utilizar comandos de entrada e saída, sendo que, a nível de algoritmo esses comandos representam apenas a entrada e a saída da informação, independe do dispositivo utilizado (teclado, discos, impressora, monitor,...), mas, sabemos que nas linguagens de programação essa independência não existe, ou seja, nas linguagens de programação temos comandos específicos para cada tipo de unidade de Entrada/Saída.
Comandos de entrada e saída Comando de Entrada de Dados Leia(variável_1, variável_2,...) Comando de Saída de Dados Imprima(expressão_1, expressão_2,...)
Estrutura um Algoritmo Estrutura um Algoritmo Algoritmo Nome_Do_Algoritmo variáveis Declaração das variáveis Procedimentos Declaração dos procedimentos Funções Declaração das funções Início Corpo do Algoritmo Fim LINGUAGEM DE DESCRIÇÃO DE ALGORITMO (LDA)
Identificadores Representam os nomes escolhidos para rotular as variáveis, procedimentos e funções, normalmente, obedecem as seguintes regras : 1.O primeiro caracter deve ser uma letra 2.Os nomes devem ser formados por caracteres pertencentes ao seguinte conjunto : {a,b,c,..z,a,b,c,...z,0,1,2,...,9,_} 3.Os nomes escolhidos devem explicitar seu conteúdo.
Variáveis Unidades básicas de armazenamento das informações a nível de linguagens de programação. Os tipos de dados e variáveis utilizados dependem da finalidade dos algoritmos, mas, podemos definir alguns, pelo fato de serem largamente utilizados e implementados na maioria das linguagens, sendo estes: INTEIRO : qualquer número inteiro, negativo, nulo ou positivo. REAL : qualquer número real, negativo, nulo ou positivo. CARACTER:qualquer conjunto de caracteres alfanuméricos. LÓGICO : tipo especial de variável que armazena apenas os valores V e F, onde V representa VERDADE e F FALSO
Declaração de variáveis Para que os programas manipulem valores, estes devem ser armazenados em variáveis e para isso, devemos declará-las de acordo com a sintaxe: NomeVariável,... : tipo
Programação I -UFPA Prof.Esp. Armando Hage
Operações Básicas Podem ser: OPERADOR DE ATRIBUIÇÃO NomeDaVariavel Valor ou Expressão Atribuída OPERADORES ARITMÉTICOS- +,-, *, /, Quociente, Resto, Exp (a,b) FUNÇÕES PRIMITIVAS: SEN(x); COS(x); TG(x); ABS(x); INT(x); Raiz(x); PI( );
Operações Básicas OPERADORES RELACIONAIS-São utilizados para relacionar variáveis ou expressões, resultando num valor lógico (Verdadeiro ou Falso), sendo eles:=, <,>, <=, >=, <> OPERADORES LÓGICOS-São utilizados para avaliar expressões lógicas, sendo eles: e - e lógico ou conjunção. ou - ou lógico ou disjunção. não - negação.
Resumo Para resolver um problema por computador 1. Conhecer as especificações do problema 2. Formular um esboço geral do algoritmo 3. Identificar todas as variáveis necessárias 4. Retornar aos passos inicias do algoritmo 5. Rastrear os dados com valores inicias 6. Implementar em uma linguagem de programação