Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Introdução a Programação Autor: Charles Wust * * Objetivo da disciplina Ensinar como ler e escrever trechos de código de forma a resolver pequenos problemas de forma computacional * * Tópicos abordados O que são programas Variáveis e tipos de dados Operadores Estruturas de controle de fluxo Condicionais (SE, ESCOLHA) Repetição (ENQUANTO, PARA) Procedimentos e funções * * Um quebra-cabeça Na margem A de um rio se encontram, você, um lobo, uma ovelha e um repolho. Você possui uma canoa que te permite levar apenas um deles de cada vez, sabendo que caso o lobo fique sozinho com o coelho o lobo o come e o mesmo acontece quando o coelho fica sozinho com o repolho. Como fazer para atravessar todos eles em segurança para a margem B do rio? * * O que é um algoritmo Conjunto de instruções a serem executadas para desempenhar uma tarefa específica Pegue a ovelha Reme para margem B Deixe a ovelha Reme para margem A Pegue o lobo Reme para margem B ... * * Outro exemplo Fazer um strogonoff Corte em cubos 500g de peito de frango Tempere o frango com sal e pimenta Pique 1 cebola Pique 3 tomates Ponha 1 colher de manteiga em uma panela Leve ao fogo Aguarde a manteiga desmanchar Adicione a cebola picada Mexa a cebola até dourar bem Adicione o peito de frango Aguarde até o peito de frango cozinhar Adicione o tomate picado Aguarde até o tomate desmanchar completamente Desligue o fogo Adicione 1 caixa de creme de leite Adicione 1 colher pequena de mostarda Adicione 2 colheres de catchup Misture bem * * Algoritmos Algoritmos devem ser compostos de instruções SIMPLES e CLARAS * * Exercícios Você possui 3 pinos, A, B e C e que no pino A estão dispostos 4 discos de tamanhos diferentes em ordem crescente de cima para baixo (menor em cima). O objetivo é levar os 4 discos do pino A para o pino C, usando o pino B como auxiliar e obedecendo as seguintes restrições: Pode-se mover apenas 1 pino de cada vez Não se pode colocar um pino maior sobre um menor. * * Em termos computacionais... Um algoritmo é composto por: Entrada de dados Processamento Saída de dados Exemplo: calcular o perímetro de um retângulo Entradas: dois números A e L, representando a altura e a largura do retângulo Processamento: Faça uma variável X receber o valor de 2 * A (X = 2 * A) Faça uma variável Y receber o valor de 2 * L (Y = 2 * L) Faça uma variável P receber o valor de X + Y (P = X + Y) Retorne P como Saída * * Um exemplo mais complexo Calcular o Máximo Divisor Comum (MDC) de dois números (algoritmo de Euclides) Entradas: dois números (M e N, sendo M > N e ambos > 0) Processamento: Faça uma variável X receber o valor de M Faça uma variável Y receber o valor de N Faça uma variável R receber o valor do resto da divisão X / Y Faça a variável X receber o valor de Y (X = Y) Faça Y receber o valor de R (Y = R) Se Y ≠ 0, retorne ao passo 3 Retorne x como Saída * * Exercícios Escreva um algoritmo que receba como entrada: O valor da hora de trabalho de um empregado o total de horas normais por um empregado; O algoritmo deve retornar como saída o salário anual deste trabalhador. * * Exercícios Utilize o algoritmo de Euclides para definir o MDC entre os seguintes números: * * Exercícios O valor de uma hora extra é igual 150% do valor de uma hora normal trabalhada. Escreva um algoritmo que receba como entrada: O valor da hora de trabalho de um empregado o total de horas normais por um empregado; o total de horas extras trabalhadas por um empregado O algoritmo deve retornar como saída o salário anual deste trabalhador. * * Exercício O seguinte algoritmo retorna a raiz quadrada aproximada de um número positivo qualquer (método de Heron) Entrada um número N qualquer Processamento Faça a variável X receber o valor 1 (X = 1) Faça a variável Y receber o valor 0 (Y = 0) Enquanto (Y – X > 0.01) OU (Y – X < -0.01) faça os dois passos seguintes: Faça Y = X Faça X = Retorne X como saída * * Exercício Utilize o algoritmo anterior para calcular a raiz quadrada de: 4 25 2 * * Pseudocódigo Os algoritmos do MDC e da raiz quadrada estão descritos em pseudocódigo Pseudocódigo é um tipo de linguagem parecida com nossa linguagem natural, mas estruturada de forma similar às linguagens de programação utilizada em computadores * * Faça a variável X receber o valor 1 (X = 1) Faça a variável Y receber o valor 0 (Y = 0) Enquanto (Y – X > 0.01) OU (Y – X < -0.01) faça os dois passos seguintes: 1. Faça Y = X 2. Faça X = Retorne X como saída Comparando... public static double raizQuadrada(double n) { double x = 1; double y = 0; while ((y - x > 0.01) || (y - x < -0.01)) { y = x; x = (x + (n/x)) / 2; } return x; } * * Referências CHENCAREK, Renato. Introdução a Computação. Disponível em http://www.las.ic.unicamp.br/~chenca/mc102/aulas/aula01-Introducao.pdf. Acessado em 24/06/2012 CHENCAREK, Renato. Introdução a Computação. Disponível em http://www.las.ic.unicamp.br/~chenca/mc102/aulas/aula01-Introducao.pdf. Acessado em 24/06/2012. De OLIVEIRA CRUZ, Adriano J. – Algoritmos. Disponível em http://equipe.nce.ufrj.br/adriano/c/apostila/algoritmos.htm#natural. Acessado em 24/06/2012.
Compartilhar