Você está na página 1de 30

Algoritmos e Linguagem de Programao de Computadores I

Ricardo Jos Cabea de Souza


www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

OBJETIVOS
Apresentar conceitos bsicos de algoritmos e sua importncia na elaborao de solues para resolver determinados problemas buscando implementao no computador

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
LGICA
a cincia das formas do pensamento Estuda a correo do reciocnio Visa a ordem da razo

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
DADO
Conjunto de coisas organizadas por certo critrio Utilizado para ser manipulado Pode ser: nmeros, palavras, imagens, pessoas, etc. Possvel de ser manipulado

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
INFORMAO
Resultado da manipulao do dado Dado processado Necessita dos dados e de regras de manipulao

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
Processamento de Dados

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
AO
Evento que ocorre em um perodo de tempo finito Estabelece um efeito Exemplo: Escrever uma carta, caminhar at um determinado local, etc.

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
COMPUTADOR
Mquina composta por diversos elementos com a finalidade de manipular dados(smbolos). Recebe, armazena, efetua operaes sobre os dados (aritmticas e lgicas), move, envia dados, com o objetivo de resolver problemas.

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
MODELO DE UM COMPUTADOR

CPU Central Processing Unit

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
MODELO DE UM COMPUTADOR O canal de comunicao (conhecido como BUS)
Meio para a transferncia de dados entre os diversos componentes

