Algoritmos Prof. Kelly E. Medeiros.

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Construção de Aplicativos Computacionais METEOROLOGIA
Introdução a Programação
Marco Antonio Montebello Júnior
Desenvolvendo Algoritmos
INTRODUÇÃO – LOGICA E ALGORITMOS
Programação para Geociências
Paradigmas de Linguagens Conceitos Básicos
Algoritmos.
CIC 107 Programação de Computadores I
Lógica de Programação Módulo II
Estruturas de Controle
Universidade Federal do Espírito Santo
Formação interna Coimbra
PRC Bruno Correa.
Introdução a Programação
Professor Fernando Luís
Algoritmos e Estruturas de Dados I Construção de Algoritmos
CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
Processamento da Informação BC-05045
Algoritmos.
O Portal do Estudante de Computação
Lógica de Programação Introdução.
Introdução à Programação
Aula 5 Lógica de Programação Germano Marcos
Lógica e Técnicas de Programação
Introdução Capítulo 1 Lógica de Programação
CEPMAT Curso Técnico em Informática
INTRODUÇÃO – LOGICA E ALGORITMOS
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Algoritmos e Programação de Computadores
A automatização de tarefas é um aspecto marcante da sociedade moderna. O aperfeiçoamento tecnológico alcançado, com respeito a isto, teve como elementos.
Algoritmos e Programação de Computadores
Programação de Computadores
Laboratório I Mateus Raeder Material baseado nos originais da
TÉCNICAS DE PROGRAMAÇÃO
Android Aula 01 Introdução ao Java Humberto Moura
Desenvolvimento Web Lógica de Programação
Como Programar? Dicas para começar a programar bem
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Algoritmo e Estrutura de Dados
Introdução a Algoritmos
Fábio de Oliveira Borges
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Programação de PIC em C Exposição das funções básicas para
Algoritmos e Estrutura de Dados I
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
ENGENHARIA DE CONTROLE E AUTOMAÇÃO COMPUTAÇÃO PARA ENGENHARIA Aula /02/2013 Professor Leomir J. Borba- –
Algoritmo e Programação
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Algoritmos e Programação MC102
Autor: Francisco Airton Professor: André Didier
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Linguagens de Programação
Algoritmos e Programação
Algoritmos e Programação I
Introdução à lógica de programação
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
Linguagens de Programação
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Disciplina: Lógica de Programação
LÓGICA DE PROGRAMAÇÃO Curso: Técnico em Informática Professor: Ronaldo Disciplina: Lógica de Programação.
Introdução a Programação Aula 01 Jackson Eduardo
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Algoritmos – Conceitos Iniciais
Lógica de programação Introdução à lógica de programação
Transcrição da apresentação:

Algoritmos Prof. Kelly E. Medeiros

O segredo para se sair em qualquer disciplina Procurar estar presente na aula Lembre-se que muitos exercícios poderão compor as notas das provas. Se for necessário faltar chegar o conteúdo passado com os colegas de sala; Que façam silêncio durante as explicações e em caso de dúvida em algum assunto ou aula? Pergunte ao professor durante a aula ou envie um e-mail para o e-mail da turma. (delvito.ti@gmail.com) E o mais importante: Praticar, Praticar, Praticar...

Algoritmos Vamos imaginar: “Como os programas de computadores funcionam?” “Como é que o computador faz todas as tarefas exatamente da forma com a qual você pede?”

Algoritmos Para fazer esta interpretação entre homem e máquina, foram desenvolvidas as linguagens de programação. Mas mesmo estas linguagens utilizam uma lógica para serem escritas e é aí que entram os algoritmos.

Algoritmos Um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários para a resolução de uma tarefa. Ele não responde a pergunta “o que fazer?”, mas sim “como fazer”.

Algoritmo Em termos mais técnicos, um algoritmo é uma sequência lógica, finita e definida de instruções que devem ser seguidas para resolver um problema ou executar uma tarefa. Embora você não perceba, utiliza algoritmos de forma intuitiva e automática diariamente quando executa tarefas comuns. Como estas atividades são simples e dispensam ficar pensando nas instruções necessárias para fazê-las, o algoritmo presente nelas acaba passando despercebido.

Por exemplo: Fritar um OVO. Inicio Retirar o ovo da geladeira ou da colmeia de ovos. Colocar a frigideira no fogo Colocar óleo Esperar até o óleo ficar quente Quebrar o ovo separando a casca Colocar o conteúdo do ovo na frigideira Esperar um minuto Retirar o ovo da frigideira e colocar em um prato Apagar o fogo. Fim

