Buscar

1 Introdução a Programação

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.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando