Introdução à Programação. Prof. Gustavo Callou

Documentos relacionados
Introdução à Programação. Ceça Moraes

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

INTRODUÇÃO À PROGRAMAÇÃO

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Introdução à Computação

Introdução à Programação

UFRPE Prof. Gustavo Callou

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

ALP Algoritmos e Programação

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

Algoritmos e Técnicas de programação. Professora: Luciana Faria

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

Algoritmos e Programação

Aula 2 - Introdução Cleverton Hentz

Algoritmos. Prof. Jonatas Bastos Site:

Aula 02. Algoritmos e Pseudocódigo

Programação em C. Victor Amorim dos Santos

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Slides trabalhados durante a quinta aula

Pseudocódigo e Visualg

Curso Superior de Análise e Desenvolvimento de Sistemas. Disciplina: : Algoritmo 2009 / 1

Disciplina de Algoritmos e Programação

Fundamentos de programação

Algoritmos e Programação

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

Programação Básica de Computadores

Programação em C. Victor Amorim dos Santos

Capítulo 2 Introdução à Programação

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

ALGORITMO: FASE 1 PARTE 1

Ciência da Computação. Prof. Dr. Leandro Alves Neves Prof. Dr. Adriano Cansian

DISCIPLINA: Computação e Algoritmo I. PROFESSOR: Léo M. Lopes da Silva Garcia FORMAÇÃO:

Algoritmos e Linguagem de Programação I

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Programação em C. Victor Amorim dos Santos

Introdução à Programação

Fundamentos de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Conceitos e Representação de Algoritmos

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Eng. Alimentos PROGRAMA DE DISCIPLINA IDENTIFICAÇÃO CÓDIGO DISCIPLINA PRÉ-REQUISITOS

Linguagens de Programação

Linguagens de Programação Classificação

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO PROGRAMA DE DISCIPLINA. Introdução a Algoritmos CCOMP CCMP

Introdução a Programação

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

Introdução à Programação

1. ALGORITMOS. São vários os conceitos para algoritmo. Escolhemos alguns para serem apresentados aqui:

Algoritmos e Programação

Web site. Profa. Patrícia Dockhorn Costa.

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Introdução à Programação. 4ª aula. Prof. José Honorato F. Nunes

É neste ponto que entra o conceito de lógica de programação.

Capítulo 2 Introdução à Programação

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Introdução à Programação. Conceitos Básicos de Programação

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

PLANO DE ENSINO. Súmula:

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

Introdução a Programação

4 Introdução ao Algoritmo

Programação Estruturada Aula Plano de Disciplina

Patrícia de Siqueira Ramos. UNIFAL-MG, campus Varginha. 21 de Março de 2018

PLANO DE UNIDADE DIDÁTICA- PUD

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Algoritmos e Programação

PROGRAMAÇÃO I. Introdução

TÉCNICO DE INFORMÁTICA - SISTEMAS

CURSO de NIVELAMENTO INTRODUÇÃO À PROGRAMAÇÃO

Programação Aplicada à. Engenharia de Alimentos

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

INF 1005 Programação I

Existem três categorias principais de linguagem de programação: linguagem de máquina, linguagens assembly e linguagens de alto nível.

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO

PLANO DE DISCIPLINA. Análise e Desenvolvimento de Sistemas. Introdução a Algoritmos e Programação EMENTA

Computadores = cérebros eletrônicos?

Lógica de Programação. Tecnologia em Redes de Computadores IFSULDEMINAS Campus Inconfidentes Prof. Kleber Rezende

Algoritmos e Fluxogramas

Introdução à Programação. Vetores. Prof. José Honorato F. Nunes

Introdução a Programação de Jogos

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Algoritmos Fundamento e Prática

ALGORITMOS AULA 1. Profª Amanda Gondim

Introdução à Computação: Máquinas Multiníveis

FUNDAÇÃO UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

Aula 1 - Introdução Cleverton Hentz

Sintática: como é escrito cada elemento da linguagem de programação.

ALGORITMOS. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

Unidade 1 Conceitos básicos

Algoritmos e Técnicas de Programação

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Linguagens de Programação

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Introdução à Computação para Engenharia MAC2166 Prof. Dr. Paulo Miranda IME-USP. Aula 1 Introdução à Computação

Transcrição:

Introdução à Programação Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com

Roteiro Apresentações; A disciplina: Objetivos; Cronograma; Avaliação; O que é Computação; Breve histórico. Gustavo Callou DEINFO/UFRPE 2

Nos conhecendo Quem são vocês? Experiências? Expectativas? 3

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

Objetivos da Disciplina 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

Cronograma 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(cont.) 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.) 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

Avaliação (1/2) 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 (2/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 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

Compromissos Presença; Horários; Avaliações; Fila. Gustavo Callou DEINFO/UFRPE 14

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: gustavo.callou@ufrpe.br gcallou@gmail.com Skype: gustavo.callou 16

Dúvidas? Sugestões? 17

Introdução a algoritmos 18

Tópicos Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento 19

Algoritmo 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. 20

Algoritmo Formas de Representação Narrativa: Fluxograma: Pseudocódigo: 21

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

Algoritmo Descrição Narrativa Receita de Bolo 23

Algoritmo 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 24

Algoritmo Descrição Narrativa Troca de Pneus 25

Algoritmo 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 26

Algoritmo Descrição Narrativa Média de um aluno 27

Algoritmo 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 28

Exercícios de Descrição Narrativa Vamos Praticar! 1 - Passos para chegar a UFRPE e assistir aula de introdução a programação. 2 - Passos para comprar algo via internet. 29

Algoritmo Fluxograma : representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Símbolos Início e final Processamento Entrada de dados Decisão Saída de dados Conector 30

Algoritmo Início Ler primeiro Número N1 Ler segundo Número N2 D = N1/N2 Não N2=0? sim Exibir na tela: divisão por zero Exibir na tela: valor de D Fim 31

Exercícios Vamos Praticar! 1. Calcular a área de um triângulo retângulo. 2. Verificar se o individuo é maior de idade ou não. 32

Algoritmo 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 33

Algoritmo 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 ) 34

Linguagens de Programação 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). 35

Linguagens de Programação 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 36

Linguagens de Programação 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). 37

Linguagens de Programação 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. 38

Linguagens de Programação 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. 39

Linguagens de Programação Exemplo de instrução de uma linguagem de alto nível: if (A>10) then A:=A-7; 40

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

Ambiente de Desenvolvimento 18:38 Gustavo Rau de Almeida Callou 42

Dúvidas? Sugestões? 43