25
04/08/2016 1 ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Prof. Esp. Fabiano Taguchi http://fabianotaguchi.wordpress.com [email protected] ALGORITMOS E LÓGICA DE PROGRAMAÇÃO Carga horária: 60 horas/aula Aulas: Sextas – 19h00min às 20h15min 20h45min às 22h00min Formas de avaliação Prova e listas de exercícios Participação nas aulas

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO · •Prova Parcial 2º Bimestre –04/11/2015 ... Slide 21 FT1 Fabiano Taguchi; 04/08/2016 Slide 22 FT1 Fabiano Taguchi; 04/08/2016. 04/08/2016

Embed Size (px)

Citation preview

04/08/2016

1

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

Prof. Esp. Fabiano Taguchi

http://fabianotaguchi.wordpress.com

[email protected]

ALGORITMOS E LÓGICA DE PROGRAMAÇÃO

• Carga horária: 60 horas/aula

• Aulas: Sextas – 19h00min às 20h15min

20h45min às 22h00min

• Formas de avaliação

Prova e listas de exercícios

Participação nas aulas

04/08/2016

2

APRESENTAÇÃO

Prof. Esp. Fabiano Taguchi

• Bacharel em Sistemas de Informação

• Pós graduado em Gestão de Projetos

• Pós graduado em Gestão de Tecnologia da Informação

Experiências profissionais...

COMPETÊNCIAS

• Conhecer e utilizar ferramentas matemáticas eestatísticas para modelar, simular e otimizar sistemas deprodução;

• Conhecer métodos e técnicas de desenvolvimento,implantação e gerenciamento de processos;

• Conhecer métodos e técnicas de gestão para tomada dedecisão.

04/08/2016

3

HABILIDADE

• Analisar e Interpretar;

• Liderar;

• Ser criativo;

• Relacionamento interpessoal;

• Trabalhar em equipe multiprofissional;

• Tomar decisão;

• Raciocinar de forma lógica;

• Raciocinar de forma crítica e analítica;

• Comunicar.

JUSTIFICATIVA DA DISCIPLINA

Permitir ao acadêmico desenvolver raciocínio lógicoaplicado à solução de problemas em nível computacional,além de introduzir os conceitos básicos de desenvolvimentode algoritmos, para propiciar-lhes visão crítica e sistemáticana resolução de problemas e prepará-los para a atividadede programação.

04/08/2016

4

OBJETIVOS E METODOLOGIA

Apresentar os conceitos iniciais de algoritmos, ensinartécnicas de programação e introduzir a linguagem deprogramação.

Serão aulas em quadro negro com utilização de recursosaudiovisuais, onde o conhecimento será apresentado,discutido e desenvolvido junto com o discente. Oprocedimento educacional se complementa com trabalhos,listas de exercícios e estudos auxiliados por computador(Práticas de laboratório).

METODOLOGIA

As aulas serão postadas no portal com 48 horas deantecedência à aula presencial.

FLIPPED CLASSROOM

• Pré-aula – Uso de artigos e vídeos curtos para introduçãodo assunto

• Aula – Quadro negro, computador e datashow paraapresentação do conteúdo

• Pós-aula – Exercícios para aplicação do conhecimentoadquirido

04/08/2016

5

PLANEJAMENTO DE ENSINO

UNIDADE DE ENSINO I

Algoritmos e Programação – Contextos e Práticas

– Histórico e definição de algoritmos: Perspectivas de linguagem;

– Tipos de dados e expressões: literais, lógicas e aritméticas;

– Representação de algoritmos e o ambiente de programação;

– Declaração de variáveis e constantes.

PLANEJAMENTO DE ENSINO

UNIDADE DE ENSINO II

Estruturas de decisão e seleção

– Instruções primitivas: entrada de dados, atribuição e saída;

– Estrutura condicional simples;

– Estrutura condicional composta;

– Estrutura condicional sequencial e encadeada.

04/08/2016

6

PLANEJAMENTO DE ENSINO

UNIDADE DE ENSINO III

Estruturas de seleção (case) e repetição

– Estrutura de múltipla escolha (case);

– Repetição condicional com teste no início;

– Repetição condicional com teste no final;

– Repetição controlada por variável.

PLANEJAMENTO DE ENSINO

UNIDADE DE ENSINO III

Vetores e matrizes

– Aplicação utilizando vetores e matrizes;

– Operações sobre vetores e matrizes;

– Os vetores como estrutura de dados;

– As matrizes como estrutura de dados.

04/08/2016

7

AVALIAÇÕES

Cada bimestre será composto por:

• Avaliação parcial – Peso 03

• Avalição oficial – Peso 07

Média bimestral – (MD1)*0,4 + (MD2)*0,6

