230 likes | 413 Views
Algoritmo I Aula 002. Pseudocódigo. Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação.
E N D
Algoritmo I Aula 002
Pseudocódigo • Esta forma de representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo. Por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. • Na verdade, esta representação é suficientemente geral para permitir a tradução de um algoritmo nela representado par uma linguagem de programação específica seja praticamente direta.
A forma geral da representação de um algoritmo na forma de Pseudocódigo • Algoritmo <nome_do_algoritmo> • <declaração_de_variáveis> • <subalgoritmos> • Início • <corpo do algoritmo> • Fim • Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. • <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. • <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. • <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. • Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo.
Representação do algoritmo do cálculo da média de um aluno, na forma de um pseudocódigo Algoritmo Calculo_Media Var Real: N1, N2, MEDIA Início Leia N1, N2 MEDIA ← (N1 + N2) / 2 Se MEDIA >= 7 então Mostre “Aprovado” Senão Mostre “Reprovado” Fim_se Fim
Há diversas formas de representação de algoritmos que diferem entre si pela quantidade de detalhes de implementação que fornecem ou, inversamente, pelo grau de abstração que possibilitam com relação à implementação do algoritmo em termos de uma linguagem de programação específica. • Dentre as principais formas de representação de algoritmos destacam-se: • Descrição narrativa. • Fluxograma convencional. • Pseudocódigo (ou linguagem estruturada).
Tipos de Dados • Basicamente existem quatro de tipos de dados. São eles: inteiro, real, caractér e lógico • Inteiro representa todo e qualquer número que pertença ao conjunto dos números inteiros. Na prática são os números positivos e negativos sem partes decimais. Exemplos: 2; -4; 145; -354. • Real representa todo e qualquer número que pertença ao conjunto dos números reais. Na prática são os números positivos e negativos que tem parte decimal. Exemplos: 3,545; -2,6; 0,157. • Caractér é qualquer dado composto por um conjunto de caracteres alfanuméricos. Os caracteres alfanuméricos são os números, as letras e os caracteres especiais (!,@,#,$,%, etc...). Exemplos: 3d; valor1;nome. • Lógico é um tipo de dado que só pode assumir dois valores (0 para Falso e 1 para Verdadeiro, considerando-se a linguagem C).
Constantes e Variáveis • Constante como o nome indica, é um dado que não sofre nenhuma variação durante todo o algoritmo. As constantes do tipo caractér sempre devem ser colocadas entre aspas ("). Exemplo: "Isto é uma constante caractér". • Variável como o nome indica, é um dado que tem a possibilidade de variar, ou seja, ter seu valor alterado durante a execução do algoritmo. As variáveis do tipo caractér sempre devem ser colocadas entre aspas ("). Exemplo: "Isto é uma variável caractér".
Nomeando Constante e Variáveis • Para nomear constantes e variáveis devemos obedecer as seguintes regras: • Os nomes devem começar por um caractere alfabético; • Podem ser constituídos de caracteres alfabéticos ou numéricos; • Não devem conter caracteres especiais; • Não devem ser utilizados nomes reservados da linguagem de programação que se vai usar. • Exemplo: nota, a, b, _casa, ICMS, IRRF, Valor.
Declaração de Variáveis • As variáveis devem ser declaradas antes do seu uso no algoritmo. Declarar uma variável é definir seu tipo e seu nome. • Para a declaração de variáveis usaremos a seguinte sintaxe: TIPO DE DADO: VARIÁVEL1, VARIÁVEL2, ....., VARIÁVELn; • Exemplo: inteiro: a, x, i, casa; real: salario, f; caracter: nome; logico: .V., .F.; • Duas variáveis não devem ter o mesmo nome.
Operadores aritméticos • Operadores aritméticos são os sinais que representam as operações básicas da matemática
Prioridade das operações: • Parênteses mais internos • pot, raiz • *, /, % • +, - • Dentro da mesma prioridade as operações são executadas da esquerda para a direita. • Para alterar a prioridade utilize parênteses.
Operadores relacionais • Operadores relacionais são sinais utilizados para realizar comparações entre dois valores de mesmo tipo. • Os valores comparados podem ser constantes, variáveis ou expressões aritméticas.
O resultado obtido sempre será um valor lógico. • Por exemplo, analisando a operação a + b = c, o resultado será verdadeiro se o valor da expressão aritmética a + b for igual ao conteúdo da variável c. Caso o resultado da expressão a + b seja diferente de c o resultado será falso. • Exemplos: • 2 * 4 = 24 /3 resultado V, pois 2 * 4 = 8 e 24 / 3 = 8; • (14 resto 4) < 1 resutaldo F, pois 14 resto 4 = 2 e 2 não é menor que 1; • (2 + (8 resto 7)) >= 3 resultado V, pois 2 + (8 resto 7) = 2 + 1 = 3 e 3 é maior ou igual a 3.
Operadores lógicos • Os operadores lógicos são sinais usados para montar operações relacionais compostas. São eles: não, e e ou • Exemplo: (notafinal >= 7,0) e (prestacao = V) • O resultado da operação acima será V se a variável "notafinal" for maior ou igual a 7,0 e a variável lógica "prestacao" for igual a V. • Prioridade de execução entre os operadores lógicos • 1. não • 2. e, ou
Prioridade de execução entre todos os operadores • parênteses mais internos • operadores aritméticos • operadores relacionais • operadores lógicos
Comando de atribuição • Este comando atribui um valor a uma constante ou variável. O valor deve ser compatível com o tipo de dado da constante ou variável, ou seja, para uma constante ou variável inteira deve ser atribuído um valor inteiro; para uma constante ou variável real deve ser atribuído um valor real; o mesmo ocorrendo com o tipo caractér e o lógico. • Sintaxe: VARIAVEL VALOR; VALOR pode ser um valor propriamente dito ou uma expressão.Exemplos: x 34; notafinal ((nota1 + nota2 + nota3) / 3); LIGADO .V.; preco 25.15;
Comandos de Entrada e Saída • Para e entrada de dados adotaremos o comando LEIA, cuja finalidade é receber os dados que serão processados. Sua sintaxe é: leia (VARIAVEL); • Para a saída de dados utilizaremos o comando MOSTRE, cuja finalidade é exibir os dados processados. Sua sintaxe é: mostre (VARIAVEL); • Você pode exibir texto juntamente com as variáveis. Para isso coloque o texto entre aspas ("). • Exemplo: caracter nome; leia (nome); mostre ("Seu nome eh: ", nome);
Inserindo comentários no algoritmo • A fim de dar ao seu algoritmo um entendimento melhor por parte de outros leitores, ou até para você mesmo, você deve sempre comentá-lo. Para inserir um comentário utilizaremos os comando /* (barra e asterisco) e */ (asterisco e barra). O que vier escrito entre estes dois comandos deve ser interpretado como comentário e não haverá ação alguma por parte do programa. • Exemplo: preco precobruto + IMPOSTO; /* o IMPOSTO acima deve seguir a alíquota do ICMS. */ mostre ("O preço do produto eh: ", preco);
Blocos de instruções • Um bloco de instruções é um conjunto de comandos com uma função definida. O algoritmo é formado de um ou mais blocos de instruções. O bloco de instruções também define os limites para o conhecimento de constantes e variáveis. Uma constante ou variável definida em um bloco só será conhecida dentro deste. • Para delimitar um bloco utilizamos os comandos início e fim. Exemplo: Inicio inteiro: nota1, nota2; /* declaração das variáveis * / mostre ("Entre com a primeira nota: "); leia (nota1); mostre ("Entre com a segunda nota: "); leia (nota2); mostre ("A soma das duas notas eh: ", (nota1 + nota2)); Fim
Os exercícios estão disponíveis no portal, no arquivo: Aula 002 - Algoritmo I - Lista exercícios 002.doc