• Nenhum resultado encontrado

aula 01

N/A
N/A
Protected

Academic year: 2021

Share "aula 01"

Copied!
37
0
0

Texto

(1)

Prof. MSc. Fabiano Amorim Vaz

Apresentação da Disciplina

(2)

Quem é esse Professor?

Nome: Fabiano Amorim Vaz Formação Acadêmica:

• Mestre em Ciência da Computação – UFPE

– Universidade Federal de Pernambuco

• Pós-graduando em Docência do Ensino Superior

– Universidade Leonardo Da Vinci

• Bacharel em Sistemas de Informação – FASETE

– Faculdade Sete de Setembro

Research Interests:

• Realidade Virtual e Aumentada; • Inteligência Artificial;

• Processamento de Imagens;

(3)

Índice da Apresentação

Prof. MSc. Fabiano Amorim Vaz 3 » Apresentação da Disciplina

» Objetivo da Disciplina

» Critérios para a Avaliação

» Objetivo da Aula

» Fundamentos de Lógica de Programação

» Lógica

» Sequência

» Instruções

» Algoritmos

(4)

Apresentação da Disciplina

» Fundamentos de Algoritmos e Programas:

» Noções básicas sobre linguagens de programação;

» Discussão das formas de representação do raciocínio algoritmo;

» Definição dos elementos básicos de um algoritmo em uma linguagem de pseudo-código;

» Apresentação e utilização de um Ambiente Integrado de Desenvolvimento (IDE):

» Tipos de dados (constantes e variáveis);

(5)

Objetivo da Disciplina

Prof. MSc. Fabiano Amorim Vaz 5 » Capacitar o aluno a entender os conceitos básicos relacionados à lógica

de programação e algoritmos

» Demonstrar a importância dos conceitos para o desenvolvimento de sistemas computacionais.

» Utilizar formas de representações de problemas com construções de algoritmos e programas.

» Caracterizar e ilustrar o que é um algoritmo

(6)

Como conseguiremos?

» Proporcionando o desenvolvimento de uma visão crítica sobre a Lógica de Programação.

» Desenvolvendo a habilidade de solucionar problemas de média complexidade.

» Compreendendo a linguagem C e os mecanismo para utilizá-la.

» Praticando o raciocínio lógico e delineando sequências de instruções.

(7)

O que precisamos saber?

Prof. MSc. Fabiano Amorim Vaz 7 » Habilidades pessoais:

Raciocínio Lógico;

Organização de Pensamentos;

Inglês Instrumental (para Ciência da Computação).

» Conhecimento especifico:

(8)

Recursos Didáticos

» Site da Disciplina:

Fórum de discussões centralizado;

Resolução de questões.

» Plano de Curso (conteúdo programático, método de avaliação,..);

» PIT (Planejamento cronológico,...);

(9)

Metodologia de Trabalho

Prof. MSc. Fabiano Amorim Vaz 9 » Aulas expositivas intercalada com aulas práticas onde serão feitos pequenos

protótipos utilizando os conceitos apresentados;

» A disciplina será trabalhada a partir de presença e participação em aulas;

» Apresentação de textos complementares, discussões e trabalhos em grupos (projetos), avaliação formal e informal;

» Exercícios tem destaque especial na avaliação, por comprovar na prática o que conhecimento teórico discutido.

(10)

Método de Avaliação

» 1ª NOTA:

10,0 pontos – Exercícios Complementares.

10,0 pontos – “Mini-prova”.

• A 1ª nota é composta pela média aritmética das notas.

» 2ª NOTA:

10,0 pontos – Projeto.

10,0 pontos – “Mini-prova”.

(11)

O QUE É LÓGICA?

R: Encadeamento e ordenação de ideias

INICIANDO...

(12)

Lógica de Programação: é a técnica de

encadear pensamentos para atingir

determinado objetivo.

Lógica de Programação

»

A lógica de programação é necessária para pessoas que

desejam trabalhar com desenvolvimento de sistemas e

programas, ela permite definir a seqüência lógica para o

desenvolvimento.

(13)

Sequência Lógica são passos

executados até atingir um objetivo

ou solução de um problema.

Sequência Lógica

Prof. MSc. Fabiano Amorim Vaz 13

»

Estes pensamentos, podem ser descritos como uma seqüência

de instruções, que devem ser seguidas para se cumprir uma

determinada tarefa.

(14)

» Exemplo:

» Sacar dinheiro no Banco (desordenado)

» Sair do Banco

» Pegar a fila do caixa

» Informar o valor

» Inserir o cartão

» Inserir a senha

» Pegar o dinheiro