As avaliações poderão ser realizadas a partir de exercíciosteóricos, seminários e utilização de artigos científicossobre o conteúdo da disciplina.

AVALIAÇÕES

• Prova Parcial I 1º Bimestre – 09/09/2016

• Prova Oficial I 1º Bimestre – 30/09/2016

• Prova Parcial 2º Bimestre – 04/11/2015

• Prova Oficial 2º Bimestre – 25/11/2016

• Segunda chamada – 12 a 14/12/2016

• Prova final – 19/12 a 22/12/2016

04/08/2016

8

REFERÊNCIAS BIBLIOGRÁFICAS

BÁSICAS

• FARRER, Harry Et Al. Programação estruturada de computadores: algoritmos estruturados. 3. ed. Rio de Janeiro LTC - Livros Técnicos e Científicos 2011. 284 p

• GERSTING, Judith L. Fundamentos matemáticos para a ciência da computação: um tratamento moderno de matemática discreta. 5. ed. Rio de Janeiro: LTC - Livros Técnicos e Científicos, 2004, 2008. 597 p. ISBN 9788521614227.

• MANZANO, José Augusto N. G; OLIVEIRA, Jayr Figueiredo de. Algoritmos: logica para desenvolvimento de programação de computadores. 26. ed. Sao Paulo Erica 2012. 328 p

REFERÊNCIAS BIBLIOGRÁFICAS

COMPLEMENTARES

• FERNANDA, Ascencio Ana. LÓGICA DE PROGRAMAÇÃO COM PASCAL. . São Paulo: Pearson Makron Book, 1999.

• MEDINA, Marco; FERTIG, Cristina. Algoritmos e programação: teoria e pratica. 2. ed. São Paulo: Novatec, 2006. 384 p

• SALIBA, Walter Luiz Caram. Técnicas de programação: uma abordagem estruturada. São Paulo: Makron Books, 1992. 141 p

04/08/2016

9

REFERÊNCIAS BIBLIOGRÁFICAS

COMPLEMENTARES

• CLAUDIO, Dalcidio Moraes; MARINS, Jussara Maria. Cálculo numérico computacional: teoria e pratica: algoritmos em pseudo-linguagem -indicacoes em software matematico - 150 exercicios resolvidos - exerciciospropostos. 3. ed. Sao Paulo: Atlas, 1994, 2000. 464 p

• CHAPRA, Steven C. Métodos numéricos para engenharia. 5. Porto Alegre ArtMed 2010 1 recurso online ISBN 9788580550115.

REFERÊNCIAS BIBLIOGRÁFICAS

OUTRAS FONTES DE PESQUISA

• REVISTA ON-LINE DE INFORMÁTICA, INOVAÇÃO E PESQUISA DA FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DO RIO PRETO.

• REVISTA DE INFORMÁTICA TEÓRICA E APLICADA

• SciLab. Disponível em: <http://www.scilab.org>

04/08/2016

10

EXERCITANDO A LÓGICA

01 – Uma lesma deve subir um poste de 10m de altura. Dedia sobe 2m e à noite desce 1m. Em quantos dias atingirá otopo do poste?

02 – Três gatos comem três ratos em três minutos. Cemgatos comem cem ratos em quantos minutos?

EXERCITANDO A LÓGICA

03 – Qual o próximo número da sequência 7,8,10,13,17?

04 – Um pai de 80kg e suas 2 filhas (40kg cada), precisamsair de uma ilha com um barco. Porém a capacidade dobarco é de 80kg. Como farão para sair da ilha?

04/08/2016

11

ALGORITMOS

“Para programarmos em um computador, devemosconhecer e entender o que são os algoritmos e comoutilizá-los para determinar a sequência de passosnecessários para resolvermos determinados problemas ou,em outras palavras, encontrarmos a solução, ou a melhorsolução, para a implementação em uma linguagem deprogramação” (PIVA JUNIOR et al., 2012, p. 3).

FT1

ALGORITMOS

ALGORITMO É:

Conjunto de processosou ações que obedecema uma sequencia lógicapara executar tarefas.

FT1

Slide 21

FT1 Fabiano Taguchi; 04/08/2016

Slide 22

FT1 Fabiano Taguchi; 04/08/2016

04/08/2016

12

ATENÇÃO

Todas as ações que realizamos obedecem a uma sequência, e que esta precisa ser executada para que se consiga atingir o objetivo predeterminado.

• Trocar uma lâmpada

• Trocar o pneu de um carro

• Fazer café

FT1

ALGORITMOS

Todas as ações que realizamos obedecem uma sequencia lógica, e esta sequencia precisa ser obedecida para que um objetivo possam ser alcançado. E nisso são observadas:

• Sintaxe

• Programação estruturada

• Programação orientada a objetos

FT1

Slide 23

FT1 Fabiano Taguchi; 04/08/2016

