introdução à programaçãograc/ip/aula01 - apresentacao.pdf · conceitos básicos: variáveis,...

43
Introdução à Programação Prof. Gustavo Callou [email protected] [email protected]

Upload: others

Post on 07-Aug-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Introdução à Programação

Prof. Gustavo Callou

[email protected]

[email protected]

Page 2: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Apresentações;

A disciplina:

Objetivos;

Cronograma;

Avaliação;

O que é Computação;

Breve histórico.

Gustavo Callou DEINFO/UFRPE 2

Roteiro

Page 3: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Nos conhecendo

3

Quem são vocês?

Experiências?

Expectativas?

Page 4: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Apresentação

Disciplina: Introdução à Programação

Professor: Gustavo Callou

Carga Horária: 90h

Horário:

Seg 20h 10

Qua 18h 30

Sex 18h 30

Site:

Site: www.cin.ufpe.br/~grac/ip

AVA

4

Page 5: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Do que se trata esta

disciplina?

5

Page 6: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Ementa

Fundamentos da construção de algoritmos e programas;

Ambientes de programação: uso de uma linguagem de programação;

Conceitos básicos: variáveis, operadores e expressões, estruturas de controle (atribuição, seleção, repetição);

Dados estruturados;

Subprogramas: funções, procedimentos;

Parâmetros locais e globais;

Recursão;

Ponteiro; e

Manipulação de Arquivos.

Page 7: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Ementa

Algoritmos Pesquisa sequencial e binária

bublesort

inserção

shellsort

heapsort

quicksort.

Noções de Complexidade e Paradigmas de Programação Notação o, O, Ω e Ө.

Introdução a programação orientada a objetos.

Projeto de Implementação

18:37 Gustavo Rau de Almeida Callou 7

Page 8: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Capacitar o aluno a projetar e implementar soluções

que envolvam os elementos básicos da construção

de algoritmos e programas de computador.

Ajudar os alunos a desenvolver os conhecimentos,

habilidades e atitudes necessárias para as futuras

disciplinas.

Gustavo Callou DEINFO/UFRPE 8

Objetivos da Disciplina

Page 9: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

ConteúdoData Conteúdo

1 Apresentação da disciplina e Introdução a algoritmos

2 Algoritmos - Ling de Programação

3 Comandos Básicos

4 Estrutura de controle IF e exercícios

5 Laço While

6 Exercícios While

7 Laço For

8 Exercícios de For e While

9 Array unidimensional (vetor)

10 Exercícios de vetor

11 Array bidimensional (matriz)

12 Exercícios de Arrays Bidimensionais

13 lista de exercícios

14 Exercícios

15 Exercícios

16 Arquivos

17 Exercício de Arquivos

18 Lista de exercícios9

Cronograma

Page 10: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

19 Exercícios

20 Revisão

21 Primeira Avaliação22 Resolução da prova

23 Definição de Subprogramas

24 Exercícios de subprogramas

25 Regras de Escopo e Escopo em Funções Aninhadas

26 Exercícios

27 Passagem de Argumentos e exercícios

28 Definição dos projetos

29 Acompanhamento projeto

30 Pesquisa sequencial e binária

31 Ordenação por Inserção e Seleção

32 Acompanhamento projeto

33 Bublesort

34 Shellsort

35 Quicksort

10

Cronograma(cont.)

Page 11: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

36 Acompanhamento projeto

37 Introdução a Orientação a Objetos

38 Introdução a Orientação a Objetos

39 Orientação a Objetos e Exercícios

40 Exercícios

41 Acompanhamento projeto

42 Acompanhamento projeto

43 Apresentação dos Projetos

44 Apresentação dos Projetos

45 Segunda Avaliação

Terceira Avaliação

Final

11

Cronograma(cont.)

Page 12: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Provas discursivas e listas de exercício. Avaliação

individual.

Primeira Avaliação: 1VA = Prova + 1 ponto extra de listas

de exercício;

Segunda Avaliação: 2VA = 0,7.Prova + 0,3.Lista de

Exercicios (Projeto);

Terceira Avaliação: 3VA = Prova (todo o conteúdo).