» Entrar no Banco

Sequência Lógica

(15)

Prof. MSc. Fabiano Amorim Vaz 15

» Exemplo:

» Sacar dinheiro no Banco (ordenado)

1. Entrar no Banco

2. Pegar a fila do caixa

3. Inserir o cartão

4. Inserir a senha

5. Informar o valor

6. Pegar o dinheiro

7. Sair do Banco

Sequência Lógica

(16)

Instruções

são um conjunto de regras

ou normas definidas para a realização

ou emprego de algo.

Em informática, é o que indica a um computador uma ação

Instruções de Programas

» Indica a um computador uma ação elementar a executar.

» Uma ordem isolada não permite realizar o processo completo, para isso é necessário um conjunto de instruções colocadas em ordem sequencial lógica.

(17)

Até mesmo as coisas mais simples,

podem ser descritas por sequências

lógicas.

Por exemplo: Trocar uma lâmpada;

Algoritmos de Programação

Prof. MSc. Fabiano Amorim Vaz 17

»

Sequência finita de passos que levam a execução de uma

tarefa.

»

Estas tarefas não podem ser redundantes nem subjetivas na

sua definição, devem ser claras e precisas.

(18)

Algoritmos de Programação

»

Características básicas de um algoritmo:

– Sequência lógica

• As instruções devem ser definidas em uma ordem correta.

– Não ambígua

• A sequência lógica e as instruções não devem dar margem à

dupla interpretação.

– Solução de um problema

• A sequência lógica deve resolver exatamente (nem mais e

nem menos) o problema identificado.

(19)

Algoritmos de Programação

Prof. MSc. Fabiano Amorim Vaz 19

• Exemplos de algoritmos

– Receitas de comidas

– Coreografia

– Manuais de instalação

• Contra-exemplos de algoritmos

– Listas de compras

– Dança informal

(20)

Algoritmos de Programação

»

Atenção:

»

Um algoritmo é “uma solução” e não “a solução” de

um problema.

»

Um problema pode ser resolvido por mais de um algoritmo!

»

Tarefas que possuem “padrão de comportamento”

podem ser descritas por um algoritmo.

(21)

Exemplo:

Prof. MSc. Fabiano Amorim Vaz 21

Retângulo A Retângulo B Retângulo C

1º - Escrever o primeiro número no retângulo A

2º - Escrever o primeiro número no retângulo B

3º - Some o número do retângulo A com o número do

retângulo B e coloque o resultado no retângulo C

(22)

Um programa é por natureza muito

específico e rígido em relação aos algoritmos

da vida real.

O que são Programas?

» Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador:

– Pascal; C; Java; Python; Ruby; entre outras

(23)

Fluxo de Dados de um Programa

Prof. MSc. Fabiano Amorim Vaz 23

Instruções de E/S

Entrada

de Dados

Processamento

de dados

Saída

de

Dados

(24)

COMO CRIAR UM PROGRAMA?

INICIANDO...

(25)

Linguagem de Programação?

Prof. MSc. Fabiano Amorim Vaz 25

(26)

COMO REPRESENTAR UM

ALGORITMO?

INICIANDO...

(27)

Representando um Algoritmo

Prof. MSc. Fabiano Amorim Vaz 27

»

Algoritmos podem ser representados, dentre outras maneiras,

por:

»

DESCRIÇÃO NARRATIVA

» Utiliza uma linguagem de escrita natural para descrever algoritmos.

»

FLUXOGRAMA (DIAGRAMA DE MÓDULOS)

» Utiliza uma linguagem de representação gráfica para descrever

algoritmos.

»

LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO)

(28)

Representando um Algoritmo

• Descrição narrativa do algoritmo

Fahrenheit-Celsius:

- solicite a temperatura em Fahrenheit;

- transforme a temperatura em Fahrenheit para Celsius;

- informe a temperatura em Celsius.

(29)

Representando um Algoritmo

Prof. MSc. Fabiano Amorim Vaz 29

• Fluxograma (Diagrama de Módulos)

– Seus principais símbolos gráficos são:

= Início e final do fluxograma = Operação de entrada de dados

= Operações de processamento

= Decisão

= Operação de saída de dados em vídeo

= Seta de Fluxo de Dados = Conector de Fluxo de Dados

(30)

Representando um Algoritmo

• Fluxograma do algoritmo Fahrenheit-Celsius

Início Fahrenheit Celsius = 5/9 * (Fahrenheit – 32) Celsius Início do algoritmo Entrada da temperatura (F) Cálculo da temperatura (C) Apresentação do resultado

(31)

Representando um Algoritmo

