Programação para Computação



Documentos relacionados
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

Algoritmos e Programação Parte Teórica

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Universidade Federal do Vale do São Francisco. Estruturas de Dados. Professor: Marcelo Santos Linder


Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Resolução de problemas e desenvolvimento de algoritmos

1.1. Organização de um Sistema Computacional

Lógica de Programação

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

Algoritmo e Programação

Programação Estruturada

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Introdução à Lógica de Programação

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Introdução à Computação

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Algoritmos e Programação de Computadores I. Prof. Eduardo

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA COLEGIADO DO CURSO DE GRADUAÇÃO EM ENGENHARIA ELÉTRICA/ENG.

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

Algoritmos. Cláudio Barbosa

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

BCC701 Programação de Computadores I. Fernanda Sumika Hojo de Souza

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Orientação a Objetos

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Programação I. Introdução a Lógica de Programação

ICC Introdução para JavaScript

CST em Análise e Desenvolvimento de Sistemas 2ª Série Programação Estruturada II

Lógica de Programação

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

Lógica de Programação

Princípios de funcionamento dos computadores

Conceitos Importantes:

Programação II. Aula 2

Introdução a Java. Hélder Nunes

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Algoritmos e Programação. Prof. Tarcio Carvalho

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br

Algoritmos com VisuAlg

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

Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

PROGRAMA DE DISCIPLINA

Introdução à Programação e Algoritmos. Aécio Costa

PLANO DE ENSINO. Período/ Fase: 1º Semestre: 1º Ano: 2011 Disciplina: Programação de Computadores I (PGC21) Carga Horária: 72 horas/aula

Andrique Amorim INTRODUÇÃO A INFORMÁTICA

Algoritmos e Programação de Computadores

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Dadas a base e a altura de um triangulo, determinar sua área.

2. Representação Numérica

Introdução à Programação

ALGORITMOS E ESTRUTURAS DE DADOS I

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

ALGORITMOS EPROGRAMAÇÃO

Algoritmos e Linguagem de Programação de Computadores I

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

3. Tipos de Dados, Constantes e Variáveis.

PROGRAMA DE DISCIPLINA

Algoritmos e Estrutura de Dados II

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

COMPUTADOR SIMPLIFICADO E COMPUTADOR DIGITAL. Algoritmos e Programação APG0001

Lógica. Everson Santos Araujo

Roteiro 1: Dados, variáveis, operadores e precedência

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Componentes da linguagem C++

Introdução a Algoritmos Parte 04

ESTRUTURA CONDICIONAL

Introdução à Lógica de Programação (cont.)

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

Sobre o Professor Dr. Sylvio Barbon Junior

Algoritmos e Programação _ Departamento de Informática

Programação de Computadores

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

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Introdução a Computação

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Algoritmos e Programação Estruturada

Plano de Trabalho Docente Ensino Técnico

Estruturas de Controle A Tomada de Decisões

Apresentação da disciplina Introdução a Programação

MC-102 Aula 01. Instituto de Computação Unicamp

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Algoritmos Computacionais ( Programas )

Aula 2: Conversão entre Bases, Aritmética

PROGRAMA DE DISCIPLINA

Transcrição:

Universidade Federal do Vale do São Francisco Programação para Computação Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br

Ementa Conceito de algoritmo. Lógica de programação e programação estruturada. Linguagem de definição de algoritmos. Estrutura de um algoritmo. Identificadores. Variáveis. Declaração de variáveis. Operações Básicas. Comandos de Entrada e Saída. Comandos de Controle de Fluxo. Estruturas de Dados homogêneos. Introdução à linguagem de Programação C. Ambiente de programação. Componentes da linguagem C. Palavras reservadas. Estrutura de um programa C. Identificadores. Variáveis e constantes. Declaração de variáveis. Operações básicas. Comandos de entrada e saída. Comandos de controle. Estruturas de dados homogêneas. Modularização. Ponteiros. 2

Metodologia A disciplina será trabalhada com aulas expositivodialogadas, onde serão fornecidos os componentes teóricos e será feita a prática de exercícios. Recursos Quadro branco, marcador, notebook e projetor multimídia. 3

