• Nenhum resultado encontrado

Introdução à Programação

N/A
N/A
Protected

Academic year: 2022

Share "Introdução à Programação"

Copied!
43
0
0

Texto

(1)

Introdução à Programação

Prof. Gustavo Callou gustavo.callou@ufrpe.br

gcallou@gmail.com

(2)

Apresentações;

A disciplina:

Objetivos;

Cronograma;

Avaliação;

O que é Computação;

Breve histórico.

Gustavo Callou DEINFO/UFRPE 2

Roteiro

(3)

Nos conhecendo

3

Quem são vocês?

Experiências?

 Expectativas?

(4)

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

(5)

Do que se trata esta disciplina?

5

(6)

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.

(7)

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

(8)

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

(9)

Conteúdo

Data 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ícios

9

Cronograma

(10)

19 Exercícios

20 Revisão

21 Primeira Avaliação

22 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.)

(11)

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.)

(12)

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)

(13)

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 sem consulta, em sala de aula abordando os tópicos relativos às 1VA, 2VA e 3VA. Na Final será apenas realizada prova discursiva em sala de aula.

Gustavo Callou DEINFO/UFRPE 13

Avaliação (2/2)

(14)

Presença;

Horários;

Avaliações;

Fila.

Gustavo Callou DEINFO/UFRPE 14

Compromissos

(15)

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.

(16)

Contato

Comunicações durante a disciplina:

Materiais:

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

Grupo do Facebook: IPUFRPE2017.1

Contato com o professor:

email: gustavo.callou@ufrpe.br

gcallou@gmail.com

Skype: gustavo.callou

16

(17)

Dúvidas? Sugestões?

17

(18)

Introdução a algoritmos

18

(19)

Algoritmos

Representação

Exercícios

Linguagens de Programação

Compilador

Interpretador

Ambiente de Desenvolvimento

Tópicos

19

(20)

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

(21)

Formas de Representação

Narrativa:

Fluxograma:

Pseudocódigo:

Algoritmo

21

(22)

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

(23)

Descrição Narrativa – Receita de Bolo

Algoritmo

23

(24)

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

(25)

Descrição Narrativa – Troca de Pneus

Algoritmo

25

(26)

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

(27)

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

Algoritmo

27

(28)

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

(29)

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

(30)

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

(31)

Algoritmo

N2=0 ? D = N1/N2

31

Não sim

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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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 a linguagem de máquina, porém permite que o programador utilize nomes (mnemônicos) e símbolos em lugar de números.

Única para cada tipo de CPU.

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

Linguagens de Programação

37

(38)

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

(39)

Linguagens de Alto Nível

(abstratas): linguagens de programação que possuem uma estrutura e palavras-chave que são mais

próximas da linguagem humana.

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

Programas escritos nessas linguagens são convertidos para a linguagem de baixo nível através de um programa denominado compilador ou de um interpretador.

Linguagens de Programação

39

(40)

Exemplo de instrução de uma linguagem de alto nível:

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

Linguagens de Programação

40

(41)

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

(42)

Ambiente de Desenvolvimento

18:38 Gustavo Rau de Almeida Callou 42

(43)

Dúvidas? Sugestões?

43

Referências

Documentos relacionados

Outras funções podem ter acesso a variáveis locais de uma determinada função quando recebem como argumento o valor ou o endereço destas variáveis (com o endereço, é

NECESIDADES DE SALUD DEMANDA POR SERVICIOS DE ATENCION DE SALUD DETERMINANTES DE SALUD CARACTERISTICAS RELACIONADAS CON EL SISTEMA DE SALUD DETERMINANTES Y

A partir da implementação do Programa de Apoio a Planos de Reestruturação e Expansão das Universidades Federais, a universidade brasileira abre-se para o acesso de novos e

A listagem completa, com todos os equipamentos monitorados nesta análise (Normais, Alarmados e Não Coletados), está exibida no final deste relatório.. Resumo

• No exemplo do slide anterior, se quisermos transformar o código que traduz segundos para horas, minutos e segundos precisamos de uma função que retorna três valores. •

O tipo histológico maligno que mais frequentemente acomete a VB é o adeno- carcinoma, que ocorre em 90% dos casos. Este tumor apresenta, geralmente, três pa- drões de imagem: a)

Através do estudo da previsão da sua vida útil das superfícies em betão à vista, pretende-se contribuir para que os decisores tenham mais informação relativamente ao

[r]