Outro exemplo, quando precisa trocar uma lâmpada, você: Início    Verifica se o interruptor está desligado;    Procura uma lâmpada nova;    Pega uma escada;    Leva a escada até o local;    Posiciona a escada;    Sobe os degraus;    Para na altura apropriada;    Retira a lâmpada queimada;    Coloca a lâmpada nova;    Desce da escada;    Aciona o interruptor;      Se a lâmpada não acender, então:          Retira a lâmpada queimada;          Coloca outra lâmpada nova      Senão          Lâmpada acesa, tarefa terminada;    Joga a lâmpada queimada no lixo;    Guarda a escada; Fim

Analisando os exemplos e verificando Tal sequencia é um Algoritmo? Possui uma sequencia de instruções finitas e ordenadas? Resp. Sim, os 2 possuem. O objetivo da sequencia foi atingido? Resp. Sim. O ovo foi frito e a lâmpada trocada. Logo, os 2 são um algoritmo.

Exercitando: Ordene e estruture uma sequencia (Algoritmo) para a realização de uma ligação telefônica em um orelhão. Você usará um cartão para fazer a ligação.

Resposta para o exercício Resposta 1 (simples) Inicio Tirar o fone do gancho. Ouvir sinal de linha Introduzir o cartão Teclar o número desejado Conversar Desligar Tirar o cartão Fim

Resposta para o exercício Resposta 2 (mais robusta) Inicio Tirar o fone do gancho. Ouvir sinal de linha Introduzir o cartão Teclar o número desejado Se chamar e alguém atender Conversar Desligar Retirar o cartão Senão Tirar o cartão Fim

Qual a conclusão que podemos tirar sobre os algoritmos Algoritmos é uma espécie de passo a passo. Algoritmos realizam uma saída (ex. Um ovo frito) a partir de uma entrada (um ovo) através de uma sequência. Os passos tem que ser executados um após o outro. Um algoritmo está correto quando sua sequência de instrução resulta em uma saída esperada. Podem existir um ou mais algoritmos para atingir um resultado, desde que o resultado seja o mesmo.

O algoritmo não é a solução do problema, mas o caminho que leva a solução.

Por que criarmos algoritmos? A linguagem natural não pode ser interpretadas por computadores. Existem linguagens especiais. Computadores são projetados para executar tarefas bem definidas a partir de instruções. Para desenvolver software, utilizamos linguagem de programação A linguagem algorítmica é similar a uma linguagem de programação. Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação.

Como funciona um sistema? Linguagem Natural Português/Inglês Instruções Alto nível Código – fonte em Linguagem de programação Adaptação Algoritmo Compilação Baixo nível tradução 001000010100 Linguagem de máquina

Fluxogramas Os fluxogramas ou diagramas de bloco são: Forma gráfica para representar os passos lógicos de um determinado algoritmo. Com o diagrama pode-se definir e facilitar a visualização dos passos em um problema.

Fluxogramas (representação de um algoritmo) Descrevem o fluxo de ação de um determinado trabalho lógico; Usa símbolos convencionais, permitindo poucas variações; Representado por símbolos geométricos

Entendo as formas do fluxograma convencional (deve-se saber bem o que é cada símbolo dentro de um fluxograma) então anotem.

Exemplo:

Analisando algoritmo e criando o fluxograma Algoritmo media Var nota1, nota2, media de Real; Inicio nota1<=5; nota2<=7; media <=(nota1+nota2)/2; Mostrar media; Fim

Fluxograma do algoritmo da média montado:

Estrutura de Dados O computador só conhece os valores que estão armazenados na sua memória. Portanto, a maioria das instruções está, de certa forma, associada ao processo de armazenamento ou transformação desses valores. Na concepção de algoritmos, pode-se considerar: 1. Memória  Conjunto de posições 2. Cada posição recebe uma identificação(nome) e armazena um valor. Identificador Idade Nome Média Valor 18 “João” 2,5

Estrutura de Dados As posições de memória sempre armazenam um valar e seguem as seguintes premissas: 1. Se armazenamos um novo valor em uma posição, o seu valor antigo será perdido; 2. Se nenhum valor for atribuído a uma determinada posição, esta possui um “lixo” (as posições nunca estão vazias)