Na memria principal
So armazenados os programas e os dados no computador Tem acesso randmico, o que significa se pode enderear (isto , acessar) diretamente qualquer posio da memria Memria no permanente(voltil) Dados so armazenados enquanto o programa est sendo executado Aps o trmino do programa, a rea ocupada na memria fica disponvel para ser usada por outras aplicaes

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
MODELO DE UM COMPUTADOR A rea de armazenamento secundrio
Representada por um disco (disco rgido, pen driver, etc. Tem a vantagem de ser permanente Tem um custo mais baixo do que a memria principal Acesso aos dados bem mais lento

Dispositivos de entrada e sada


Dispositivos de entrada (por exemplo, teclado, mouse) permitem passarmos dados para um programa Dispositivos de sada permitem que um programa exporte seus resultados, por exemplo em forma textual ou grfica usando monitores ou impressoras

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMRIA
A memria do computador dividida em unidades de armazenamento chamadas bytes Cada byte composto por 8 bits, que podem armazenar os valores zero ou um Todas as informaes (programas, textos, imagens, etc.) so armazenadas usando uma codificao numrica na forma binria Na representao binria, os nmeros so representados por uma sequncia de zeros e uns
Por exemplo, o nmero decimal 5 representado por 101, pois 1*22 + 0*21 + 1*20 igual a 5

No possvel enderear diretamente um bit

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMRIA
Para ser possvel armazenar uma sequncia de caracteres, que representa o texto, atribui-se a cada caractere um cdigo numrico
Por exemplo, pode-se associar ao caractere 'A' o cdigo 65, ao caractere 'B' o cdigo 66, e assim por diante

Se todos os caracteres tiverem cdigos associados (inclusive os caracteres de pontuao e de formatao), podemos armazenar um texto na memria do computador como uma sequncia de cdigos numricos

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
ARMAZENAMENTO DE DADOS E PROGRAMAS NA MEMRIA
Um computador s pode executar programas em linguagens de mquina Cada programa executvel uma sequncia de instrues que o processador central interpreta, executando as operaes correspondentes Esta sequncia de instrues tambm representada como uma sequncia de cdigos numricos Os programas ficam armazenados em disco e, para serem executados pelo computador, devem ser carregados (transferidos) para a memria principal Uma vez na memria, o computador executa a sequncia de operaes correspondente

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
HARDWARE
Conjunto de dispositivos fsicos que formam o computador Mquina propriamente dita

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
SOFTWARE
Conjunto ordenado de instrues Expresso em linguagens especiais Compreensvel pela mquina

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
BIT
Representao binria Dois nmeros: 0 e 1 Usado para representar os dados

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
BYTE
Conjunto de oito bits Forma uma sequncia para representar um dado Identifica um caractere

10100001 A 10100010 - B

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
ALGORITMO
Sequncia de passos a seguir para atingir determinado objetivo Caractersticas:
Ser rigoroso
regras

Ser eficaz
Resolver probleama

Garantia de terminar
finito

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
SINTAXE
Regras que definem as relaes vlidas entre os componentes da linguagem

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
SEMNTICA
Define o significado de cada frase na linguagem Anlise do significado

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

CONCEITOS
LINGUAGEM DE PROGRAMAO
Tcnica de notao para programar Veculo para expressar um raciocnio Executar um algoritmo Programao: Estruturada Orientada a objetos Orientada a eventos

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

DEFINIO DO PROBLEMA
Verificar o enunciado do problema Forma clara e completa Observar cuidadosamente sobre dvidas Evitar interpretao ambgua

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

ANLISE DO PROBLEMA
Trs fases:
Dados de entrada
Dados Necessrios para resolver problema

Como resolver problema


Frmulas, regras, condies, etc.

Dados de sada
Resultado esperado

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

CONSTRUO DO MODELO
Fluxograma Algoritmo

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

PROGRAMAO
Transformao do modelo Usando linguagem programao Criao do cdigo-fonte

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

EXECUO
Submeter o programa ao computador Colocar na memria principal do computador Verificao erros:
Sintaxe Semntica

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

RESOLUO DE PROBLEMAS

DOCUMENTAO
Inserir informaes no cdigo-fonte sobre a execuo das operaes Visa explicao dos passos a serem executados no programa Comentrio

www.ricardojcsouza.com.br ricardo.souza@ifpa.edu.br

Referncias
TANENBAUM, Aaron M. Langsam, Yedidyah, Augenstein, Moshe J. Estruturas de dados usando C. So Paulo : MAKRON Books, 1995. VELOSO, Paulo. et. al. Estrutura de dados. Rio de Janeiro: Campus, 1986. MORAES, Celso Roberto. Estrutura de dados e algoritmos. 2. ed. So Paulo: Futura, 2003. CELES, W. Rangel, J. L. Curso de Estrutura de Dados. PUC-Rio, 2002. W. Celes, R. Cerqueira, J.L. Rangel. Introduo a Estruturas de Dados - com tcnicas de programao em C. Rio de Janeiro: Campus, 2004. SCHILDT, Herbert. C Completo e total. So Paulo: MAKRON BOOKS, 1997. LOUDON, Kyle. Dominando algoritmos com C. So Paulo: CIENCIA MODERNA COMPUTAO, 2000. JAMSA, Kris. Programando em C/C++: a bblia. So Paulo: Makron Books, 2000. LOPES, Anita. Introduo a programao: 500 algoritmos resolvidos. Rio de Janeiro: Campus, 2002. GIMARES, ngelo de Moura. LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. Rio de Janeiro: Campus, 1985. LAUREANO, Marcos. Programando em C para Linux, Unix e Windows. Rio de Janeiro: BRASPORT LIVROS, 2005. MEDINA, Marco. FERTIG, Cristina. Algoritmos e programao: teoria e prtica. So Paulo: NOVATEC INFORMATICA, 2005. ARAJO, Everton Coimbra de. Algoritmos: fundamentos e prtica. 2. ed. Ampl. e atual. Florianpolis: VisualBooks, 2005. FEOFILOFF, Paulo. Projeto de Algoritmos em C. Disponvel em http://www.ime.usp.br/~pf/algoritmos/aulas/lista.html acesso em 12/07/2011. HOLANDA, Aurlio Buarque. Dicionrio Aurlio Eletrnico Sculo XX. Verso 3.0 Novembro, 1999.