introdução à programaçãograc/ip/aula01 - apresentacao.pdf · 2017. 5. 9. · sebesta, robert...
TRANSCRIPT
Introdução à Programação
Prof. Gustavo Callou
Apresentações;
A disciplina:
Objetivos;
Cronograma;
Avaliação;
O que é Computação;
Breve histórico.
Gustavo Callou DEINFO/UFRPE 2
Roteiro
Nos conhecendo
3
Quem são vocês?
Experiências?
Expectativas?
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
Do que se trata esta
disciplina?
5
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.
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
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
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
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.)
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.)
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)
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)
Presença;
Horários;
Avaliações;
Fila.
Gustavo Callou DEINFO/UFRPE 14
Compromissos
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.
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]
Skype: gustavo.callou
16
Dúvidas? Sugestões?
17
Introdução a algoritmos
18
Algoritmos
Representação
Exercícios
Linguagens de Programação
Compilador
Interpretador
Ambiente de Desenvolvimento
Tópicos
19
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
Formas de Representação
Narrativa:
Fluxograma:
Pseudocódigo:
Algoritmo
21
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
Descrição Narrativa – Receita de Bolo
Algoritmo
23
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
Descrição Narrativa – Troca de Pneus
Algoritmo
25
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
Descrição Narrativa – Média de um aluno
Algoritmo
27
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
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
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
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
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
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
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
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
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
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
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
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
Exemplo de instrução de uma linguagem de alto
nível:
if (A>10) then A:=A-7;
Linguagens de Programação
40
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
Ambiente de Desenvolvimento
18:38 Gustavo Rau de Almeida Callou 42
Dúvidas? Sugestões?
43