Forma de Avaliação A avaliação será realizada mediante 2 provas escritas e um trabalho prático (passível de alterações). 4

Bibliografia Bibliografia Básica: ASCENCIO, A. F, G. Fundamentos da Programação de Computadores, Prentice Hall, SP, 2002. Algoritmos, Teoria e Prática Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein Editora Campus 2002 Bibliografia Complementar: C Completo e Total Herbert Schildt Editora Pearson Makron Books 2006 MIZRAHI, V. V. Treinamento em Linguagem C Módulo 1, Makron Books, SP, 1995. Material de apoio Informações Gerais Os slides utilizados em aula, descrição de trabalhos, datas de avaliações e demais informações referentes à disciplina encontramse na página www.univasf.edu.br/~marcelo.linder 5

Conceito de Computador Denomina-se computador uma máquina capaz de variados tipos de tratamento automático de informações ou processamento de dados. Contudo, o que deve ser feito para que um determinado tratamento automático de informações ocorra? Deve-se instruir o computador para que o mesmo utilizando-se de sua estrutura execute determinada tarefa. 6

Conceito de Computador Como instruir o computador a fazer determinado processamento? Podemos utilizar uma descrição narrativa? Qual a vantagem? Não há a necessidade de aprender nenhum novo conceito. Qual a desvantagem? Em virtude da ambigüidade da língua portuguesa a descrição narrativa é passível de mais de uma interpretação. 7

Conceito de Algoritmo Com objetivo de se instruir o computador a fazer determinado processamento impossibilitando mais de uma forma de interpretação, foi criado o conceito de algoritmo. Um algoritmo é uma seqüência, que não permite ambigüidade, de paços finitos, passível de ser executada com um esforço finito em tempo finito e que acaba para qualquer entrada (inclusive erro). 8

Conceito de Algoritmo Existem inúmeros conceitos para algoritmo: Uma seqüência bem definida de procedimentos computacionais (passos) que levam uma entrada a ser transformada em uma saída. Algoritmo é uma seqüência de passos que visa atingir um objetivo bem definido. Algoritmo é uma seqüência de passos bem definida que deve ser seguida para a realização de uma tarefa. Algoritmo é uma seqüência finita de instruções ou operações cuja execução, em tempo finito, resolve um problema computacional, qualquer que seja sua instância. 9

Funcionalidade do Algoritmo O algoritmo tem um papel fundamental por ser o elo de ligação entre dois mundos (real e computacional). A atividade de programação tem início com a construção do algoritmo. 10 Mundo Real Máquina

Exemplos de algoritmos Como vimos alguns conceitos de algoritmo são bem amplos, podemos definir como um algoritmo uma seqüência lógica de instruções que pode ser executada. É importante salientar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo, como por exemplo: ALGORITMO: TROCAR UMA LÂMPADA PASSO 1: Pegar a lâmpada nova PASSO 2: Pegar a escada PASSO 3: Posicionar a escada embaixo da lâmpada queimada PASSO 4: Subir na escada com a lâmpada nova PASSO 5: Retirar a lâmpada queimada PASSO 6: Colocar a lâmpada nova PASSO 7: Descer da escada PASSO 8: Ligar o interruptor PASSO 9: Guardar a escada PASSO 10: Jogar a lâmpada velha no lixo ALGORITMO: SACAR DINHEIRO PASSO 1: Ir até o caixa eletrônico PASSO 2: Colocar o cartão PASSO 3: Digitar a senha PASSO 4: Solicitar o saldo PASSO 5: Se o saldo for maior ou igual à quantia desejada, sacar a quantia desejada; caso contrário sacar o valor do saldo PASSO 6: Retirar dinheiro e cartão PASSO 7: Sair do caixa eletrônico 11

Formas de representação de algoritmos Contudo, quando falamos em algoritmo sob o ponto de vista computacional, como já foi mencionado, não podemos utilizar uma descrição narrativa para representar um algoritmo. Sendo assim, um algoritmo pode ser representado por: um fluxograma; um pseudocódigo (português estruturado). 12

