230 likes | 467 Views
Algoritmo e Programação. Tathiana E. Silva (tathiana.sb@gmail.com). Ementa. Algoritmos ► Conceitos ► Representações ► Representação de Dados ► Expressões Aritméticas e Lógicas ► Comandos de Entrada e Saída ► Estruturas de Controle - Condição - Repetição
E N D
Algoritmo e Programação Tathiana E. Silva (tathiana.sb@gmail.com)
Ementa • Algoritmos • ► Conceitos • ► Representações • ► Representação de Dados • ► Expressões Aritméticas e Lógicas • ► Comandos de Entrada e Saída • ► Estruturas de Controle • - Condição • - Repetição • ► Variáveis compostas homogêneas • Programação • ► Linguagem C
Objetivos Desenvolver conhecimentos e habilidades de forma a capacitar os alunos a desenvolver programas em Linguagem Estruturada, especificamente usando a linguagem C. O Engenheiro é um profissional talhado para resolver problemas e normalmente problemas complexos que necessitam de métodos para se chegar a solução. Elaborar um algoritmo pode ser um dos métodos para se buscar a solução.
Aplicação Microprocessadores Programação em Assembler e linguagem de máquina. Controle de servomecanismos e Processos O MatLab ajuda a resolver problemas de engenharia através de programas na linguagem C. Automação Todo equipamento de produção em qualquer segmento tem um mínimo de automação e cabe ao engenheiro propor melhorias de desempenho do equipamento através de um algoritmo e um programa novo, por exemplo com o Ladder.
Bibliografia • Algoritmos • CORMEN, Thomas H. , LEISERSON, Charles E., RIVEST, Ronald L. e STEIN, Clifford, Algorítmos – Tradução da 2ª Edição Americana, Teoria e Prática, Editora Campus • Programação • SCHILDT, Herbert. C completo e total. 3.ed. São Paulo: Pearson education do Brasil, 1997.
Algoritmos x Programação Algoritmoé um conjunto finito de regras, bem definidas, para a solução de um problema em um tempo finito; Programaé um algoritmo codificado (escrito) em uma linguagem de programação (C/C++).
Algoritmos • Algoritmo é uma sequência finita de passos que levam a execução de uma tarefa. Ou seja, uma receita, uma sequência de instruções para uma meta específica. • Ex: chupar uma bala • pegar uma bala • retirar o papel • colocar a bala na boca • jogar papel no lixo
Algoritmos A principal meta da criação de um algoritmo é resolver problemas por meio de soluções lógicas para obter resultados eficientes (corretos) e eficazes (com qualidade). Mas se as soluções não forem bem planejadas (passo a passo), com certeza essa meta não será atingida.
Algoritmos • Abaixo são descritas ações de quem vai a um banco, mas veja se é possível retirar o dinheiro obedecendo a sequência descrita: • Sair do banco • Aguardar a vez de ser atendido • Entrar na fila do caixa • Digitar a senha • Entrar no banco • Informar o valor a ser retirado • Procurar a fila do caixa • Pegar o comprovante do caixa, o cartão e o dinheiro • Entregar o cartão eletrônico ao funcionário que atende no caixa • Conferir o valor em dinheiro
Algoritmos Um algoritmo eficiente deve obedecer as seguintes premissas básicas no momento de sua construção: • Definir ações simples e sem ambiguidade; • Organizar as ações de forma ordenada; • Estabelecer as ações dentro de uma sequência finita de passos.
Algoritmos • Abaixo segue um exemplo simples de algoritmo, para a troca de um pneu furado: • desligar o carro • pegar as ferramentas (chave e macaco) • pegar o estepe • suspender o carro com o macaco • desenroscar os 4 parafusos do pneu furado • colocar o estepe • enroscar os 4 parafusos • baixar o carro com o macaco • guardar as ferramentas
Algoritmos Um algoritmo é capaz de realizar tarefas como: • Ler e escrever dados; • Avaliar expressões algébricas, relacionais e lógicas; • Tomar decisões com base nos resultados das expressões avaliadas; • Repetir um conjunto de ações de acordo com uma condição.
Algoritmos • Segue outro exemplo, para pegar um ônibus, que possui estruturas mais complexas : • ir até a parada • enquanto ônibus não chega faça • esperar ônibus • subir no ônibus • pegar passagem • se não há passagem então • pegar dinheiro • pagar o cobrador • troco = dinheiro - passagem • enquanto banco não está vazio faça • ir para o próximo • sentar • . . .
Programas Um computador é somente capaz de realizar estritamente as tarefas que lhe forem delegadas e que façam parte do conjunto daquelas ações que ele pode executar -> algoritmos. Programas são algoritmos escritos em uma linguagem de programação e que são interpretados e executados por uma máquina.
Linguagem de Programação Linguagem Natural (linguagem com que expressamos nosso raciocínio) Linguagem de Máquina Assembler (linguagem que o computador entende, números binários) Linguagem de Programação (linguagem próxima à natural para descrever comandos ao computador)
Representando Algoritmos • Existem duas principais formas de representação para algoritmos: • Fluxograma • Pseudocódigo
Fluxograma É a apresentação do algoritmo em formato gráfico possibilitando o planejamento da estrutura do programa e facilitando a validação da estrutura planejada. Cada operação a ser executada é representada por um símbolo cuja forma identifica o tipo de processo envolvido.
Pseudocódigo O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de programação de representar um algoritmo. Ela utiliza um conjunto restrito de palavras-chave, em geral na língua nativa do programador, que tem equivalentes nas linguagens de programação.