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

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

SISTEMAS DE INFORMAÇÃO DISCIPLINA: INTRODUÇÃO A PROGRAMAÇÃO

Apresentações semelhantes


Apresentação em tema: "SISTEMAS DE INFORMAÇÃO DISCIPLINA: INTRODUÇÃO A PROGRAMAÇÃO"— Transcrição da apresentação:

1 SISTEMAS DE INFORMAÇÃO DISCIPLINA: INTRODUÇÃO A PROGRAMAÇÃO
PROFº.: Fabrizio Leandro Fonsêca Fiscina

2 INTRODUÇÃO A PROGRAMAÇÃO
Conteúdo programático: Introdução: Lógica; Algoritmo; Formas de representação de Algoritmo; Programa. Itens fundamentais: Tipos de dados; Constantes; Variáveis; Comentários; Expressões e Operadores; Comandos de entrada e saída;

3 Itens fundamentais: Estrutura sequencial; Estrutura condicional; Estrutura de repetição. Estrutura de dados: Vetores; Matrizes; Modularização: Sub-rotinas; Funções. Utilização da Ferramenta VisuALG

4 Lógica Lógica é oriunda da palavra grega logiké, que significa “arte de raciocinar”. Aristóteles, filósofo grego ( a.C.), foi o primeiro a estudar sobre os aspectos da lógica. Lógica é o ramo da filosofia que cuida das regras do bem pensar ou do pensar correto. A lógica ensina a colocar Ordem no Pensamento.

5 Lógica Resolva os seguintes problemas de lógica (5 minutos):
P1 – Uma lesma deve subir um poste de 10m de altura. Durante o período diurno (manhã e tarde) sobe 2m e à noite desce 1m. Em quantos dias atingirá o topo do poste? P2 - Eu não sou pai do padre. O pai dele é filho do meu pai. O que eu sou do Padre? P3 – Qual o próximo número da sequência 7,8,10,13, ? P4 - Meio quilo de carne custa R$ 180,00. Quanto custam dois quilos e meio?

6 Lógica Respostas: R1 – 9 (nove) dias. No nono dia a lesma sobe 2(dois) metros, atinge o topo e evidentemente não desce 1 metro R2 – Tio R3 – 22 R4 – 900

7 Sequência Lógica Sequencia Lógica é um conjunto de instruções executadas (sequencialmente) até atingir um objetivo ou solução de um problema.

8 Algoritmizando a Lógica
Algoritmo é uma sequencia de passos que visam atingir um objetivo bem definido. Podemos pensar em algoritmo como uma receita, uma sequência de instruções para atingir uma meta específica.

9 Algoritmizando a Lógica
Ex: ao fazer omelete de batatas, precisaremos colocar em prática uma série de instruções: Descascar as batatas, bater os ovos, fritar as batatas, etc...; Essas instruções tem que ser executadas em uma ordem adequada; Assim, uma instrução tomada em separado não tem muito sentido.

10 Algoritmizando a Lógica
Algoritmo é a descrição de um conjunto finito de instruções para a solução de um problema em um tempo finito. Estas tarefas não podem ser ambíguas nem subjetivas na sua definição, devem ser claras e precisas.

11 Algoritmizando a Lógica
Exemplo de aplicação da lógica e construção de algoritmos: Um homem precisa atravessar um rio com um barco e suas três cargas, que são: um cachorro, uma galinha e um saco de milho. Quais as restrições desse problema? Há limite na quantidade de viagens? O que o homem deve fazer para conseguir atravessar o rio sem perder as suas cargas?

12 Algoritmizando a Lógica
Quais as restrições desse problema? O barco possui capacidade de transportar apenas o Homem e mais uma de suas três cargas O cachorro não pode ficar só com a galinha A galinha não pode ficar só com o milho Há limite na quantidade de viagens? Não O que o homem deve fazer para atravessar a carga?

13 Solução Início: H – C – G – M | vazio

14 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G

15 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G

16 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G TRAVESSIA 3: M | H – C – G

17 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G TRAVESSIA 3: M | H – C – G TRAVESSIA 4: H – G – M | C

18 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G TRAVESSIA 3: M | H – C – G TRAVESSIA 4: H – G – M | C TRAVESSIA 5: G | H – C – M

19 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G TRAVESSIA 3: M | H – C – G TRAVESSIA 4: H – G – M | C TRAVESSIA 5: G | H – C – M TRAVESSIA 6: H – G | C – M

20 Solução Início: H – C – G – M | vazio TRAVESSIA 1: C – M | H – G
TRAVESSIA 2: H – C – M | G TRAVESSIA 3: M | H – C – G TRAVESSIA 4: H – G – M | C TRAVESSIA 5: G | H – C – M TRAVESSIA 6: H – G | C – M TRAVESSIA 7: vazio | H – C – G – M