Gustavo Callou DEINFO/UFRPE 12

Avaliação (1/2)

Page 13: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Média Parcial (MP): média aritmética entre as duas maiores notas entre 1VA, 2VA e 3VA

Verificação Final: VF = Prova (todo conteúdo)

Média Final (MF): MF = (MP + VF)/2

Serão realizadas provas discursivas, individuais e semconsulta, em sala de aula abordando os tópicos relativosàs 1VA, 2VA e 3VA. Na Final será apenas realizada provadiscursiva em sala de aula.

Gustavo Callou DEINFO/UFRPE 13

Avaliação (2/2)

Page 14: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Presença;

Horários;

Avaliações;

Fila.

Gustavo Callou DEINFO/UFRPE 14

Compromissos

Page 15: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

BIBLIOGRAFIA

ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da Programação de Computadores. 2. ed. Editora Pearson, 2008.

Lopes, Anita e Garcia, Guto. Introdução à Programação. Editora Campus, 2002.

Albano, R., Albano, S. Programação em Linguagem C. Editora Ciência Moderna.

Lopes, Anita e Garcia, Guto. Introdução à Programação: 500 Algoritmos Resolvidos. Editora Campus, 2002.

SCHILD, Herbert. C, completo e total. 3. ed. rev. e atual. Tradução Roberto Carlos Mayer. S334c. São Paulo: Makron, c1996;

Cormen, Thomas H. et. al. Algoritmos: Teoria e Prática. Editora Campus, 2002.

Ziviani, Nivio. Projeto de Algoritmos. Editora Nova Fronteira, 2004.

Sebesta, Robert W. Conceitos de Linguagens de Programação.Bookman, 2001.

Page 16: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Contato

Comunicações durante a disciplina:

Materiais:

Site: www.cin.ufpe.br/~grac/ip

Grupo do Facebook: IPUFRPE2017.1

Contato com o professor:

email: [email protected]

[email protected]

Skype: gustavo.callou

16

Page 17: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Dúvidas? Sugestões?

17

Page 18: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Introdução a algoritmos

18

Page 19: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Algoritmos

Representação

Exercícios

Linguagens de Programação

Compilador

Interpretador

Ambiente de Desenvolvimento

Tópicos

19

Page 20: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Conjunto finito de regras que provê uma seqüência de

operações para resolver um tipo de problema específico.

Knuth, 1972.

Seqüencia ordenada, e não ambígua, de passos que levam à

solução de um dado problema. Tremblay, 1983.

Processo de cálculo, ou de resolução de um grupo de

problemas semelhantes, em que se estipulam, com

generalidade e sem restrições, as regras formais para a

obtenção do resultado ou da solução do problema. AURÉLIO.

Algoritmo

20

Page 21: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Formas de Representação

Narrativa:

Fluxograma:

Pseudocódigo:

Algoritmo

21

Page 22: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Formas de Representação

Narrativa: uso de português.

Fluxograma: símbolos gráficos para representar fases e

componentes dos algoritmos.

Pseudocódigo: Definição de uma pseudo Linguagem de

programação, cujos comandos são em português.

Algoritmo

22

Page 23: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Receita de Bolo

Algoritmo

23

Page 24: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Receita de Bolo

Misture os ingredientes

Junte a forma com manteiga

Despeje a mistura na forma

Se houver coco ralado

então despeje sobre a mistura

Leve a forma ao forno

Enquanto não corar

deixe a forma no forno

Retire do forno

Deixe esfriar

Algoritmo

24

Page 25: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Troca de Pneus

Algoritmo

25

Page 26: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Troca de Pneus

Afrouxar ligeiramente as porcas

Suspender o carro

Retirar as porcas e o pneu

Colocar o pneu reserva

Apertar as porcas

Abaixar o carro

Dar o aperto final nas porcas

Algoritmo

26

Page 27: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Média de um aluno

Algoritmo

27

Page 28: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Descrição Narrativa – Média de um aluno

Obter as suas 2 notas de provas

Calcular a média aritmética

Se a média for maior que 7,

o aluno foi aprovado,

senão ele foi reprovado

Algoritmo

28

Page 29: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Vamos Praticar !