Estrutura de Dados - Identificador Idade Nome Média Valor 18 “João” 2,5 É o nome de uma posição na memória; É definido pelo programador; Recomenda-se o uso de nomes significativos. Ex: IDADE, NOME, VLR_SALARIO Contra-Ex: X1, KCP, VAR_1, VAR_2 Regras para definição de identificadores 1. Deve começar com uma letra; 2. Pode conter letras, números e caracteres especiais.

Estrutura de Dados - Identificador Idade Nome Média Valor 18 “João” 2,5 É o nome de uma posição na memória; É definido pelo programador; Recomenda-se o uso de nomes significativos. Ex: IDADE, NOME, VLR_SALARIO Contra-Ex: X1, KCP, VAR_1, VAR_2 Regras para definição de identificadores 1. Deve começar com uma letra; 2. Pode conter letras, números e caracteres especiais.

Estrutura de Dados – Constantes e Variáveis Constantes: Representam valores que não mudam no decorrer do algoritmo: Ex: “O nome é:”, PI, Polegada, etc. Variáveis: Representam dados cujos valores são modificados ao longo da execução do algoritmo.

Tipos de Estrutura de dados Estrutura de dados homogênea (Vetores e Matrizes) Vetores: Estrutura que suporta N posições de um mesmo tipo de dado, cada um com seu respectivo valor. Ex. char[1...100]: string Matrizes: estrutura que suporta NxM posições de um mesmo tipo de dados, cada uma com seu respectivo valor. Ex: int[1..10, 1..10]: matriz_identidade;

Tipos de Estrutura de dados Estrutura de Dados Heterogênea Registros: estrutura que suporta K variáveis, cada qual com um tipo de dado próprio. Ex: registro{ char[1..100]: nome; int: idade; real: salario; }: cadastro

Tipos de Estrutura de dados As duas estruturas apresentadas podem ser combinadas de modo a formar estruturas complexas de dados.

Estrutura Geral de um Algoritmo Algoritmo_NomeAlgoritmo Declaração de variáveis e constantes globais Inicio Bloco de comando Fim Fim_algoritimo

Comandos Básicos do Algoritmo Declaração de Variáveis Define os locais na memória que serão rotulados com o identificador da variável que será utilizada para a manipulação de um determinado tipo de dado. Nenhuma variável pode ser usada sem antes ter sido declarada. Ex: Variáveis: <tipo_do_dado> Tipo_do_dado  tipos primitivos (inteiro, real, caracter e lógico) ou tipos estruturados (vetores, matrizes e registros)

Comandos Básicos do Algoritmo Comentários Comentários não são comandos, mas são muito importantes para a documentação e entendimento dos algoritmos e programas de computador. São compostos por textos explicativos em linguagem natural delimitados entre /* e */ Ex. /* Esse algoritmo calcula a media de 3 notas */

Comandos Básicos do Algoritmo Comandos de Entrada e Saída São utilizados para obter a entrada ou fornecer a saída ide informações ao usuário durante a execução do algoritmo. Sintaxe: Leia Mostre Ex. Leia (N1, N2, N3) Mostre( “A média final é: “, (N1+N2+N3)/3);

Comandos Básicos do Algoritmo Comandos de Atribuição Similar ao sinal de igual das expressões matemáticas convencionais, este comando atribui à variável da esquerda o valor da expressão da direita. Sintaxe: Variável ← expressão; Ex: Nome ← “fulano”;

Comandos Básicos do Algoritmo Tipos de operadores Relacionais: =(igual), <>(diferente), >(maior que), <(menor que), >=(maior igual que), e <=(menor igual que); Lógicos: and, or Aritméticos: + (soma), -(subtração), *(mutiplicação), /(divisão) e ^(exponenciação).

Comandos Básicos do Algoritmo Tipos de Funções: abs(X): obtém o valor absoluto de X; sqrt(X): calcula a raiz quadrada de X; log(X): calcula o logaritmo de X; mod(X,Y): obtém o resto da divisão de X por Y; trunca(X): obtém a parte inteira de X; round(X): arredonda o valor de X; sen(X): calcula o valor do seno de X; cos(X): calcula o valor do cosseno de X; tan(X): calcula o valor da tangente de X.

Primeiro Algoritmo Ler a 2ª nota; Somar as 2 notas; Calcular a média de 2 notas: Algoritmo media Inicio Ler a 1ª nota; Ler a 2ª nota; Somar as 2 notas; Dividir a soma das notas por 2; Mostrar o resultado; Fim