21 Torre de Hanói Haste A Haste B Haste C Peça Pequena Peça Média
Peça Grande

22 Torre de Hanói Objetivo: Mover os discos da haste A para a haste C.
Quais as restrições? Um disco maior não pode ficar em cima de um disco menor. Só pode mover um disco de cada vez. Qual a sequência lógica para resolver este problema?

23 Solução - Torre de Hanói

24 Solução - Torre de Hanói
Algoritmo Mover peça pequena da haste A para C Mover peça média da haste A para B Mover peça pequena da haste C para B Mover peça grande da haste A para C Mover peça pequena da haste B para A Mover peça média da haste B para C

25 Algoritmos Para resolver um problema em um computador, de modo semelhante ao que fazemos para resolver um problema do nosso cotidiano, devemos encontrar uma maneira de descrever esse problema de uma forma clara e precisa, através de uma sequência de passos a serem seguidos até que se atinja a solução procurada (CRUZ; KNOPMAN, 2001).

26 Algoritmos Essa estruturação deve seguir uma determinada lógica para se atingir um objetivo. A lógica aplicada à programação de computadores, dessa forma, também deve buscar a melhor sequência de ações para se resolver um problema. A essa sequência de ações damos o nome de algoritmo. Então podemos dizer que: Um algoritmo é um conjunto finito de regras que fornece uma sequência de operações para resolver um problema específico. É algo como uma receita, ou uma rotina.

27 Algoritmo Exemplo de uma solução algorítmica para atender a uma RECEITA DE BOLO COMUM DE OVOS.

28 Algoritmo INÍCIO Passo 4: Em uma travessa, bata o açúcar, a manteiga e as gemas; Passo 5: Misture a farinha e o leite; Passo 6: Bata bem, até ficar bem homogêneo; Passo 7: Com a ajuda de uma colher, acrescente o fermento; Passo 1: Receber os ingredientes Ingredientes: 2 xícaras de açúcar; 3 ovos; 250g de margarina; Passo 8: Por último, adicione as claras em neve e mexa cuidadosamente; Passo 9: Coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; Passo 10: Após assado, desligue o forno e deixe o bolo esfriar; Passo 11: Desenforme e saboreie. 3 xícaras de farinha de trigo; 1 e ½ colher de fermento; 1 xícara de leite. Modo de preparo: Passo 2: Aqueça o forno a 180 graus; Passo 3: Bata as claras em neve e reserve;

29 Algoritmo Observando a receita de bolo, podemos contemplar as cinco características que são inerentes aos algoritmos (CRUZ; KNOPMAN, 2001): Finitude – um algoritmo sempre deve terminar após um número finito de passos. Veja que o algoritmo do nosso exemplo encerra no momento em que o bolo está pronto para ser saboreado. Definição – cada passo do algoritmo deve ser bem definido e sem ambiguidades, ou seja, não deve dar margem para uma interpretação dupla. Entradas – um algoritmo deve ter zero ou mais entradas, que são as informações que devem ser fornecidas antes do algoritmo ser iniciado (no caso da receita de bolo, as entradas são os ingredientes, ou seja, o açúcar, os ovos, etc.).

30 Algoritmo Saídas – um algoritmo deve ter uma ou mais saídas. O número de saídas tem uma relação específica com as entradas. Mais uma vez, observando a nossa receita, vemos que os ingredientes (entradas) são misturados dentro da sequência de passos, gerando uma única saída (o bolo). Efetividade – todo algoritmo deve ser descrito por operações básicas e possíveis de ser realizadas de forma precisa, dentro de um determinado tempo, por qualquer pessoa. Por exemplo, se na receita víssemos uma instrução do tipo "coloque açúcar à vontade", isso impossibilitaria a sua execução de uma forma precisa.

31 Algoritmo É importante lembrar, no entanto, que podem existir várias maneiras de solucionar um problema. O importante é chegar à solução. Melhor ainda, se essa solução for atingida de forma eficiente e eficaz.

32 Algoritmo Um problema pode ser solucionado através de diversos algoritmos. Não se aprende algoritmo copiando. Só aprende algoritmo exercitando. Um algoritmo deve sempre possuir pelo menos um resultado, normalmente chamado de saída.

33 Por que usar algoritmos?
Abstração - todo o esforço é concentrado na resolução do problema e não em detalhes computacionais que podem ser acrescentados posteriormente. Portabilidade - uma solução algorítmica pode ser traduzida para qualquer linguagem de programação.

