Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Algoritmo I, Notas de estudo de Algoritmos

Algoritmo - Algoritmo

Tipologia: Notas de estudo

2010

Compartilhado em 19/08/2010

rodrigo-messias-da-silva-6
rodrigo-messias-da-silva-6 🇧🇷

13 documentos

1 / 17

Documentos relacionados


Pré-visualização parcial do texto

Baixe Algoritmo I e outras Notas de estudo em PDF para Algoritmos, somente na Docsity! 1 Introdução Para ser um bom programador de computadores, independentemente da linguagem de programação, o estudante tem que adquirir uma boa base em lógica de programação, em especial, lógica algorítmica. O conteúdo de lógica de programação é oferecido nos cursos de: tecnologia de com ênfase em informática, engenharias, ciência da computação, física, matemática, geologia, estatística, enfim a qualquer curso que vá utilizar o computador como uma ferramenta para otimizar seus processos. Um dos objetivos deste material é permitir que o estudante desenvolva, gradual e progressivamente algoritmos eficientes para as suas necessidades acadêmicas. O outro objetivo é mostrar ao aluno que um bom entendimento da linguagem algorítmica propiciará um bom recurso para escolher uma linguagem de programação que poderá ser utilizada na sua vida profissional. Neste material foi utilizada uma linguagem(sintaxe) simples, clara e objetiva para aproximar os termos (jargões) da informática à nossa linguagem coloquial. Para isso foram introduzidos alguns conceitos iniciais com intuito de preparar o aluno no uso simbologia e os termos adequados ao tema . O material foi estruturado na seguinte ordem: uma abordagem simples e direta dos conceitos, exemplos, uma carga de exercícios resolvidos e uma outra carga de exercícios propostos. Para um bom entendimento dos conceitos é importante que o aluno tenha paciência e perseverança, pois os resultados só virão após algum tempo de dedicação ao assunto. É recomendável que o aluno só avance para o próximo item quando as dúvidas forem totalmente sanadas. Lembro, também que a consulta a outras fontes faz parte de um melhor aprendizado. Aproveite bem o material. Prof. Msc. Carlos Alberto Bezerra e Silva. Carlos Alberto Bezerra e Silva ­ Algoritmo 2 "A arte de programar consiste na arte de organizar e dominar a complexidade.(Dijkstra)" Carlos Alberto Bezerra e Silva ­ Algoritmo 5 Chaves { } - Utilizado para aumentar a clareza do algoritmo, devem aparecer entre chaves { }. Os comentários não serão processados pelo algoritmo. Exemplo { Este programa foi criado no dia 10/03/2008 por Carlos Alberto} Var Cód, {Código do curso} Nota, {Nota do Aluno} Mat:Numérico, {Matrícula do aluno} Dois pontos igual := - Utilizado para atribuirmos um valor a uma variável Exemplo: Idade:=32; Sexo:=’M’; Peso:=90. Media=(A1+A2)/5; Constantes = - As constantes armazenam valores fixos, que não se alteram durante a execução do algoritmo. Os conjuntos podem assumir valores: numéricos, lógicos e literais, são representadas por identificadores e recebem seus valores por meio do símbolo da igualdade. Identificador_de_constante=constante Exemplo: Ano=2008; Filhos=VERDADEIRO; Bolsa_Estudo=Falso. Identificadores - É formado por uma letra ou uma letra seguida de outras ou dígitos. Não permite-se o uso de espaços ou qualquer outro caractere que não seja letra ou dígito. Exemplo A, X15, Matricula. X-Y, A:B, 5B são inválidos. Carlos Alberto Bezerra e Silva ­ Algoritmo 6 Palavras reservadas - São identificadores que só podem ser usados com um sentido prefixado na linguagem. Também são conhecidos como palavras chaves. As palavras abaixo serão consideradas reservadas neste material. E VETOR INÍCIO CASO CONST DIV FAÇA ATÉ SE NÃO FIM ARQUIVO PARA FUNÇÃO IR PARA SE ALOQUE ETIQUETA MOD NULO NÃO OU PROCEDIEMNTO PROGRAMA DE REGISTRO REPITA CONJUNTO ENTÃO TIPO VAR ENQUANTO COM FECHAR ABRIR ASSINALAR NIL Constantes numéricas. - São formadas por seqüências de dígitos que podem ou não ser precedidos por um sinal positivo(+) ou negativo(-). Eles também podem ser seguidos por um ponto(.) decimal e outras seqüência de dígitos Exemplo 25, +3254, 3.1415, 2.78, -0.5. . Constantes lógicas - São duas e representa-se pelas palavras VERDADEIRO e FALSO. Também são chamadas por booleans. Constantes literais - As constantes literais são representadas pelos caracteres(letras, dígitos ou símbolos) colocados entre apóstrofos(‘’) Exemplo ‘Televisão’, ‘********’, ‘RA9620’, ‘07/03/2008’, ‘H2O’. Variáveis −São representadas por identificadores e podem ser numéricas, lógicas e literais. Ao contrário das constantes as variáveis armazenam valores que podem ser alteradas durante a execução do algoritmo. − Associam um endereço de memória a um nome. Carlos Alberto Bezerra e Silva ­ Algoritmo 7 Utilizando a linguagem algorítmica Os algoritmos devem ser iniciados pela palavra reservadas Algoritmo seguida de um título, este de ponto e vírgula(;) para indicar o final da linha. Logo abaixo devemos adicionar as Declarações das constantes e das variáveis e na seqüência vem o bloco de instruções ou comandos. Exemplo Algoritmo Título_do_algoritmo; Declarações Bloco. O bloco de instruções é formado por comandos entre as palavras reservadas Início e Fim Exemplo Algoritmo Título_do_algoritmo; Declarações Início Comandos; Fim. As variáveis utilizadas nos algoritmos são declaradas, isto é, são identificadas com um nome e indicam os tipos de dados que elas armazenam. As declarações são usadas para validar o uso de qualquer identificador que não seja pré-definido, indicando-se as características da variável que será representada. Todas as variáveis declaradas num bloco, devem ser incluídas numa única declaração da forma: Exemplo Var Lista_de_identificadores: Tipo; Lista_de_identificadores: Tipo; ... Onde: Lista_de_identificadores Representa o Identificador. Tipo Tipo de variavel. Tipos pré-definidos da LINGUAGEM ALGORÍTMICA: NUMÉRICO, LÓGICO, LITERAL A utilização do tipo NUMÉRICO se dará quando quisermos associar o conteúdo da variável a números Inteiros ou Reais. A utilização do tipo LÓGICO se dará quando quisermos associar o conteúdo da variável a uma situação VERDADEIRA OU FALSO. A utilização do tipo LITERAL se dará quando quisermos associar o conteúdo da variável a uma cadeia de caracteres. Carlos Alberto Bezerra e Silva ­ Algoritmo 10 Exercício. Com as declarações abaixo preencha a tabela com V de verdadeiro e F de falso. Var X,Y:Numérico; Nome,Sexo:Literal; X Y Nome Sexo X+Y>=SQRT(Y) Nome<>’Ordicléia’ Sexo=’F’ 4,0 20 'joão' 'M' 6,0 40 'Mario' 'M' 1,5 7 'Ordicléia' 'F' 6,0 2 'Ana' 'F' 5,5 7 'Jeguinaldo' 'M' Conjunção/Disjunção optativa OU - Duas ou mais expressões unidas pelo operador OU formam uma sentença verdadeira se pelo menos uma delas for verdadeira. Exemplo 5 >= 5 OU 3 < 8 é VERDADEIRA 7 = 7 OU 1< 10 é VERDADEIRA 3 <= 1 OU 5 = 8 é FALSO Advérbio de negação NÃO - Retorna o valor lógico oposto ao da expressão Exemplo Não(10 > 8) é FALSO Não(3 = 5) é VERDADEIRA Tabela de prioridade das operações Prioridade Operadores 1 NOT 2 * , / , DIV, MOD , AND 3 + , - , OR 4 = , < > , < , > , >= , <= Pode-se usar diversos níveis de parentêses para dar uma ordem de execução às expressões distintas da tabela acima. Comandos de entrada e saída. - O comando de entrada(input) que será utilizada na nossa linguagem algorítmica tem a seguinte sintaxe: Leia(Lista_de_identificadores); Carlos Alberto Bezerra e Silva ­ Algoritmo 11 Onde, Leia: Lê o valor da variável ou variáveis de uma unidade de entrada de dados como teclado por exemplo. Lista_de_identificadores: Nome das variáveis. O comando de saída(output) da nossa linguagem algorítmica tem a seguinte forma: Escreva(Identificador e/ou constantes e/ou expressões) Onde, Escreva: Escreve o valor da variável ou variáveis de uma unidade de saída de dados como monitor por exemplo Lista_de_identificadores: Nome das variáveis. Constantes: Constantes literais entre apóstrofos(' ') Expressões: Expressões entre vírgulas( , ) Estrutura seqüencial - Os algoritmos que escreveremos terão que iniciar com a palavra reservada ALGORITMO seguido de um título e um ponto e virgula( ; ). Em seguida temos a área de declarações que compreende as instruções que se referem as variáveis e as constantes que serão utilizadas no algoritmo. É importante lembrar que as tais variáveis e as constantes não podem ser declaradas em outro lugar do algoritmo. Após as declarações vem o bloco de instruções que devem iniciar com as palavras INÍCIO seguido das instruções do algoritmo finalizados com ponto e vírgula( ; ) finalizando com a palavra FIM Linguagem algorítmica Fluxograma Algoritmo título; Entre as palavras Início e Fim devem aparecer as instruções para que os dados sejam lidos através do dispositivo de entrada(teclado), processados com as devidas instruções, atribuições, expressões etc e em seguida exibidos no dispositivo de saída(monitor). Carlos Alberto Bezerra e Silva ­ Algoritmo Declarações Var Identificadores: Tipo; Título Var Comandos; Fim. Início Comando 1; Comando 2; ... Coamndo n; Fim. 12 Exemplo. Algoritmo que lê dois números e calcula a média aritmética entre eles. Algoritmo Codificação na linguagem Pascal Algoritmo Media; Var A1,A2,Med:Numérica; Início Escreva('Digite o primeiro número'); Leia(A1); Escreva('Digite o segundo número'); Leia(A21); Med:=(A1+A2)/2; Escreva('A média entre os número é',Med); Fim. Program Media; Var A1,A2,Med:Real; Begin Write('Digite o primeiro número'); Read(A1); Write('Digite o segundo número'); Read(A21); Med:=(A1+A2)/2; Write('A média entre os número é',Med); End. Exercícios resolvidos 01 – Escreva um algoritmo para calcular e exibir a média de três números quiasquer. Algoritmo Media_de_três_Num; Var X, Y, Z, Media:Numérico; Início Escreva(‘Digite três números’); Leia(X, Y, Z); Escreva(‘A média é:’+Media); Fim. 02 – Escreva um algoritmo que realize o cálculo do salário de um funcionário. O salário é baseado no número de salário mínimos, Leia o salário mínimo vigente e o número de salários recebido. Algoritmo Salarios; Var Sal_Min, Num_Sal, Salario:Numérico; Início Escreva(‘Digite o valor do salário mínimo  R$ ’); Leia(Sal_Min); Escreva(‘Digite o número de salários é  ’); Leia(Num_Sal); Salário:=Sal_Min*Num_Sal; Escreva(‘O salário do funcionário é  ’, Salario); Fim. 03 – Escreva um algoritmo que calcule o preço de uma mercadoria dados o seu peso por Quilo. Carlos Alberto Bezerra e Silva ­ Algoritmo 15 Início Escreva(‘Digite um núemero  ’); Leia(Número); Se (Número MOD 2) Então Escreva(‘O número é par !’); Se não Escreva(‘o número é ímpar’); Fim. 7 – faça um algoritmo que leia o salário de uma pessoa e calcule o imposto de renda a ser pago obedecendo a seguinte tabela. Salário Imposto <500 0 >=500 e <800 0,15 >=800 e <1100 0,3 >1100 0,4 Algoritmo Imposto_Salário; Var Salário:Numérico; Início Escreva(‘Digite o valor do salário  ’); Leia(Salário); Se (Salário < 500) Então Escreva(‘Isento de imposto !’); Se não Se (Salário < 800) Então Escreva(‘O imposto é de ’,Salário * 0.15); Se não Se (Salário < 1100) Então Escreva(‘O imposto é de ’,Salário * 0.30); Se não Escreva(‘O imposto é de ’,Salário * 0.40); Fim. Carlos Alberto Bezerra e Silva ­ Algoritmo 16 8 – Escreva um algoritmo que leia três valores numéricos e mostre o menor deles. Algoritmo Menor_três; Var N1,N2,N3, Menor:Numérico; Início Escreva(‘Digite o primeiro valor  ’); Leia(N1); Escreva(‘Digite o segundo valor  ’); Leia(N2); Escreva(‘Digite o terceiro valor  ’); Leia(N3); Se (N1 < N2) E (N1<n3) Então Menor:=N1 Se não Se (N2<N3) Então Menor:=N2; Se não Menor:=N3; Escreva(‘O menor é’,Menor); Fim. 9 – Escreva um algoritmo que receba três valores e informe se os mesmos representam os lados de um triângulo ou não. Caso seja, classifique-os quanto aos lados. Eqüilátero(três lados iguais), isósceles(dois lados iguais) e escaleno(todos os lados distintos) Algoritmo triângulo; Var x,y,z:Numérico; Início Escreva(‘Digite o primeiro valor  ’); Leia(x); Escreva(‘Digite o segundo valor  ’); Leia(y); Escreva(‘Digite o terceiro valor  ’); Leia(z); Se (x< y + z) e (y< x + z) E (z< x +y) Então Se (x = y) E (x = z) Então Escreva(‘O triângulo é eqüilátero’) Se não Se (x = y ) OU (x = z) OU (y =z ) Então Escreva(‘O triângulo é isósceles’) Se não Escreva(‘O triângulo é escaleno’); Se não Escreva(‘Os valores não representam os lados de um triângulo’); Fim. Carlos Alberto Bezerra e Silva ­ Algoritmo 17 10 – Faça um algoritmo que ordene três números fornecidos por uma usuário. Algoritmo números_crescentes; Var x,y,z,aux:Numérico; Início Escreva(‘Digite o primeiro valor  ’); Leia(x); Escreva(‘Digite o segundo valor  ’); Leia(y); Escreva(‘Digite o terceiro valor  ’); Leia(z); Se (x > y) OU (x > z) Então Se (y < z ) Então Início aux:=x; x:=y; y:=aux; Fim Se não Início aux:=x; x:=z; z:=aux; Fim; Se ( y > z ) Então Início aux:=y; y:=z; z:=aux; Fim; Escreva(x , y , z ); Fim. Carlos Alberto Bezerra e Silva ­ Algoritmo
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved