• Nenhum resultado encontrado

Algoritmos e Programação. Prof. Gandhi Ferrari

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos e Programação. Prof. Gandhi Ferrari"

Copied!
29
0
0

Texto

(1)

Algoritmos e Programação

(2)

Algoritmos e Programação

(3)

Apresentação do Curso

• Professor: Hélio Oliveira “Gandhi” Ferrari

• Mestre em Engenharia da Computação pela

FEELT/UFU

• Bacharel em Engenharia Elétrica/UniFEB

• E-Mail: gandhiferrari@gmail.com

• Twitter:

http://twitter.com/gandhiferrari

• Facebook:

(4)

Plano de Ensino

• Objeto de estudo:

– Ensino dos conceitos básicos de algoritmos

estruturados, envolvendo tipos de dados e formas

de representação de algoritmos;

– Fundamentos das técnicas estruturadas de

programação para o desenvolvimento de

software;

(5)

Plano de Ensino

• Objetivos:

– Geral: Introduzir conceitos de técnicas de

programação, utilizando noções de algoritmos,

através de linguagem de alto nível.

– Específicos:

• Introduzir as técnicas para o desenvolvimento de algoritmos;

• Estudo e aplicação das técnicas básicas de programação em linguagem de alto nível;

(6)

Plano de Ensino

• Metodologia:

– Aulas teóricas (sala de aula) e práticas (laboratório);

• Avaliação:

– Avaliações escritas:

• 3 avaliações

• Segundas Oportunidades (Datas a definir) • 1 final (Datas a definir)

– Exercícios e atividades práticas em laboratório:

(7)

01 06/08 Apresentação da disciplina, plano de aula, avaliações.

ALGORITMOS NÃO COMPUTACIONAIS e COMPUTACIONAIS

02 13/08 OPERADORES ARITMÉTICOS, RELACIONAIS E LÓGICOS

03 20/08 FORMA GERAL DE UM ALGORITMO, VARIÁVEIS. OPERADORES DE

ATRIBUIÇÃO. PALAVRAS RESERVADAS. FLUXOGRAMA

04 27/08 COMANDOS DE ENTRADA E SAÍDA. COMENTÁRIOS. ESTRUTURA

SEQUENCIAL. LAB. 01

05 03/09 ESTRUTURA CONDICIONAL: SE – ENTÃO - SENÃO . LAB 02 06 10/09 Avaliação Oficial 1 (2 pts – Grupo)

07 17/09 ESTRUTURA CONDICIONAL: ESCOLHA ..CASO. LAB. 03 08 24/09 TESTE DE MESA E DEPURAÇÃO DE CÓDIGO.

09 01/10 Avaliação Oficial 1 (5 pts – Ind)

10 08/10 ESTRUTURAS DE REPETIÇÃO: REPITA...ATÉ, ENQUANTO..FACA.

LAB. 04

11 22/10 ESTRUTURA DE REPETICAO: PARA ... FACA . LAB. 05 12 29/10 VARIÁVEIS HOMEGENEAS LINEARES: VETORES - LAB. 06 13 05/11 VARIÁVEIS HOMEGENEAS COMPOSTAS: MATRIZES – LAB. 07 14 12/11 II Semana da Engenharia

15 19/11 SUBALGORITMOS – FUNÇÕES E PROCEDIMENTOS– LAB. 08 16 26/11 SUBALGORITMOS – FUNÇÕES E PROCEDIMENTOS– LAB. 09 17 01/12 SUBALGORITMOS – FUNÇÕES E PROCEDIMENTOS– LAB. 10 18 03/12 Avaliação Oficial 2

19 10/12 Avaliação Substitutiva 20 17/12 Avaliação Suplementar

(8)

Avaliação Parcial Avaliação Oficial Listas – 1 pt (Individual)

Trabalho - 2 pts(Grupo)

Prova 2 pontos (Grupo) Prova 5 pontos (Individual)

Bimestre 01

Avaliação Parcial Avaliação Oficial Semana da Engenharia (3 pts) Trabalho – 1 pt (ind)

Listas -1 pt

Prova 5 pontos (Individual)

(9)

Plano de Ensino

• Bibliografia

– ASCENCIO, Ana Fernanda Gomes; CAMPOS, Edilene

Aparecida Veneruchi de. Fundamentos da Programação de Computadores. 2ª edição. Editora Pearson Prentice Hall, 2003.

– FORBELLONE, André; EBERSPÄCHER, Henri. Lógica de

Programação – A construção de algoritmos e estruturas de dados. 3ª Edição. Editora Pearson Prentice Hall, 2005.

– DE OLIVEIRA, J.F.; MANZANO, José Augusto N. G.

Algoritmos: Lógica para Desenvolvimento de Programação de Computadores. Editora Érica, 21a ed., 2008.

– GUIMARÃES, Ângelo de Moura. Algoritmos e estrutura de

dados. Rio de Janeiro:LTC, 1985.

(10)

Plano de Ensino

• E-Books:

– TONET, Bruno; KOLIVER, Cristian. Introdução aos

algoritmos. Disponível em

<www.guanabara.info/logica/Apostilas/VisuAlg_Ref.pdf>. Acesso em 21 de Dezembro de 2010.

– EVARISTO, Jaime. Programando com Pascal. Disponível em <http://professor.ic.ufal.br/jaime/>. Acesso em 21 de

(11)

Plano de Ensino

• Site da disciplina:

– http://profgandhiferrari.wordpress.com

• Slides das aulas • Notas de aula • Lista de exercícios • Notas

• Informações sobre o curso • Downloads

• Softwares utilizados no curso:

(12)

O “segredo” para se sair bem na

disciplina

• Procurar estar presente na maioria das aulas (é

claro...)

– Lembre-se: Alguns exercícios poderão compor a nota de alguma prova!

• Se faltou, checar material no site e/ou com os

colegas de sala;

• Dúvida em algum assunto ou aula? Pergunte ao

professor durante as aulas ou envie um e-mail

• E o mais importante: EXERCITE, EXERCITE...

(13)

Como ser reprovado em Algoritmos

e/ou Laboratório de Programação

• Este é um guia com tudo o que você sempre

quis saber para rodar facilmente e com

tranquilidade nas disciplinas de algoritmos.

Siga pelo menos um destes passos e sua feliz

reprovação estará praticamente garantida!

Bom próximo semestre!

• Por João Batista (oliveira @ inf. pucrs.br) e

Marcelo (flash @ inf. pucrs.br).

(14)

• Baixe todas as apostilas da disciplina, e depois

carregue na pasta o tempo todo, pois elas criam um

campo magnético onde você aprende por osmose.

NÃO LEIA nenhuma delas, pois isso desfaz

imediatamente o campo e você não vai aprender

nada!

• Quando fizer trabalho em grupo, pendure-se em um

grupo qualquer e não levante um dedo pra fazer o

trabalho. Lembre-se de que mais tarde você vai ter

de fazer prova, e não deve estar esgotado de tanto

pensar em algoritmos!

(15)

• Não entre nunca na biblioteca, nem pra

devolver livro dos outros. Você pode achar

algo interessante pra ler, e isso arruinaria o

seu final de semana.

• O LABIN deve ser evitado a todo o custo! Além

do desgastante contato direto com o

computador, você ainda corre o risco de

aprender a programar de verdade, portanto

proteja-se!

(16)

• Listas de exercícios são para os incompetentes, por isso você pode ignorá-las. Dê risada quando encontrar alguém fazendo • Use a aula pra colocar a conversa em dia, afinal você nunca

sabe quando vai ver seus amigos outra vez.

• Se você for menino, não anote nada e copie o caderno de

uma guria. Se você for guria, não anote nada e copie de outra guria. Afinal, para ir bem nas provas basta decorar a matéria! • Só os incompetentes estudam muitos dias antes da prova. Os

(17)

Afinal, o que é um algoritmo?

• Sequência de instruções finitas e ordenadas

de forma lógica para a resolução de uma

determinada tarefa ou problema;

• Não necessariamente envolve aspectos

computacionais. Ex.: Uma receita de bolo,

trocar um pneu de carro, trocar uma lâmpada,

manual de instruções;

(18)

Exemplo

Sequência para fritar um ovo:

1. Retirar o ovo da geladeira 2. Colocar a frigideira no fogo 3. Colocar óleo

4. Esperar até o óleo ficar quente 5. Quebrar o ovo separando a casca

6. Colocar o conteúdo do ovo na frigideira 7. Esperar um minuto

8. Retirar o ovo da frigideira 9. Apagar o fogo

(19)

Exemplo

• Tal sequência é um algoritmo? Vejamos...

– Possui uma sequência de instruções finitas e

ordenadas?

• R.: SIM. Instruções de 1 a 9.

– O objetivo da sequência foi atingido?

• R.: SIM. O ovo foi frito.

(20)

Exercício

• Ordene e estruture uma

sequência para a

realização de uma