Slide 24

FT1 Fabiano Taguchi; 04/08/2016

04/08/2016

13

ALGORITMO DE EUCLIDES

PASSOS:

1. Divide um número “a” por “b” e o resto de divisão échamado de “r”.

2. Substitui “a” por “b”.

3. Continua a divisão e substitui “b” por “r”.

4. Divide “a” por “b” até que um não possa ser maisdividido e o “a”, para esta situação, será o máximodivisor comum.

FT1

CARACTERÍSTICAS

Um algoritmos possui como características:

• Finitude;

• Definição;

• Entrada;

• Saída;

• Eficácia.

Slide 25

FT1 Fabiano Taguchi; 04/08/2016

04/08/2016

14

ALGORITMOS

Com o estudo dos algoritmos a identificação dos passosserá facilitada. Um algoritmo funciona a partir de:

• Dados

• Processamento

• Informação

PROGRAMAÇÃO

As linguagens de programação visam possibilitar a inserçãodos passos ou ações que o software deverá executar,através de uma plataforma que permita, desde que respeitea sintaxe de cada uma, expressar a sequência lógicadeterminada no algoritmo ou em sua construção.

• Desktop

• Web

• Aplicativos móveis

FT1

Slide 28

FT1 Fabiano Taguchi; 04/08/2016

04/08/2016

15

ORGANIZAÇÃO BÁSICA – PC

• Unidade de entrada;

• Unidade de saída;

• Unidade de processamento central;

• Memória.

ORGANIZAÇÃO BÁSICA – PC

04/08/2016

16

TABELA ASCIIAMERICAN STANDARD CODE

Tabela responsável por converter os caracteres para a suarespectiva combinação binária, desta forma, cada caractereé composto por 8 bits.

Disponível em: <http://www.ascii-code.com>

EXEMPLO PRÁTICOhttps://www.ufrgs.br/psicoeduc/hanoi/

04/08/2016

17

PROCESSO DE CONSTRUÇÃO

Compreender o problema

Definir os dados de entrada

Realizar o processamento

Definir os dados que

serão exibidos

DESCRIÇÃO NARRATIVA

Representação do problema é feita por meio da linguagemnatural, descrevendo os passos que devem ser seguidospara solução de um problema.

Exemplo: Algoritmo que efetua a soma entre doisnúmeros.

É preciso obter como entrada dois números quaisquer,esses números devem ser somados, e então o resultadoapresentado.

04/08/2016

18

FLUXOGRAMA

Consiste em uma notação gráfica que permite indicar asações e decisões.

SIMBOLOGIA

Declara o início e o fim do algoritmo

Indica a fase do processamento

Representa a entrada de dados

Usado para representar a saída de dados

Determina o fluxo do algoritmo

Estrutura condicional (Decisão)

04/08/2016

19

PSEUDOCÓDIGO

Representação do problema por meio de regras pré-definidas, essa linguagem em geral é conhecido comoportuguês estruturado.

Algoritmo soma

Var

valor1, valor2, soma: inteiro

Inicio

leia (valor1)

leia (valor2)

s <- valor1+valor2

Fim

EXERCÍCIO

Elabore um algoritmo que some quatro notas e calcule amedia aritmética dessas notas Ao final informe ao usuário amédia final obtida.

ENTRADAS?

PROCESSAMENTO?

SAÍDAS?

04/08/2016

20

PROBLEMÁTICA

Suponha que você e a sua equipe foram contratados para odesenvolvimento de um aplicativo que divulgue os serviçosde hotelaria e gastronomia dos comerciantes do litoral sul.

Uma das propostas da empresa é disponibilizar umprotótipo do aplicativo para celular que informamosusuários quais são os serviços de hotelaria e gastronomiadisponíveis naquela região.

PROBLEMÁTICA

É preciso definir em linguagem natural um algoritmo quedeixe clara a sequência lógica que terá de ser cumpridapara a solução do problema que os comerciantes do LitoralSul têm de resolver.

O que precisa ser feito?

04/08/2016

21

PROBLEMÁTICA

1. Início

2. Levantar requisitos do aplicativo junto aos comerciantes.

3. Escrever o plano de ação do projeto.

4. Obter a aprovação junto aos clientes.

5. Elaborar o algoritmo do software em questão em linguagem natural e em pseudocódigo.

6. Desenvolver o fluxograma das ações do aplicativo.

7. Direcionar à equipe de desenvolvimento do projeto para a implantação.

8. Desenvolver a solução utilizando uma linguagem de programação.

9. Realizar os testes.

10. Disponibilizar o aplicativo.

11. Encerrar o projeto.

ONDE PRATICAR

• VISUALG

Disponível em: www.apoioinformatica.com.br

• DEVC++

Disponível em www.bloodshed.net/devcpp.htm