Sie sind auf Seite 1von 26

Universidade Federal do Vale do So Francisco

Programao para Computao


Professor: Marcelo Santos Linder E-mail: marcelo.linder@univasf.edu.br

Ementa
Conceito de algoritmo. Lgica de programao e programao estruturada. Linguagem de definio de algoritmos. Estrutura de um algoritmo. Identificadores. Variveis. Declarao de variveis. Operaes Bsicas. Comandos de Entrada e Sada. Comandos de Controle de Fluxo. Estruturas de Dados homogneos. Introduo linguagem de Programao C. Ambiente de programao. Componentes da linguagem C. Palavras reservadas. Estrutura de um programa C. Identificadores. Variveis e constantes. Declarao de variveis. Operaes bsicas. Comandos de entrada e sada. Comandos de controle. Estruturas de dados homogneas. Modularizao. Ponteiros.
2

Metodologia
A disciplina ser trabalhada com aulas expositivodialogadas, onde sero fornecidos os componentes tericos e ser feita a prtica de exerccios.

Recursos
Quadro branco, marcador, notebook e projetor multimdia.

Forma de Avaliao
A avaliao ser realizada mediante 2 provas escritas e um trabalho prtico (passvel de alteraes).

Bibliografia
Bibliografia Bsica:
ASCENCIO, A. F, G. Fundamentos da Programao de Computadores, Prentice Hall, SP, 2002. Algoritmos, Teoria e Prtica 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 Mdulo 1, Makron Books, SP, 1995.

Informaes Gerais
Material de apoio
Os slides utilizados em aula, descrio de trabalhos, datas de avaliaes e demais informaes referentes disciplina encontramse na pgina www.univasf.edu.br/~marcelo.linder
5

Conceito de Computador
Denomina-se computador uma mquina capaz de variados tipos de tratamento automtico de informaes ou processamento de dados. Contudo, o que deve ser feito para que um determinado tratamento automtico de informaes 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 descrio narrativa? Qual a vantagem? No h a necessidade de aprender nenhum novo conceito. Qual a desvantagem? Em virtude da ambigidade da lngua portuguesa a descrio narrativa passvel de mais de uma interpretao.
7

Conceito de Algoritmo
Com objetivo de se instruir o computador a fazer determinado processamento impossibilitando mais de uma forma de interpretao, foi criado o conceito de algoritmo. Um algoritmo uma seqncia, que no permite ambigidade, de paos finitos, passvel de ser executada com um esforo finito em tempo finito e que acaba para qualquer entrada (inclusive erro).

Conceito de Algoritmo
Existem inmeros conceitos para algoritmo: Uma seqncia bem definida de procedimentos computacionais (passos) que levam uma entrada a ser transformada em uma sada. Algoritmo uma seqncia de passos que visa atingir um objetivo bem definido. Algoritmo uma seqncia de passos bem definida que deve ser seguida para a realizao de uma tarefa. Algoritmo uma seqncia finita de instrues ou operaes cuja execuo, em tempo finito, resolve um problema computacional, qualquer que seja sua instncia.
9

Funcionalidade do Algoritmo
O algoritmo tem um papel fundamental por ser o elo de ligao entre dois mundos (real e computacional). A atividade de programao tem incio com a construo do algoritmo.

Mundo Real
10

Mquina

Exemplos de algoritmos
Como vimos alguns conceitos de algoritmo so bem amplos, podemos definir como um algoritmo uma seqncia lgica de instrues que pode ser executada. importante salientar que qualquer tarefa que siga determinado padro pode ser descrita por um algoritmo, como por exemplo:
ALGORITMO: TROCAR UMA LMPADA PASSO 1: Pegar a lmpada nova PASSO 2: Pegar a escada PASSO 3: Posicionar a escada embaixo da lmpada queimada PASSO 4: Subir na escada com a lmpada nova PASSO 5: Retirar a lmpada queimada PASSO 6: Colocar a lmpada nova PASSO 7: Descer da escada PASSO 8: Ligar o interruptor PASSO 9: Guardar a escada PASSO 10: Jogar a lmpada velha no lixo
11

ALGORITMO: SACAR DINHEIRO PASSO 1: Ir at o caixa eletrnico PASSO 2: Colocar o carto 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 contrrio sacar o valor do saldo PASSO 6: Retirar dinheiro e carto PASSO 7: Sair do caixa eletrnico

Formas de representao de algoritmos


