A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

INTRODUÇÃO A PROGRAMAÇÃO THOBER CORADI DETOFENO, MSC. Aula 06 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC.

Apresentações semelhantes


Apresentação em tema: "INTRODUÇÃO A PROGRAMAÇÃO THOBER CORADI DETOFENO, MSC. Aula 06 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC."— Transcrição da apresentação:

1 INTRODUÇÃO A PROGRAMAÇÃO THOBER CORADI DETOFENO, MSC. Aula 06 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC

2 Algoritmo A automação é o processo em que uma tarefa deixa de ser desempenhada pelo homem e passa a ser realizada por máquinas, sejam estas dispositivos mecânicos, eletrônicos (como os computadores) ou de natureza mista. Para que a automação de uma tarefa seja bem sucedida é necessário que a máquina que passará a realizá-la seja capaz de desempenhar cada uma das etapas constituintes do processo a ser automatizado com eficiência, de modo a garantir a repetibilidade do mesmo. Assim, é necessário que seja especificado com clareza o que deve ser realizado em cada uma das fases do processo a ser automatizado, bem como a seqüência em que estas fases devem ser realizadas. Algoritmo Conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de etapas Representação de uma solução para um problema. Programa Seqüência completa de instruções a serem executadas por um computador De acordo com um algoritmo. Ao contrário do que se pode pensar, o conceito de algoritmo não foi criado para satisfazer às necessidades da computação. Pelo contrário, a programação de computadores é apenas um dos campos de aplicação dos algoritmos. Na verdade, há inúmeros casos que podem exemplificar o uso (involuntário ou não) de algoritmos para a padronização do exercício de tarefas rotineiras. Para que um computador possa desempenhar uma tarefa é necessário que esta seja detalhada passo a passo, numa forma compreensível pela máquina, utilizando aquilo que se chama de programa. Neste sentido, um programa de computador nada mais é que um algoritmo escrito numa forma compreensível pelo computador.

3 O algoritmo, do ponto de vista computacional, tem um papel fundamental por ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação começa com a construção do algoritmo. Algoritmo Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema.

4 Partes básicas de um Algoritmo Um algortimo quando programado num computador e constituido pelo menos das 3 partes, sendo elas: 1. Entrada de dados; 2. Processamento de dados; 3. Saida de dados; Na parte de entrada, sao fornecidas as informacoes necessarias para que o algoritmo possa ser executado. Estas informacoes podem ser fornecidas no momento em que o programa esta sendo executado ou podem estar embutidas dentro do mesmo.

5 Representações dos Algoritmos Existem algumas formas de representação de algoritmos: Descrição Narrativa; Fluxograma: Representação gráfica. A representação gráfica é mais concisa que a representação textual. É necessário aprender a simbologia dos fluxogramas. Pseudocódigo (Português estruturado): Representação textual. A transcrição para qualquer linguagem de programação é quase direta. É necessário aprender as regras do pseudocódigo. Outros diagramas (ER, UML,...)

6 Algoritmo – Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Como exemplo, têm-se os algoritmos seguintes:

7 Exercícios Descrição Narrativa 1) Escreva um algoritmo para Fazer um Sanduíche. 2) Escreva um algoritmo para uma Receita de bolo. 3) Escreva um algoritmo para o problema de Troca de um pneu furado. 4) Escreva um algoritmo para o Calcular a média de um aluno. 5) Tem-se tres garrafas, com formatos diferentes, uma cheia ate a boca com capacidade de 8 litros e as outras duas vazias com capacidades de cinco e tres litros, respectivamente. Deseja-se separar o conteudo da primeira garrafa em duas quantidades iguais. Elabore um algoritmo que consiga realizar a tarefa, sem que se possa fazer medidas.