34 Forma de representação do Algoritmo:
Descrição narrativa ou Linguagem Natural; Fluxograma ou Diagrama de Blocos; Diagrama de Chapin; Pseudocódigo, Português estruturado ou Portugol

35 Descrição Narrativa É a forma mais espontânea de representação de algoritmos, pois descrevemos os passos do algoritmo utilizando o nosso linguajar quotidiano. Não se emprega nenhum recurso diagramático, e não há uma rigidez na estruturação das ações. Apresenta conteúdo extenso.

36 Descrição narrativa A descrição narrativa é a forma de representação de algoritmos onde analisamos o enunciado do problema e, simplesmente, descrevemos a sequência de passos em nossa língua nativa (em nosso caso, o português).

37 Descrição narrativa A vantagem A desvantagem de se utilizar esse procedimento é que não precisamos aprender nenhum conceito novo, pois já temos domínio sobre a nossa língua nativa. é que a língua natural pode ser interpretada de diferentes maneiras. Em comparação com uma linguagem de programação, a linguagem natural é abstrata, imprecisa e pouco confiável. Isso poderia trazer problemas na hora de transcrever o algoritmo para o programa (em uma linguagem de programação).

38 Descrição Narrativa Exemplo:
O uso de linguagem natural pode gerar más interpretações, ambiguidades e imprecisões.

39 Descrição narrativa - Ambiguidade
RECEITA DE BOLO COMUM DE OVOS Passo 8: Por último, adicione as claras em neve e mexa cuidadosamente; Passo 9: Coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; Passo 10: Após assado, desligue o forno e deixe o bolo esfriar; Passo 11: Desenforme e saboreie. INÍCIO Passo 1: Receber os ingredientes Ingredientes: 2 xícaras de açúcar; 3 ovos; 250g de margarina; É fato que a receita contém passos simples de entender, por ser escrita em nossa linguagem natural. Agora, vamos reler o passo 9 da receita: Passo 9: Coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; A informação em negrito é imprecisa e pode ser interpretada de diferentes formas por diferentes pessoas. Ou seja, "aproximadamente 35 minutos" pode ser um pouco menos que 35 minutos pra uma pessoa e um pouco mais que 35 minutos pra outra pessoa executando a mesma receita. Além disso, não fica clara a quantidade de manteiga e farinha de trigo que deve ser aplicada na forma. 3 xícaras de farinha de trigo; 1 e ½ colher de fermento; 1 xícara de leite. Modo de preparo: Passo 2: Aqueça o forno a 180 graus; Passo 3: Bata as claras em neve e reserve; Passo 4: Em uma travessa, bata o açúcar, a manteiga e as gemas; Passo 5: Misture a farinha e o leite; Passo 6: Bata bem, até ficar bem homogêneo; Passo 7: Com a ajuda de uma colher, acrescente o fermento;

40 Fluxograma É uma representação gráfica de algoritmo onde formas geométricas diferentes implicam ações distintas. Tal propriedade facilita o entendimento das ideias contidas nos algoritmos. Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los. Inicie o fluxograma de cima para baixo e da esquerda para a direita. Evitar cruzamento nas linhas do fluxograma.

41 Fluxograma Permite termos uma visão geral sobre alguns símbolos utilizados na criação de fluxogramas. É uma linguagem de símbolos utilizada para descrição de algoritmos. Sua utilização permite a diminuição da ambiguidade causada pela linguagem natural, devido a seus símbolos identificarem diferentes ações dentro de um algoritimo.

42 Fluxograma No fluxograma existem símbolos padronizados para início, entrada de dados, cálculos, saída de dados, fim, etc.

43 Exemplos

44 Fluxograma Exemplo:

45 Diagrama Chapin A ideia básica deste diagrama é representar as ações de um algoritmo dentro de um único retângulo, subdividido em retângulos menores, que representam os diferentes blocos de sequência de ações do algoritmo. Sequência Seleção Repetição

46 Diagrama Chapin Exemplo

47 Pseudocódigo (ou portugol)
Se você for pesquisar em outras fontes, verá que além desses termos (pseudocódigo ou portugol), podemos nos referir a essa forma de representação de outras maneiras, como: português estruturado, linguagem estruturada ou pseudolinguagem. O pseudocódigo obedece a regras predefinidas de estrutura para descrever um algoritmo.

48 Pseudocódigo (ou portugol)
Vimos que a descrição narrativa pode ser interpretada de diversas maneiras. Isso pode gerar ambiguidades. Já o fluxograma tem maior precisão, mas é pouco descritivo, o que pode torná-lo insuficiente, além de complicar-se, conforme o crescimento do algoritmo.

