























































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Visão Geral de Algoritmos
Tipologia: Notas de estudo
1 / 63
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Prof. José Miranda
(^) O mais famoso algoritmo na história data do tempo dos gregos: (^) Isto é, o algoritmo de Euclides para calcular o múltiplo divisor comum de dois inteiros (^) É também possível considerar certas receitas de pratos como algoritmos, garantindo que eles não incluam instruções como “adicione sal para dar sabor” Quando nós nos organizamos para resolver um problema, é importante decidir qual algoritmo deverá ser usado para sua solução.
A resposta pode depender de muitos fatores: (^) O tamanho do exemplo a ser usado. (^) A maneira ou jeito com que o problema é apresentado (^) A rapidez e o tamanho de memória do equipamento de cálculo disponível, e assim por diante. (^) Realizar um cálculo aritmético elementar como exemplo. (^) Suponha que você tenha de multiplicar dois números inteiros usando somente lápis e papel.
(^) Neste exemplo nós obtemos 19 + 76 + 152 + 608 =855. (^) Embora este algoritmo possa parecer engraçado a priori, ele é essencialmente um método usado no maquinário de muitos computadores. (^) Para usar isso, não há necessidade de memorizar qualquer tabela de multiplicação: tudo que precisamos saber é como adicionar tudo, e como dobrar um número ou dividi-lo por 2. 45 19 19 22 38 --- 11 76 76 5 152 152 2 304 --- 1 608 608 855
(^) Para evitar qualquer confusão, nós especificaremos no futuro nosso algoritmos fornecendo um programa. (^) Todavia, nós não iremos nos confinar ao uso de uma única linguagem de programação específica, por outro lado, podemos abordar diferentes linguagens para depois decidir qualquer mais conveniente para nossas atuais necessidades no tocante a validação de nossos algoritmos. (^) Assim, a figura do laboratório nos dará um teor prático ao longo de toda a disciplina. (^) Dessa maneira, os pontos essenciais de um algoritmo não serão obscurecidos pelos detalhes de programação relativamente irrelevantes. (^) Iremos usar frases do português em nossos programas onde quer que isso pareça favorecer a simplicidade e a clareza.
(^) Essas frases em Português não deverão ser confundidas com comentários no programa. (^) Assim optaremos em sempre colocar os comentários em chaves { }. (^) Declarações de quantidades escalares (inteiro, real, ou Booleano) são geralmente omitidas. (^) Parâmetros escalares das funções e procedimentos são passados por valor pelo menos um especificação diferente é fornecida explicitamente, e as agrupamentos (ARRAY) são passados por referência. (^) A notação usada para especificar que uma função ou um procedimento tem um parâmetro de agrupamento varia de caso a caso. (^) Podemos escrever por exemplo: procedimento proc1 (T: grupo ) ou mesmo procedimento proc2 (T)
Na CPU (processador) existe um conjunto relativamente pequeno de instruções.
Cada tipo de processador tem um conjunto diferente de instruções apesar de similares entre si.
O local de onde as instruções são buscadas pelo processador é a memória.
Essas instruções podem ser desce de operações matemáticas a instruções com os dispositivos de entrada e saída.
INC CONT ; Incrementa a variável de memória CONT MOV TOTAL, 48 ; Transfere o valor 48 para variável de memória TOTAL ADD AH, BH ;Adicinar o conteúdo do registrador BH para o registrador AH AND MASK1, 128 ; Realizar operação AND na variável MASK1 e 128 ADD MARKS, 10 ; Adicionar 10 a variável MARKS MOV AL, 10 ; Transferir o valor 10 para o registrador AL
A palavra ASSEMBLY vem da palavra montar, que podemos também chamar de linguagem de montagem e para executar é usado um programa chamado ASSEMBLER (montador).
A linguagem de montagem é muito próxima da linguagem de máquina e por isso é conhecida como de baixo nível.
Todo o processo de programação e desvio de problemas pode ser sintetizado a seguir