8 Fluxograma É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade. Há vários padrões que definem as formas geométricas das figuras que devem ser usadas para representar cada um dos diversos tipos de instruções; contudo, nenhum deles se sobressai com relação aos demais no que diz respeito à aceitação por parte dos usuários. De modo geral, um fluxograma se resume a um único símbolo inicial, por onde a execução do algoritmo começa, e um ou mais símbolos finais, que são pontos onde a execução do algoritmo se encerra. Partindo do símbolo inicial, há sempre um único caminho orientado a ser seguido, representando a existência de uma única seqüência de execução das instruções. Isto pode ser melhor visualizado pelo fato de que, apesar de vários caminhos poderem convergir para uma mesma figura do diagrama, há sempre um único caminho saindo desta. Exceções a esta regra são os símbolos finais, dos quais não há nenhum fluxo saindo, e os símbolos de decisão, de onde pode haver mais de um caminho de saída (usualmente dois caminhos), representando uma bifurcação no fluxo.

9 Fluxograma – Notação simplificada

10 Exemplos de Fluxograma

11 Fluxograma – Controle de Fluxo

12 Exemplos de Fluxograma

13 Exercícios Faça um fluxograma para as seguintes questões: 1) Obter o resultado da multiplicação de dois números inteiros quaisquer fornecidos pelo usuário. 2) Aplique um desconto de 30% sobre o valor de um produto, recebido como entrada, e retorne o resultado da manipulação na saída padrão. 3) Tendo como dados de entrada a distância total (em km) percorrida por um automóvel e a quantidade de combustível (em litros) consumida para percorrê-la, calcule e imprima o consumo médio de combustível. 4) Leia dois valores inteiros e apresente a diferenca do maior pelo menor. 5) O sistema de nota de uma instituicao atribui notas aos alunos atraves de conceito. Sabendo das faixas associadas a cada conceito, faca um fluxograma que leia 3 notas de um aluno, calcule a media e informe a qual conceito a media esta relacionada. 6) Exibir todos os numeros pares de um a 100.

14 Pseudocodigo O pseudocodigo e uma maneira intermediaria 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 lingua nativa do programador, que tem equivalentes nas linguagens de programacao. Alem disso, o pseudocodigo nao requer toda a rigidez sintatica necessaria numa linguagem de programacao, permitindo que o aprendiz se detenha na logica do algoritmos e nao no formalismo da sua representacao. Na medida em que se obtem mais familiaridade com os algoritmos, então o pseudocodigo pode ser traduzido para uma linguagem de programacao.

15 Pseudocodigo A estrutura geral de um algoritmo é: algoritmo " " var inicio fimalgoritmo

16 Exemplo de Pseudocódigo algoritmo "soma dois numeros" // Função : // Autor : // Data : 30/3/2010 // Seção de Declarações var n1, n2, d: inteiro inicio // Seção de Comandos escreval("Digite dois numeros") leia(n1) leia(n2) d<-n1+n2 escreva("A soma eh igual a ", d) fimalgoritmo VisuAlg

17 Métodos de Representação de Algoritmo Escrever algoritmos e, por fim, programar, consiste em dividir qualquer problema em vários passos menores, usando uma ou mais formas de representação. Esses passos que compõem o algoritmo são denominados de instruções. Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Grosso modo, estas informações poderão ser classificadas em dois tipos: · As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. As instruções são específicas para cada modelo de computador, pois são função do tipo particular de processador utilizado em sua implementação. · Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador.

18 Elementos básicos para construção de um Algoritmo Nome da Variável As variáveis são elemento de dado cujo valor pode ser modificado ao longo de sua execução. Os nomes das variáveis devem começar por uma letra e depois pode conter letras, números ou underline, até um limite de 30 caracteres. As variáveis podem ser simples ou estruturadas. Não pode haver duas variáveis com o mesmo nome. Uma variável representa uma posição na memória e pode ter seu tipo de dados como inteiro, caractere, real; tamanho (16, 32 bits,...) e nome definidos. A seção de declaração de variáveis começa com a palavra-chave var, e continua com as seguintes sintaxes: :