Quando compilado no computador 5 8 6,5

Algoritmo Media. Calcular a média de 2 notas: Algoritmo media Var nota1, nota2, media de real; Início Mostrar: “Digite a 1ª nota.”; Ler a 1ª nota; Mostrar: “Digite a 2ª nota.”; Ler a 2ª nota; Media ← (nota1 + nota2)/2 Mostrar: “A media é: ”, media; Fim

Quando compilado no computador Digite a 1ª nota: 5 Digite a 2ª nota: 8 A média é: 6,5

Algoritmo carro Algoritmo automovel Var custo_fab, perc_rev, impostos, preco_final de real; Inicio Mostrar: “Digite o valor do custo de fabrica do automovel.”; Ler (custo_fab); perc_rev ← (25*custo_fab)/100; Impostos ← (45*custo_fab)/100; preco_final ← custo_fab + perc_rev + impostos; Mostrar: “O custo da fabrica: ”, custo_fab; Mostrar: “O percentual do revendedor é : ”, perc_rev; Mostrar: “O imposto é: ”, impostos; Mostrar: “O preço final do carro será de : ”, preco_final; Fim

Quando compilado no computador Digite o valor do custo de fábrica do automóvel : 40000 O custo da fábrica: 40000 O percentual do revendedor é: 10000 O imposto é: 18000 O preço final do carro será de: 68000

Exercício 1 Faça um algoritmo que leia o nome de uma pessoa , sua idade e o seu salário e ao final mostre essas informações.

Exercício 2 Faça um algoritmo que leia 2 números e faça as 4 operações matemáticas e mostre esses resultados.

Exercício 3 Duas variáveis (A e B) possuem valores distintos (A ← 5 e B ← 10). Crie um, algoritmo que armazene esses valores nas 2 variais e efetue a troca de valores de forma que a variável A passe a possuir o valor de B e que a variável B passe a possuir o valor de A. E ao final mostrar esses valores trocados.

Exercício 4 O custo ao consumidor de um carro novo, é a soma do custo de fábrica com a porcentagem do revendedor e com o custo dos impostos (aplicados ao custo da fabrica). Supondo que a porcentagem do revendedor seja de 25% do custo de fábrica e que os impostos custam 45% do custo de fábrica, faça um algoritmo que leia o calor de custo de fábrica e determine o preço do automóvel para o consumidor.

Exercício 4.1 O sistema de avaliação de determinada disciplina é composto por três provas. A 1ª prova tem peso 2, a 2ª prova tem peso 3 e a 3ª prova tem peso 5. Faça um algoritmo para calcular a média final de um aluno desta disciplina.

Exercício 5 Um Cliente de um banco tem um saldo positivo de R$ 500,00. Fazer um algoritmo que leia um cheque que entrou e calcule o saldo, mostrando o saldo na tela.

Exercício 6 Uma empresa de vendas se softwares para a seu vendedor um fixo de R$ 800,00 por mês, mais uma comissão de 15% pelo seu valor de vendas no mês. Faça um algoritmo que leia o valor da venda e determine o salário total do funcionário. Mostre as informações necessárias na tela.

Exercício 7 Uma empresa de desenvolvimento de softwares paga ao seu vendedor um salário fixo de R$ 500,00 por mês, mais um bônus de R$ 50,00 por sistema vendido. Faça um algoritmo que leia quantos softwares o funcionário vendeu e determine o salario total do funcionário. Mostre as informações que achar necessárias.

Exercício 8 Crie um algoritmo para calcular o salário líquido de um funcionário, considerando que seu salário bruto, incide um desconto de 9% em INSS para a previdência. O algoritmo deve mostrar o nome do funcionário, o seu salário bruto, o valor de desconto de INSS e o seu salário líquido.(dica.: Você deverá pedir (ler) o nome do funcionário e o valor do salário bruto).

Exercício 9 Considerando que para um consórcio, sabe-se o número total de prestações, a quantidade de prestações pagas e o valor atual da prestação, escreva um algoritmo que determine o total pago pelo consorciado e o saldo devedor.

Exercício 10 Analisando a fórmula " Prestação = valor + (valor * (taxa/100) * tempo)", crie um algoritmo para efetuar o cálculo do valor de uma prestação em atraso. (Você deverá ler o VALOR da prestação, a TAXA de juros imposta pelo banco, e o número de dias em ATRASO.