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 Instruçãoserem 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 • 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 • • 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. 2. 3. 4. 5. 6. 7. 8. 9. Some as duas primeiras notas Some a terceira notas com o resultado da instrução 1 Some a quarta nota com o resultado da instrução 2 Some a quinta nota com o resultado da instrução 3 Divida o resultado da instrução 4 por 5 Se o resultado da instrução 5 for maior ou igual a 6 Aprove o aluno Se o resultado da instrução 5 for menor que 6 Reprove o aluno Tipos de processamento • 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 • 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,...) LINGUAGEM DE DESCRIÇÃO DE ALGORITMO (LDA) 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 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 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. para 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