Prof. MSc. Fabiano Amorim Vaz 31

• Linguagem algorítmica (pseudo-código)

– A forma geral de um algoritmo em pseudo-código:

Algoritmo <nome_do_algoritmo>

[<declaração_de_variáveis>]

[<sub-algoritmos>]

Início

<corpo_do_algoritmo>

Fim.

(32)

Representando um Algoritmo

• LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO)

– Onde:

• Algoritmo

– Indica o início da definição do algoritmo.

• <nome_do_algoritmo>

– Nome dado ao algoritmo para distingui-lo dos demais.

• [<declaração_de_variáveis>]

(33)

Representando um Algoritmo

Prof. MSc. Fabiano Amorim Vaz 33

• LINGUAGEM ALGORÍTMICA (PSEUDO-CÓDIGO)

– Onde:

• [<subalgoritmos>]

– Parte opcional onde são definidos os sub-algoritmos.

• Início

– Palavra que delimita o início

do corpo do algoritmo.

• <corpo_do_algoritmo>

– Conjunto

de instruções do algoritmo.

• Fim

(34)

Representando um Algoritmo

• Pseudo-código do algoritmo Fahrenheit-Celsius

Algoritmo Fahrenheit-Celsius

Real: Fahrenheit, Celsius;

Início

Ler (Fahrenheit);

Celsius  5/9 * (Fahrenheit – 32);

Escrever (Celsius);

(35)

Representando um Algoritmo

Prof. MSc. Fabiano Amorim Vaz 35

Ling. Algorítmica

Algoritmo Fahrenheit-Celsius Real: Fahrenheit, Celsius; Início Ler (Fahrenheit); Celsius  5/9 * (Fahrenheit – 32); Escrever (Celsius); Fim

Fluxograma

Desc. Narrativa

Solicite a temperatura em Fahrenheit. Transforme de Fahrenheit para Celsius. Informe a temperatura em Celsius. Início Fahrenheit Celsius = 5/9 * (Fahrenheit – 32) Celsius Fim

(36)

Representando um Algoritmo

Vantagens Desvantagens

Descrição Narrativa

 O português é bastante conhecido

por nós.

 Imprecisão.

 Pouca confiabilidade (a imprecisão

acarreta a desconfiança).

 Extensão (normalmente, escreve-se

muito para dizer pouca coisa).

Fluxograma  Padrão mundial.

 Ferramenta bem conhecida.

 Figuras dizem muito mais que

palavras.

 Complica-se à medida que o

algoritmo cresce.

 Pouca atenção aos dados, não

oferecendo recursos para declará-los.

Linguagem Algorítmica

 Independência de linguagem de

programação.

 Usa o português como base.

 Define-se melhor quais e como os

dados vão estar estruturados.

 Exige a definição de uma linguagem

não real para trabalho.

(37)

Feedback de conhecimentos

Prof. MSc. Fabiano Amorim Vaz 37 » Atividade de Participação (em dupla):

» Desafios Lógicos

» Desafios Algoritmos

» Objetivo:

» Verificar o grau da aprendizagem do tema apresentado: Lógica de Programação.

» Inicio: AGORA!!!

Referências

Documentos relacionados

(2.º Teste intermédio Mat.. a) É aconselhável que um medicamento com as características do ZITEX comece a produzir efeito, no máximo, 15 minutos após ter sido administrado a um

Recurso 48 horas a partir da publicação do edital de homologação Seleção de 11 de setembro até 14 de setembro de 2018. Divulgação do Resultado A partir do dia 18 de setembro

Objetivo : avaliar, comparativamente, a infiltração marginal de restaurações em resina composta, nas quais foi utilizado um sistema adesivo sem carga, Adper Scotchbond Multi-Uso®

As pessoas que sentem isso beneficiam-se com a prática regular do Exercício 6: Como Fazer Fluir Energia Pelo Corpo Todo e do Exercício 8: Troca de Energia com a Natureza,

Em geral, o dependente de cocaína perde o senso crítico e pode tornar-se uma personalidade perversa, caminho para o quadro psicótico, com alucinações e delírios de

A partir do momento em que você tem dentro da negociação coletiva não mais o limite de tratar exclusivamente daqueles que já são integrantes da sua categoria, mas também de trazer

Relacionar a contaminação da água subterrânea por fluoreto com a endemia de fluorose dentária e com os condicionantes geológicos (estratigráficos e estruturais) do

infinito de pequenas variantes que podem ser encontradas na atitude de al pequenas variantes que podem ser encontradas na atitude de alguns guns indivíduos, ou mesmo nas atitudes