19 Elementos básicos para construção de um Algoritmo Nome da Variável Regra para criar nomes de variáveis. – Os nomes das variáveis devem representar o que será guardado dentro dela. – O primeiro caractere de um nome deverá ser sempre Alfabético. – Não podem ser colocados espaços em branco no nome de variáveis, usar o UNDERSCORE _. – A declaração de uma variável é feita no algoritmo informando o seu nome, seguido por : e terminado com o seu tipo.

20 Elementos básicos para construção de um Algoritmo Tipo de Dados Palavra-reservada: logico - define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO. – Palavra-reservada: caractere – define variáveis do tipo string, ou seja, cadeia de caracteres. – Palavra-reservada: inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. – Palavra-reservada: real - define variáveis numéricas do tipo real, ou seja, com casas decimais.

21 Elementos básicos para construção de um Algoritmo Constantes e Comando de Atribuição As cosntantes são valores fixos, tais como números, caractere ou Lógico. Estes valores não podem ser alterados pelas instruções do algoritmo, ou seja, é um espaço de memória cujo valor não deve ser alterado durante a execução do programa. A atribuição de valores a variáveis é feita com o operador <-. Do seu lado esquerdo fica a variável à qual está sendo atribuído o valor, e à sua direita pode-se colocar qualquer expressão (constantes, variáveis, expressões numéricas), desde que seu resultado tenha tipo igual ao da variável.

22 Elementos básicos para construção de um Algoritmo Palavras-reservadas São identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo.

23 Elementos básicos para construção de um Algoritmo Operadores Aritméticos

24 Elementos básicos para construção de um Algoritmo Operadores Relacional e Lógico

25 Exemplos

26 Exercícios 1. Escreva um algoritmo para calcular o valor de y como função de x, segundo a função y(x) = 3x + 2, num domínio real. 2. Escreva um algoritmo para calcular o consumo médio de um automóvel (medido em Km/l), dado que são conhecidos a distância total percorrida e o volume de combustível consumido para percorrê-la (medido em litros). 3. Para as instruções propostas a seguir, expresse um algoritmo que pode ser usado em sua solução na forma de um fluxograma e pseudocódigo. Ao final da execução do trecho abaixo, quais os valores de A, B e C? A <- 1; B <- 2; C <- 1; A <- B+1; B <- B-1; C <- A+3; C <- B-3; A <- C+1; A=_______ B=________ C=_________ 4. O que será mostrado no vídeo durante a execução deste trecho de programa? x <- 1; z <- 2; a <- x + z; b <- x - z; escreva(Valor de A: %R, a); escreva(Valor de A-1: %R, a-1); 5. Escreva um programa que recebe tres inteiros e escreva na tela a media, a soma, o produto, usando uma linha para cada resultado. 6.Faça um algoritmo (Descrição Narrativa, Fluxograma e Pseudocódigo) para calcular o novo salário de um funcionário com um aumento de 20%.

27 Elementos básicos para construção de um Algoritmo Estruturas de Controle de Fluxo Os algoritmos desenvolvidos até o momento constituem uma seqüência de ações que sempre são executadas em sua totalidade indiferente de qual(is) seja(m) o(s) valor(es) da(s) entrada(s). Contudo para a resolução de determinados problemas ou para a execução de determinadas tarefas é necessária a realização de um conjunto distinto de ações e este conjunto é definido com base em uma análise da(s) entrada(s). Um exemplo cotidiano de uma destas situações é um algoritmo capaz de efetuar o cálculo do imposto de renda devido por um determinado contribuinte. Neste caso dependendo da quantidade de dependentes, do valor de sua renda e outras fatores o cálculo será feito de formas distintas.

28 Elementos básicos para construção de um Algoritmo Estruturas de Controle de Fluxo Em função do que foi mencionado foram criadas as estruturas de controle de fluxo, as quais são fundamentais para a construção de algoritmos complexos. Estas permitem que o programador especifique a seqüência de instruções que será executada. 1. Instrução condicional simples Sintaxe: …