Contudo, quando falamos em algoritmo sob o ponto de vista computacional, como j foi mencionado, no podemos utilizar uma descrio narrativa para representar um algoritmo. Sendo assim, um algoritmo pode ser representado por: um fluxograma; um pseudocdigo (portugus estruturado).

12

Formas de representao de algoritmos


Destacaremos agora uma vantagem e uma desvantagem de cara uma das formas, mencionadas, de representao de algoritmos. Fluxograma: Vantagem o entendimento de elementos grficos mais fcil que o entendimento de texto. Desvantagem necessrio aprender a simbologia dos fluxogramas. Pseudocdigo: Vantagem sua transcrio para qualquer linguagem de programao quase que direta. Desvantagem necessrio aprender as regras do pseudocdigo.
13

Conceitos bsicos de algoritmos


Antes de discutirmos, detalhadamente, os mtodos de representao de algoritmos, devemos ter de forma clara a compreenso de alguns conceitos como: Constante; Varivel; Identificador; Palavra-chave; Operadores.

14

Conceitos bsicos de algoritmos


Constante So Valores fixos, tais como nmeros. Estes valores no podem serem alterados pelas instrues do algoritmo, ou seja, um espao de memria cujo valor no deve ser alterado durante a execuo 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 bsicos de algoritmos


Varivel um espao de memria que recebeu um nome (identificador) e armazena um valor que pode ser modificado pelas instrues do algoritmo. Identificadores so os nomes utilizados para referenciar variveis, funes ou vrios outros objetos definidos pelo programador. letras, dgitos e sublinhado(_); no podem comear com dgito; no podem ser iguais a uma palavra-chave e nem iguais a um nome de uma funo declarada pelo programador ou pelas bibliotecas da linguagem utilizada.

16

Conceitos bsicos de algoritmos


Palavras-chave (palavras-reservadas) so identificadores predefinidos que possuem significados especiais para o interpretador do algoritmo. constante enumerao faa seno v_para int para continue se retorne enquanto real

17

Conceitos bsicos de algoritmos


Operadores Aritmticos Unrios: +, -, ++, -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;
18

Conceitos bsicos de algoritmos


Operadores Aritmticos Binrios: +, -, *, /, %, ^ Exemplos: a=7%3; Precedncia (Hierarquia nas operaes)
Hierarquia 1 2 3 4 5 6
19

Operao Parnteses Funo ++,-- (menos unrio) ^ *, /, % +, -

Conceitos bsicos de algoritmos


Operadores de Atribuio =, +=, -=, *=, /=, %= Exemplos: a=5; a+=5; a=a+5; a-=5; a=a-5;

20

Conceitos bsicos de algoritmos


Operadores Relacionais Operador > >= < <= == != Ao maior que maior ou igual a menor que menor ou igual igual a diferente de

21

Conceitos bsicos de algoritmos


Operadores Lgicos Operador && || ! Ao e ou no

22

Conceitos bsicos de algoritmos


Precedncia (Hierarquia dos operadores relacionais e lgicos) Hierarquia 1 2 3 4 5 Operao ! >, >=, <, <= ==, != && ||

23

Conceitos bsicos de algoritmos


TIPOS PRIMITIVOS Lgico Definido por logico Caractere Definido por car Inteiro Definido por int Real ou ponto flutuante Definido por real
24

Conceito de Lgica
A Lgica o ramo da Filosofia e da Matemtica que estuda os mtodos e princpios que permitem fazer distino entre raciocnios vlidos e no vlidos, determinando o processo que leva ao conhecimento verdadeiro. O uso da lgica primordial na soluo de problemas. Com ela possvel alcanar objetivos com eficincia e eficcia. Ningum ensina outra pessoa a pensar, mas a desenvolver e aperfeioar esta tcnica, com persistncia e constncia.

25

Mtodo para Construo de Algoritmos


Os passos necessrios para a construo de um algoritmo so: ler atentamente o enunciado, destacando os pontos mais importantes; definir os dados de entrada, ou seja, quais dados sero fornecidos; definir o processamento, ou seja, quais clculos sero efetuados e quais as restries para esses clculos. O processamento responsvel pela obteno dos dados de sada com base nos dados de entrada; definir os dados de sada, ou seja, quais dados sero gerados depois do processamento; definir as variveis necessrias para armazenar as entradas e efetuar o processamento; elaborar o algoritmo; testar o algoritmo realizando simulaes. 26

Das könnte Ihnen auch gefallen