13 Formas de representação de algoritmos Destacaremos agora uma vantagem e uma desvantagem de cara uma das formas, mencionadas, de representação de algoritmos. Fluxograma: Vantagem o entendimento de elementos gráficos é mais fácil que o entendimento de texto. Desvantagem é necessário aprender a simbologia dos fluxogramas. Pseudocódigo: Vantagem sua transcrição para qualquer linguagem de programação é quase que direta. Desvantagem é necessário aprender as regras do pseudocódigo.

Conceitos básicos de algoritmos Antes de discutirmos, detalhadamente, os métodos de representação de algoritmos, devemos ter de forma clara a compreensão de alguns conceitos como: Constante; Variável; Identificador; Palavra-chave; Operadores. 14

Conceitos básicos de algoritmos Constante São Valores fixos, tais como números. Estes valores não podem serem alterados pelas instruções do algoritmo, ou seja, é um espaço de memória cujo valor não deve ser alterado durante a execução de um algoritmo. Exemplos: decimal (10, -23768) hexadecimal (12, 1fea28) octal (123) reais (2.34, 2.34E+05, 2.14E-9) caracteres ( a, % ) 15

Conceitos básicos de algoritmos Variável é um espaço de memória que recebeu um nome (identificador) e armazena um valor que pode ser modificado pelas instruções do algoritmo. 16 Identificadores são os nomes utilizados para referenciar variáveis, funções ou vários outros objetos definidos pelo programador. letras, dígitos e sublinhado(_); não podem começar com dígito; não podem ser iguais a uma palavra-chave e nem iguais a um nome de uma função declarada pelo programador ou pelas bibliotecas da linguagem utilizada.

Conceitos básicos de algoritmos Palavras-chave (palavras-reservadas) são identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo. constante senão para continue enumeração vá_para se retorne faça int enquanto real 17

Conceitos básicos de algoritmos 18 Operadores Aritméticos Unários: +, -, ++, -- Exemplos: +1-5 a=-b; a++; a=a+1; a--; a=a-1; b=a++; b=a; a=a+1; b=++a; a=a+1; b=a;

Conceitos básicos de algoritmos Operadores Aritméticos Binários: +, -, *, /, %, ^ Exemplos: a=7%3; Precedência (Hierarquia nas operações) Hierarquia 1 2 3 4 Operação Parênteses Função ++,-- - (menos unário) 19 5 6 7 ^ *, /, % +, -

Conceitos básicos de algoritmos Operadores de Atribuição =, +=, -=, *=, /=, %= Exemplos: a=5; a+=5; a=a+5; a-=5; a=a-5; 20

Conceitos básicos de algoritmos Operadores Relacionais Operador > >= < <= ==!= Ação maior que maior ou igual a menor que menor ou igual igual a diferente de 21

Conceitos básicos de algoritmos Operadores Lógicos Operador &&! Ação e ou não 22

Conceitos básicos de algoritmos Precedência (Hierarquia dos operadores relacionais e lógicos) Hierarquia 1 2 3 4 5 Operação! >, >=, <, <= ==,!= && 23

Conceitos básicos de algoritmos TIPOS PRIMITIVOS Lógico Definido por logico Caractere Definido por car Inteiro Definido por int Real ou ponto flutuante Definido por real 24

Conceito de Lógica A Lógica é o ramo da Filosofia e da Matemática que estuda os métodos e princípios que permitem fazer distinção entre raciocínios válidos e não válidos, determinando o processo que leva ao conhecimento verdadeiro. O uso da lógica é primordial na solução de problemas. Com ela é possível alcançar objetivos com eficiência e eficácia. Ninguém ensina outra pessoa a pensar, mas a desenvolver e aperfeiçoar esta técnica, com persistência e constância. 25

Método para Construção de Algoritmos Os passos necessários para a construção de um algoritmo são: ler atentamente o enunciado, destacando os pontos mais importantes; definir os dados de entrada, ou seja, quais dados serão fornecidos; definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela obtenção dos dados de saída com base nos dados de entrada; definir os dados de saída, ou seja, quais dados serão gerados depois do processamento; definir as variáveis necessárias para armazenar as entradas e efetuar o processamento; elaborar o algoritmo; 26 testar o algoritmo realizando simulações.