29 Elementos básicos para construção de um Algoritmo Estruturas de Controle de Fluxo Exemplo: Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números inteiros quaisquer. algoritmo exercício var n1, n2: inteiro res: real inicio escreva (Digite o dividendo inteiro: ) leia (n1) escreva (Digite o divisor inteiro: ) leia (n2) se (n2<>0) entao res <- n1 / n2 escreva (Resultado da divisão:, res) fimse fimalgoritmo

30 Elementos básicos para construção de um Algoritmo Estruturas de Controle de Fluxo Instrução condicional composta

31 Exemplo Exercício – Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números inteiros quaisquer. algoritmo execício var n1, n2: inteiro res: real inicio escreva (Digite o dividendo inteiro: ) leia (n1) escreva (Digite o divisor inteiro: ) leia (n2) se (n2=0) entao escreva (Impossível dividir!) senao res <- n1 / n2 escreva (Resultado da divisão:, res) fimse fimalgoritmo

32 Exercícios 1) Elabore um algoritmo que informe se um número inserido pelo usuário é par ou ímpar. 2) Elabore um algoritmo que ordene por ordem crescente dois números inseridos pelo usuário (diferentes). 3) Elabore um algoritmo que ordene por ordem decrescente três números inseridos pelo usuário (diferentes). 4) Elabore um algoritmo que peça ao usuário para fornecer dois números inteiros, obtenha-os do usuário e imprima o maior deles seguido das palavras "é maior". Se os números forem iguais, imprima a mensagem "Estes números ao iguais". 5) Elabore um algoritmo que receba três números inteiros diferentes digitados no teclado e imprima a soma, a média, o produto, o menor e o maior desses números. 6) Escreva um algoritmo que leia cinco números inteiros e então determine e imprima o maior e o menor inteiro do grupo. 7) Escreva um algoritmo para determinar se um número é maior, menor ou igual a 0 (zero) utilizando a estrutura de seleção SE. Faça um algoritmo que leia o nome do aluno e três notas. A partir das informações lidas: - calcule e mostre a média do aluno; - verifique qual será o conceito atribuído ao aluno: - se a média for menor que 5: E - se a média for maior ou igual que 5 e menor que 6: D - se a média for maior ou igual que 6 e menor que 7: C - se a média for maior ou igual que 7 e menor que 9: B - se a média for maior ou igual que 9 e menor ou igual a 10: A Faça um algoritmo usando a estrutura Escolha e outro usando SE.

33 Exercícios 8) Faça um algoritmo para gerar os 10 primeiros termos da seqüência de Fibonacci: Obs. A partir do 3o termo soma-se os dois anteriores. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89,... 9) Escreva um algoritmo para calcular o reajuste salarial de uma empresa que possui 100 funcionários, de acordo com os seguintes critérios: - os funcionários com salário inferior a ,00 devem ter um reajuste de 55%; - os funcionários com salário entre ,00 (inclusive) e ,00 (exclusive) devem ter um reajuste de 30%; - os funcionários com salário superior a ,00 devem ter um reajuste de 20% 10) Uma empresa com 30 funcionários decide presentear seus funcionários com um bônus de Natal, cujo valor é definido do seguinte modo: - os funcionários do sexo masculino com tempo de casa superior a 15 anos terão direito a um bônus de 20% de seu salário; - as funcionárias com tempo de casa superior a 10 anos terão direito a um bônus de 25% de seu salário; e - os demais funcionários terão direito a um bônus de 5.000,00. Elabore um algoritmo para calcular o valor do bônus concedido a cada funcionário e o impacto de tal atitude no orçamento da empresa (ou seja, o montante total dos bônus concedidos). 11) Faça um programa que leia 10 números e obtenha:a soma dos números; a média dos números; o maior número; e o menor número. 12) Fazer um algoritmo onde Dada a idade, dizer se é adulto, jovem ou velho.


Carregar ppt "INTRODUÇÃO A PROGRAMAÇÃO THOBER CORADI DETOFENO, MSC. Aula 06 JOINVILLE 2013 Universidade do Estado de Santa Catarina – CCT/UDESC."

Apresentações semelhantes


Anúncios Google