Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Introdução aos Algoritmos</p><p>Algoritmo</p><p>É uma seqüência de instruções bem definidas que, executadas passo a passo, permitem a solução de um problema.</p><p>Passo-a-passo, significa que cada passo é completado antes que o próximo comece.</p><p>Bem-definido, significa que cada passo é completamente definido a partir da entrada atual e dos passos anteriores</p><p>Algoritmo</p><p>É uma seqüência de instruções bem definidas que, executadas passo a passo, permitem a solução de um problema. Essa é uma definição geral podendo ser aplicada em qualquer contexto.</p><p>Exemplo: Um algoritmo para trocar uma lâmpada:</p><p>Passo 1: Desligar a chave.</p><p>Passo 2: Pegar uma lâmpada nova.</p><p>Passo 3: Pegar uma escada.</p><p>Passo 4: Posicionar a escada embaixo da lâmpada queimada</p><p>Passo 5: Subir na escada com a lâmpada nova na mão.</p><p>Passo 6: Retirar a lâmpada queimada.</p><p>Passo 7: Colocar a lâmpada nova.</p><p>Passo 8: Descer da escada.</p><p>Passo 9: Ligar a chave.</p><p>Passo 10: Testar a lâmpada.</p><p>Passo 11: Guardar a escada.</p><p>Passo 12: Jogar a lâmpada velha no lixo apropriado.</p><p>Algoritmo</p><p>Podemos descrever um algoritmo um pouco diferente para realizar a mesma tarefa. Isso quer dizer que um mesmo problema pode ser resolvido de maneiras diferentes visando atingir o mesmo objetivo.</p><p>Construindo um algoritmo:</p><p>Ler atentamente o enunciado do problema destacando seus pontos principais;</p><p>Definir os dados de entrada, ou seja, quais dados serão fornecidos;</p><p>Definir o processamento dos dados, ou seja, o que deve ser feito com os dados de entrada para transformá-los em dados de saída.</p><p>Definir os dados de saída, ou seja, a resposta ao problema.</p><p>Algoritmo</p><p>Propriedades:</p><p>A seqüência de instruções deve ser finita.</p><p>Deve terminar depois de um número finito de passos.</p><p>Não deve existir ambiguidade sobre o próximo passo a ser realizado.</p><p>Deve ser correto, ou seja, sempre termina e, para qualquer instância de entrada, produz uma saída correta.</p><p>Exemplos: Receita de bolo, Manual de um forno de microondas, Regras de um jogo, Direções para transitar entre dois lugares</p><p>Programa</p><p>Um programa de computador (software) é representado pelas instruções e pelos dados definidos que, ao serem executados por alguma máquina, cumprem algum objetivo.</p><p>Elementos de um programa:</p><p>Dados</p><p>representam a informação, de entrada ou saída</p><p>Instruções</p><p>formalizam um algoritmo que opera sobre dados</p><p>Algoritmos</p><p>Formas de Representação de Algoritmos:</p><p>Linguagem natural: Especificação verbal dos passos em linguagem natural.</p><p>Fluxogramas: Diagramas que representam graficamente o algoritmo, enfatizando os passos individuais e o fluxo da execução.</p><p>Convencionaremos os seguintes símbolos</p><p>Terminal: inicio / fim de um fluxograma</p><p>Fluxograma</p><p>Seta de fluxo de dados: indica o sentido dos dados e conecta símbolos ou blocos.</p><p>Processamento: indica a ação a ser executada.</p><p>Entrada de Dados: indica a ação de leitura de dados.</p><p>Saída de Dados: indica a ação de impressão de dados na tela.</p><p>Decisão: indica a decisão a ser tomada.</p><p>Conector: indica a conexão de fluxos.</p><p>Exemplo:</p><p>Soma ← A + B</p><p>A, B</p><p>Soma > 5</p><p>Início</p><p>Fim</p><p>S</p><p>N</p><p>Fluxograma</p><p>“Maior que 5”</p><p>“Menor ou</p><p>igual a 5”</p><p>Formas de Representação de Algoritmos (continuação):</p><p>3) Pseudocódigo: Linguagem especial para expressão de algoritmos que funciona como uma linguagem simplificada de programação, utilizando expressões concisas e pré-definidas para representar as ações e os fluxos de execução.</p><p>Obs.: Programação é a sequência de planejamento, projeto, escrita, teste e manutenção de instruções executadas pelo computador. Envolve obediência às regras (lógicas e matemáticas), otimização e documentação, entre outras questões.</p><p>Algoritmos</p><p>Pseudocódigo: Português Estruturado</p><p>Uma forma de escrever algoritmos em pseudocódigo é chamada de Português Estruturado. Esta forma se aproxima de um programa, porém os comandos são escritos em Português.</p><p>Comandos Iniciais em Português Estruturado</p><p>Corpo do Algoritmo:</p><p># Título do Algoritmo</p><p>início</p><p><declarações></p><p><comandos></p><p>fim</p><p>Pseudocódigo: Português Estruturado</p><p>Comando de escrita na tela: Serve para imprimir dados na tela do computador.</p><p>escreva( )</p><p>Comando de leitura de dados: Serve para obter dados do usuário via teclado.</p><p>leia( )</p><p>Exemplo 1</p><p>Escreva um algoritmo que escreva a frase “Meu primeiro programa” na tela.</p><p>Pseudocódigo:</p><p># Algoritmo que escreve uma frase na tela</p><p>início</p><p>escreva('Meu primeiro programa')</p><p>fim</p><p>Fluxograma:</p><p>Início</p><p>Fim</p><p>“Meu primeiro programa”</p><p>Números</p><p>Na maioria das linguagens de programação comumente trabalhamos com dois tipos de dados numéricos:</p><p>Tipo</p><p>Exemplos</p><p>inteiro</p><p>12</p><p>25</p><p>9</p><p>real</p><p>2.9</p><p>7.0</p><p>0.5</p><p>Algumas operações</p><p>Nosso programa pode efetuar algumas operações aritméticas. As principais são:</p><p>+	soma</p><p>-	subtração</p><p>*	multiplicação</p><p>/	divisão</p><p>%	resto da divisão</p><p>Operação de Divisão</p><p>A operação de divisão pode ser de duas formas: divisão inteira e divisão real.</p><p>inteiro / inteiro</p><p>= inteiro</p><p>= real</p><p>real / real</p><p>real / inteiro</p><p>= real</p><p>= real</p><p>inteiro / real</p><p>Precedência de operadores</p><p>( )</p><p>parênteses</p><p>* / %</p><p>operadores de multiplicação, divisão e resto</p><p>+ -</p><p>operadores de soma e subtração</p><p>Alguns operadores em ordem de precedência (de cima para baixo) Em caso de associação, da esquerda para a direita:</p><p>Exemplos:</p><p>2 + 3 * 3 – 5 =</p><p>(2 + 3) * (3 – 5) =</p><p>5 % 3 * 3 – 5 =</p><p>15 / 2 + 1.0 =</p><p>6</p><p>-10</p><p>1</p><p>8.0</p><p>Exemplo 2 – versão I</p><p>Escreva um algoritmo em pseudocódigo que mostre o resultado da expressão 2 * 8 + 2 – 5</p><p># Algoritmo que imprime uma expressão</p><p>início</p><p>escreva (2*8+2-5)</p><p>fim</p><p>Exemplo 2 – versão II</p><p>Escreva um algoritmo que mostre o resultado da expressão 2 * 8 + 2 – 5</p><p># Algoritmo que imprime uma frase e uma expressão</p><p>início</p><p>escreva ('O resultado de 2*8+2-5 é ', 2*8+2-5)</p><p>fim</p><p>Exercícios</p><p>Indique qual o resultado será obtido das seguintes expressões:</p><p>1 / 2</p><p>1.0 / 2</p><p>1 % 2</p><p>(220 / 10) % 4</p><p>29.0 / 2 + 4</p><p>29 / 2 + 4</p><p>3 / 6.0 - 7</p><p>Escreva um algoritmo que calcule o valor da seguinte expressão:</p><p>Variáveis</p><p>Uma variável é uma porção da memória do computador onde um valor pode ser armazenado para ser usado por um programa. A esse espaço de memória é associado um nome (identificador) e um tipo que corresponde ao tipo de informação que será armazenada.</p><p>Nomes de variáveis:</p><p>O primeiro caractere deve ser uma letra ou o caractere _</p><p>Na formação dos identificadores são permitidos: números, letras (maiúsculas ou minúsculas) e o caractere _</p><p>Algumas linguagens fazem diferença entre maiúsculas e minúsculas, portanto o identificador num é diferente de Num, nUm, NUM, ...</p><p>Não são permitidos espaços em branco.</p><p>Variáveis</p><p>Tipos de dados primitivos:</p><p>inteiro</p><p>real</p><p>lógico</p><p>complexo</p><p>texto (ou string)</p><p>Declaração de variáveis: Normalmente feita no início do algoritmo, define o espaço a ser reservado na memória para uso do algoritmo.</p><p>Forma Geral:</p><p>tipo	nome</p><p>Exemplo:</p><p>inteiro a</p><p>real b, c</p><p>texto nome</p><p>Nem todas as linguagens exigem declaração de variáveis. Python não exige.</p><p>Para armazenar valores em variáveis:</p><p>Operador de atribuição (←): Armazena um valor ou o resultado de uma expressão em uma variável.</p><p>Exemplo:</p><p>inteiro a, b</p><p>a ← 10</p><p>b ← 5 * 7 + a</p><p>Comando de leitura de dados: Obtém dados do usuário via teclado.</p><p>leia(c)</p><p>Variáveis</p><p>Exemplo 1</p><p>Escreva um algoritmo que leia dois números inteiros e apresente na tela a soma destes valores.</p><p>soma ← a + b</p><p>a, b</p><p>Início</p><p>Fim</p><p>“O resultado da</p><p>soma e”, soma</p><p>Fluxograma</p><p>Exemplo 1</p><p>Escreva um algoritmo que leia dois números inteiros e apresente na tela a soma destes valores.</p><p># Calcula a soma de dois números</p><p># digitados pelo usuário</p><p>início</p><p>inteiro a, b, soma</p><p>leia(a, b)</p><p>soma ← a + b</p><p>escreva(‘O resultado da soma é ’, soma)</p><p>fim</p><p>Exemplo 1 – Versão II</p><p>Escreva um algoritmo que leia dois números inteiros e apresente na tela a soma destes valores.</p><p># Calcula a soma de dois números</p><p># digitados pelo usuário</p><p>início</p><p>inteiro a, b, soma</p><p>escreva(‘Digite um número inteiro:’)</p><p>leia(a)</p><p>escreva(‘Digite outro número inteiro:’)</p><p>leia(b)</p><p>soma ← a + b</p><p>escreva(‘O resultado da soma</p><p>é ’, soma)</p><p>fim</p><p>26</p><p>Exemplo 2</p><p>Escreva um programa que leia a base e a altura de um triângulo, calcule e escreva na tela o valor de sua área:</p><p>area ← base*altura/2</p><p>base, altura</p><p>Início</p><p>Fim</p><p>area</p><p>Fluxograma</p><p>Exemplo 2</p><p>Escreva um programa que leia a base e a altura de um triângulo e calcule e escreva na tela o valor de sua área:</p><p># Calcula a área de um triângulo</p><p>início</p><p>real base, altura, area</p><p>leia(base, altura)</p><p>area ← base * altura / 2</p><p>escreva(area)</p><p>fim</p><p>Exemplo 2</p><p>Escreva um programa que leia a base e a altura de um triângulo e calcule e escreva na tela o valor de sua área:</p><p># Calcula a área de um triângulo</p><p>início</p><p>real base, altura, area</p><p>escreva(‘Digite o valor da base do triângulo:’)</p><p>leia(base)</p><p>escreva(‘Digite o valor da altura do triângulo:’)</p><p>leia(altura)</p><p>area ← base * altura / 2</p><p>escreva(‘O valor da área do triângulo é ’, area)</p><p>fim</p><p>Exercícios</p><p>Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Escreva um algoritmo que leia o valor do salário fixo de um funcionário e o valor de suas vendas, calcule e mostre na tela a comissão e o salário final do funcionário.</p><p>Sabe-se que para iluminar de maneira correta os cômodos de uma casa, para cada m2 deve-se usar 18 W de potência. Escreva um algoritmo que leia as dimensões de um cômodo retangular (em metros), calcule e mostre a sua área (em m2) e a potência de iluminação que deverá ser utilizada.</p><p>João recebeu seu salário e precisa pagar duas contas que estão atrasadas. João deverá pagar de multa 2% do valor de cada conta. Escreva um algoritmo que leia o valor do salário de João e o valor de cada uma das contas, calcule e mostre na tela quanto restará do salário de João.</p><p>image1.wmf</p><p>÷</p><p>ø</p><p>ö</p><p>ç</p><p>è</p><p>æ</p><p>´</p><p>+</p><p>+</p><p>÷</p><p>ø</p><p>ö</p><p>ç</p><p>è</p><p>æ</p><p>+</p><p>´</p><p>9</p><p>87</p><p>15</p><p>36</p><p>18</p><p>10</p><p>12</p><p>25</p><p>oleObject1.bin</p>

Mais conteúdos dessa disciplina