ligação telefônica em

um orelhão.

(21)

Exercício

Resposta 1:

1. Tirar o fone do gancho

2. Ouvir sinal de linha

3. Introduzir cartão

4. Teclar o número desejado

5. Conversar

6. Desligar

(22)

Exercício

• Resposta 2 (Mais robusta)

1. Tirar o fone do gancho 2. Ouvir sinal de linha 3. Introduzir cartão

4. Teclar o número desejado 5. Se chamar e alguém atender

1. Conversar 2. Desligar

3. Retirar o cartão

6. Senão

1. Desligar

(23)

O que podemos concluir sobre

algoritmos?

• Algoritmo é uma espécie de passo a passo;

• Algoritmos realizam uma saída (ex.: Um ovo frito) a

partir de uma determinada entrada (um ovo) através

de uma sequência de passos;

• Os passos tem que ser executados um após o outro;

• Um algoritmo está correto quando sua sequência de

instruções resulta em uma saída esperada.

• Podem existir um ou mais algoritmos para atingir um

resultado, desde que o resultado (a saída) seja o

(24)

Observação

• O algoritmo não é a solução do problema, mas

o caminho que leva a mesma!

(25)

Um pouco de lógica

Três senhoras, Dona Branca, Dona Rosa e

Dona Violeta, passeavam pelo parque, quando Dona Rosa disse:

- Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora

nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome?

- Uma simples coincidência - respondeu a senhora com vestido violeta.

(26)

Um pouco de Lógica

"O estudo da lógica é o estudo dos métodos e princípios usados para distinguir o raciocínio correto do incorreto."

Irving Coppi

"A lógica trata de argumentos e inferências. Um de seus propósitos básicos é apresentar métodos capazes de identificar os argumentos logicamente válidos, distinguindo-os dos que não são logicamente válidos."

Wesley Salmon

"A tarefa da lógica sempre foi a de classificar e organizar as inferências válidas, separando-as daquelas que não o são. A importância desta organização não deve ser subestimada, pois usam-se as inferências (de preferência válidas) tanto na vida comum como nas ciências formais, sendo um exemplo a matemática."

Jesus Eugênio de Paula Assis

"Para Aristóteles, a lógica é a ciência da demonstração; (...) para Lyard é a ‘ciência das regras do pensamento’. Poderíamos ainda acrescentar: (...) é a ciência das leis ideais do pensamento e a arte de aplicá-las corretamente na procura e

demonstração da verdade."

(27)

Exemplo

Dispõe-se de 2 vasilhas com capacidades

marcadas de 9 e 4 litros respectivamente.

Mostre a seqüência de passos necessários

para colocar numa terceira vasilha de medida

desconhecida um volume de 6 litros.

(28)

Outro exemplo

• Como fazer para que as três rãs que estão em quatro

casas nas seguintes posições,

• terminem assim?

Rã 1 Rã 2 Rã 3

(29)

Regras para as rãs

• Somente pular para a casa da frente ou

de trás se ela estiver vazia.

• Pular a rã vizinha se for parar em uma

casa vazia.

• Este algoritmo serve para ordenar

dados, e é muito utilizado em

Referências

Documentos relacionados

A incidência de FO no estado de Sergipe obtida através dos dados do SINASC, no mesmo período da pesquisa, foi de 0,54 novos casos de fissura para cada 1000 nascidos vivos..

Entretanto, encontramos evidências neste trabalho de que estas variáveis não satisfazem as condições para serem utilizadas como instrumentos (Cap.2, seção 3.1.).

Table 3 Components of the TβD (Jaccard index) observed and comparison between the mean samples and standard deviation for primary ray-finned fishes in Brazil. JAC:

Uma vez formado o quadro, utilizá-lo ao seu potencial máximo significa atribuir tarefas de acordo com habilidades e competências de cada diretor, investir na

Assim como a Natureza, a leitura de folhetos de cordel constituiu uma fonte de inspiração para fazer poesia.. Na comunidade em que vivia Patativa, a leitura dos folhetos de

As quinolonas já têm sido relatadas como seguras para o tratamento da otite, sem apresentar sinais de ototoxicidade nos animais (GOTTHELF, 2004), e não foram observados

Observações como esta ganham peso ainda maior quando se leva em conta que, num país desprovido de cultura científica, os veículos de comunicação representam o canal mais

alimentares: de crianças menores de seis meses: Aleitamento Materno Exclusivo (AME): nenhum outro alimento é oferecido à criança, além do leite materno; Aleitamento Materno