Noções de algoritmos - Aula 1 Departamento de Física UFPel
Definição de algoritmo Sequência ordenada e finita de operações para a realização de uma tarefa. Tarefa: Experimento de Física I. Passo 1: Reunir os equipamentos necessários Passo 2: Montar o aparato experimental. Passo 3: Realizar o experimento. Passo 4: Fazer o relatório do experimento. Passo 5: Entregar o relatório para o professor.
Definição de algoritmo Sequência ordenada e finita de instruções ou operações para a solução de um problema computacional. Tarefa: Calcular a média das idades dos alunos da turma. Passo 1: Ler as idades de cada aluno. Passo 2: Calcular a média das idades. Passo 3: Apresentar o resultado numérico para a média.
Tipos de algoritmos Um algoritmo é representado de 3 formas: 1 Descrição narrativa 2 Pseudocódigo Dois exemplos anteriores... Início DECLARE N1, N2, N3, M NUMÉRICO; LEIA N1, N2, N3; M (N1+N2+N3)/3; ESCREVA "A idade média é: ", M; Fim 3 Fluxograma
Tipos de algoritmos Fluxograma ou Diagrama de Blocos: forma padronizada e gráfica de representação dos passos do algoritmo.
Tipos de algoritmos Fluxograma ou Diagrama de Blocos: forma padronizada e gráfica de representação dos passos do algoritmo.
Notação para o pseudocódigo Num programa de computador temos 2 estruturas básicas: 1 Variáveis e Constantes: espaços reservados na memória do computador para armazenar elementos de um certo conjunto ou tipo de dados. Variáveis: durante a execução do programa, o conteúdo da variável pode mudar; Constantes: o valor de uma constante não muda durante a execução do programa. 2 Expressões: durante a execução, combinam os valores armazenados nas variáveis e constantes para calcular novos valores.
Notação para o pseudocódigo Tipos de dados armazenados nas variáveis e constantes Inteiro:..., 4, 3, 2, 1, 0, 1, 2, 3, 4,... Real:..., 192.291,..., 192.291,... Complexo: identificado pelo par (3, 10), ( 12.3, 29.35), etc. Caractere: definido por um caractere a, b, etc. String: definido pela junção de caracteres, bola, oi, etc. Lógico: informação só pode ser verdadeiro ou falso.
Notação para o pseudocódigo Características dos nomes válidos para variáveis e constantes Podem ser usados números, letras minúsculas e maiúsculas e o caractere underscore. Deve começar por uma letra, maiúscula ou minúscula, ou pelo caractere underscore. Não podem ser usados símbolos como $, #,!,?, &, +,. Não podem ser usados espaços em branco. Não podem ser usadas palavras reservadas da linguagem usada: while, if, etc. Regra de ouro: Use nomes que façam algum sentido!
Notação para o pseudocódigo Declaração de variávei e constantes: DECLARE var1, var2,... TIPO DE DADO; Exemplos: DECLARE i, j, k INTEIRO; DECLARE Nsteps INTEIRO; DECLARE pi, twopi, sqrtpi REAL; DECLARE overlap LÓGICO;
Notação para o pseudocódigo: operadores Os operadores são meios pelos quais se realizam operações sobre as variáveis e constantes, tais como atribuição de valores, incremento, decremento, multiplicação, comparação, etc. 1 Operadores de atribuição. 2 Operadores aritméticos. 3 Operadores relacionais. 4 Operadores lógicos.
Notação para o pseudocódigo: operadores Operadores de atribuição: usados para atribuir valores ou operações a variáveis. x 10; x x + 1; a aula ; overlap falso; x = 10; x = x + 1; a = aula ; overlap = falso;
Notação para o pseudocódigo: operadores Operadores aritméticos: utilizados para operações com valores numéricos entre variáveis e constantes. Operador Símbolo Exemplo Soma + a = b + c Subtração a = b c Produto a = b c Divisão real / a = b/c Divisão inteira DIV a = bdivc Potência ˆ a = bˆc Resto da divisão % a = b%c
Notação para o pseudocódigo: operadores Operadores relacionais: usados na comparação entre valores ou expressões, retornando como resultado um valor lógico. Operador Símbolo Exemplo Igual a == a == b Maior que > a > b Menor que < a < b Maior ou igual a >= a >= b Menor ou igual a <= a <= b Diferente de! = a! = b
Notação para o pseudocódigo: operadores Operadores lógicos: relacionam entre si valores ou expressões lógicas, resultando em valores lógicos. Operador Símbolo Especificação Uma expressão E só é verdadeira se E ou AND && todos os valores das variáveis ou expressões forem verdadeiras. Uma expressão OU só é falsa se OU or OR todos os valores das variáveis ou expressões forem falsos. O operador NÃO inverte o valor da Não ou NOT! expressão ou variável, se verdadeira inverte para falsa e vice-versa.
Construção do algoritmo Algumass estruturas possíveis num algoritmo: 1 Estrutura sequencial 2 Estrutura condicional 3 Estrutura de repetição: PARA 4 Estrutura de repetição: ENQUANTO 5 Estrutura de repetição: REPITA
Construção do algoritmo Estrutura sequencial Fluxograma Pseudocódigo Início DECLARE N1, N2, N3, M NUMÉRICO; LEIA N1, N2, N3; M (N1+N2+N3)/3; ESCREVA "A idade média é: ", M; Fim
Construção do algoritmo Pseudocódigo Principal real N1, N2, N3, M; leia N1, N2, N3; M (N1+N2+N3)/3; se (M >= 18) escreva ("M >= 18"); senão escreva ("M < 18"); Estrutura condicional Fluxograma
Construção do algoritmo Estrutura de repetição: PARA Pseudocódigo Principal inteiro i; para i = 1 até i <= 100 faça escreva, i; Fluxograma Principal inteiro i; para i = 1 até i <= 100 faça Comando 1;...; Comnando N;
Construção do algoritmo Estrutura de repetição: PARA Fluxograma Pseudocódigo Principal inteiro i; real x; x = 0; para i = 1 até i <= 100 faça x = x + i; escreva A soma vale, x;
Construção do algoritmo Estrutura de repetição: ENQUANTO Fluxograma Pseudocódigo Principal real a, b; a = 2; b = 7; enquanto a < b faça a = a + 2; b = b + 1;
Construção do algoritmo Estrutura de repetição: REPITA Fluxograma Pseudocódigo Principal real a, b; a = 1; b = 8; repita a = a + 2; b = b + 1; enquanto a > b
Variáveis compostas: vetores e matrizes Variáveis compostas homogênas: conjunto de variáveis do mesmo tipo, referenciáveis pelo mesmo nome e individualizadas entre si através da sua posição (ou índice) dentro deste conjunto. 1 Vetores: variável composta de apenas um índice. Têm dimensão 1. 2 Matrizes: variável composta com 2 ou mais índices. Têm dimensão 2 ou maior.
Variáveis compostas: vetores Declaração de vetores: DECLARE x[100], y[100], z[100] REAL; Real x[100], y[100], z[100]; Atribuição de valores para vetores: x[1] 0; y[5] 3*y[1]-6*y[90]; soma = 100 i=1 3 2 x[i] soma = 0; para i = 1 até i <= 100 faça soma = soma + 3*x[i]/2; escreva A soma vale, soma;
Exercícios sobre algoritmos Exercício 1 Sejam dois vetores a e b quaisquer, definidos no espaço tri-dimensional. Escreva o pseudocódigo e represente o fluxograma do produto escalar destes dois vetores. As seguintes características deverão ser observadas: 1 Entre com os valores das coordenadas dos dois vetores manualmente. 2 A saída do resultado deverá conter a representação de cada um dos vetores e do seu produto escalar. 3 Use uma estrutura sequencial e outra de repetição.