1 - Passos para chegar a UFRPE e assistir aula de

introdução a programação.

2 - Passos para comprar algo via internet.

Exercícios de Descrição Narrativa

29

Page 30: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Fluxograma : representação gráfica de algoritmos

onde formas geométricas diferentes implicam ações

(instruções, comandos) distintos.

Símbolos

Algoritmo

30

Início e final

Entrada de dados

Saída de dados

Processamento

Decisão

Conector

Page 31: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Algoritmo

N2=0 ?

D = N1/N2

31

simNão

Início

Ler primeiro

Número – N1

Ler segundo

Número – N2

Fim

Exibir na

tela: valor

de “D”

Exibir na tela:

divisão por

zero

Page 32: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Vamos Praticar !

1. Calcular a área de um triângulo retângulo.

2. Verificar se o individuo é maior de idade ou não.

Exercícios

32

Page 33: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Pseudo-Código

Programa PDOBRO;

Variáveis NUM, DOBRO : inteiros

início

escreva (‘Digite um número: ’)

Leia (NUM);

DOBRO = 2 x NUM;

escreva (‘O dobro é:’, DOBRO);

fim

Algoritmo

33

Page 34: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Comandos

Atribuição : Utilizado para guardar um determinado valor

em uma variável.

1. total = 0

2. SOMA = SOMA + 1

3. mensagem = ‘Erro de Digitação !’

Entrada de Dados : Utilizado para ler dados do usuário, de

dispositivos externos, etc.

1. leia(Idade)

2. leia(‘d:\arquivo.txt’)

Saída de dados : Utilizado para exibir dados.

1. escreva(Idade)

2. escreva(‘d:\arquivo.txt’)

Algoritmo

34

Page 35: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Uma linguagem de programação é um vocabulário

e um conjunto de regras gramaticais usadas para

escrever programas de computador.

Divididas em três tipos, com relação à sua

similaridade com a linguagem humana:

Linguagem de máquina;

Linguagem Simbólica; e

Linguagem de Alto Nível (abstrata).

Linguagens de Programação

35

Page 36: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Linguagem de Máquina : é a linguagem de mais

baixo nível de entendimento pelo ser humano e

a única, na verdade, entendida pelo

processador (CPU).

Constituída inteiramente de números (0’s e 1’s).

Uma instrução típica em linguagem de máquina

seria algo como:

0100 1111 1010

Linguagens de Programação

36

Page 37: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Linguagem Simbólica (assembly): linguagem de nível imediatamente acima da linguagem de

máquina.

Possui a mesma estrutura e conjunto de instruções que alinguagem de máquina, porém permite que o programador utilizenomes (mnemônicos) e símbolos em lugar de números.

Única para cada tipo de CPU.

A conversão da linguagem simbólica para alinguagem de máquina se chama montagem, e éfeita por um programa chamado montador(assembler).

Linguagens de Programação

37

Page 38: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Exemplo de instrução:

ADD A, B

Classificada como linguagem de segunda geração,

e, assim como a linguagem de máquina, é

considerada uma linguagem de baixo nível.

Linguagens de Programação

38

Page 39: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Linguagens de Alto Nível (abstratas): linguagensde programação que possuem uma estrutura epalavras-chave que são mais próximas dalinguagem humana.

C, C++, Java, Python, etc ...

Programas escritos nessas linguagens sãoconvertidos para a linguagem de baixo nívelatravés de um programa denominadocompilador ou de um interpretador.

Linguagens de Programação

39

Page 40: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Exemplo de instrução de uma linguagem de alto

nível:

if (A>10) then A:=A-7;

Linguagens de Programação

40

Page 41: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Compilação : transformação de um programa

em código fonte (programa

escrito pelo

programador – source

language) em linguagem

de máquina (programa

executável – target

language).

Compilador

41

Page 42: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Ambiente de Desenvolvimento

18:38 Gustavo Rau de Almeida Callou 42

Page 43: Introdução à Programaçãograc/ip/Aula01 - Apresentacao.pdf · Conceitos básicos: variáveis, operadores e expressões, ... 1 Apresentação da disciplina e Introdução a algoritmos

Dúvidas? Sugestões?

43