49

50 Pseudocódigo Representação rica em detalhes e assemelha-se bastante à forma em que os programas são escritos. Pode-se definir quais e como os dados vão estar estruturados. Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. Sintaxe não padronizada.

51 Pseudocódigo (ou portugol)
Pseudocódigo para calcular a média de um aluno com duas avaliações algoritmo "Média" //aqui, definimos o nome do algoritmo. var//início das declarações das variáveis. nota1 : real//aqui, é definida a entrada da primeira nota do aluno. nota2 : real// aqui, é definida a entrada da segunda nota do aluno. media : real//declaração da variável em que será armazenado o resultado do cálculo da média. Inicio //início do bloco de execução (local onde instruímos o computador a executar os comandos). escreva ("Digite o valor da primeira nota: ") //o programa exibe na tela o texto entre aspas. leia (nota1) // o programa lê o que o usuário escreveu: a primeira nota escreva ("Digite o valor da segunda nota: ") //o programa exibe na tela o texto entre aspas. leia (nota2) // o programa lê o que o usuário escreveu: a segunda nota media <- (nota1 + nota2)/2 //é realizado o cálculo da média. escreva ("A média do aluno é: ", media) //o valor encontrado é exibido na tel. fimalgoritmo //fim do algoritmo.

52 Pseudocódigo (ou portugol)
Vamos chamar as instruções que estão entre as palavras início e fimalgoritmo de bloco de execução do algoritmo. Veja que o bloco de execução não está posicionado no mesmo alinhamento das palavras início e fimalgoritmo. Chamamos esse recuo de identação. A identação não é obrigatória, mas é uma prática recomendada, que torna o código mais legível, pois facilita a visualização da delimitação dos blocos de execução de qualquer algoritmo. Nesse algoritmo, só há um bloco de execução entre o início e o fim. Por isso, talvez você só compreenda a importância da identação, quando começar a construir algoritmos mais complexos com diversos blocos de execução entre o início e o fim.

53 Pseudocódigo (ou portugol)
As palavras em negrito, no código do algoritmo, são as palavras reservadas da linguagem. Palavras reservadas são os comandos fornecidos pelas linguagens de programação que permitem a expressão dos algoritmos. Alguns exemplos de palavras reservadas são comandos de escrita ou leitura de dados e a declaração de variáveis (que é a definição dos dados de entrada), entre outras coisas.

54 Pseudocódigo Exemplo:

55 Passos para a construção de um algoritmo
1. Identificar o problema (objetivo) mediante leitura atenta de seu enunciado; 2. Retirar do enunciado as entradas de dados, ou seja, identificar os dados que devem ser fornecidos; 3. Retirar do enunciado as saídas de dados que devem ser gerados como resultado da solução; 4. Determinar o que deve ser feito para transformar (processar) as entradas nas saídas desejadas; 5. Construir o algoritmo; 6. Testar a solução.

56 Identificando entrada, processamento e saída
1- Construir um algoritmo para fazer um suco de Laranja natural. Entrada: Laranja Processamento: Cortar a laranja Espremer a laranja Saída: Suco de laranja 2- Construir um algoritmo para somar dois números Entrada: Primeiro número Segundo Número Processamento: Somar os números Saída: Resultado da soma

57 TESTE DE MESA Todo algoritmo deve ser testado
Usar dados e resultados previamente calculados, seguir precisamente as instruções do algoritmo e verificar se o procedimento está correto ou não

58 Lógica de Programação O conhecimento de Lógica de Programação é essencial para as pessoas que desejam trabalhar com desenvolvimento de sistemas e programas. Uma boa lógica de programação é desenvolvida a partir de um conjunto de elementos, entre eles: Integridade; Clareza; Eficiência; A lógica de programação permite definir a sequência correta para o desenvolvimento de algoritmo e programas computacionais.

59 Programas Programas são algoritmos escritos em uma linguagem de programação (Java, PHP, C#, Ruby, Delphi, Visual Basic) e que são interpretados e executados por uma máquina. Um computador é somente capaz de realizar estritamente as tarefas que lhe forem delegadas e que façam parte do conjunto daquelas ações que ele pode executar (programa).

60 Exercício 1) Identifique os dados de entrada, processamento e saída no algoritmo abaixo · Início · Ler código da peça · Ler valor da peça · Ler Quantidade de peças · Calcule o valor total da peça (Quantidade * Valor da peça) · Mostre o código da peça e seu valor total · Fim


Carregar ppt "SISTEMAS DE INFORMAÇÃO DISCIPLINA: INTRODUÇÃO A PROGRAMAÇÃO"

Apresentações semelhantes


Anúncios Google