Anda di halaman 1dari 29

Algoritmos e Programao

Ricardo Argenton Ramos

Baseado nos slides do


professor Jadsonlee
da Silva S

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Ementa
 Conceito de algoritmo.
 Lgica de programao e programao estruturada.
 Linguagem de definio de algoritmos.
 Estrutura de algoritmo.
 Constantes.
 Identificadores.
 Variveis.
 Declarao de variveis.
 Operaes bsicas.
 Comandos de entrada e sada.
 Estrutura de controle de fluxo.
 Conceito e classificao de linguagens de programao.
 Introduo uma linguagem de programao de alto nvel
estruturada Linguagem C.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Ementa
 Ambiente de programao.
 Componentes de linguagem de programao:
estrutura de um programa;
identificadores;
palavras reservadas;
variveis;
constantes;
declarao de variveis;
operaes bsicas;
comandos de entrada e sada;
estruturas de controle de fluxo;
estruturas de dados homogneas;
modularizao.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Objetivos

 Objetivo Geral:
Capacitar o aluno a visualizar solues computacionais
para problemas atravs da aplicao dos conceitos da
lgica de programao e dot-los da capacidade de
construo de programas em linguagem de alto nvel
estruturada (linguagem C).

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Objetivos
 Objetivos Especficos:
Desenvolver o raciocnio lgico e abstrato do aluno;
Familiarizar o aluno com o modelo seqencial de computao;
Apresentar tcnicas e linguagens para representao e
construo de algoritmos simples;
Apresentar conceitos bsicos de linguagens de programao;
Capacitar o aluno no uso da linguagem C;
Treinar o aluno no processo bsico de desenvolvimento de
software (concepo, edio, execuo e teste de programas
de computador).

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Metodologia

 Aulas expositivo-dialogadas.

Fornecer os componentes tericos e conceituais.

 Aulas prticas ministradas em laboratrio.

Experimentao e fixao dos contedos.


Visualg e DevC++.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Avaliao
 Duas provas (P1 e P2).

Mdia = (P1 + P2)/2.

Se mdia >= 7,0 e freqncia >= 75%  Aprovado.


Se mdia < 4,0 ou freqncia < 75%  Reprovado.
Se 4,0 <= mdia < 7,0 e freqncia > 75%  Final.

O aluno submetido a prova final (PF) ser considerado


aprovado se obtiver nota final >= 5,0.

Nota final = (Mdia + PF)/2

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Bibliografia
 Bsica.
ASCENCIO, A.F.G.; CAMPOS, E.A.V. Fundamentos da
programao de computadores. 2 ed. Pearson Prentice
Hall.
SCHILDT, H. C completo e total. Pearson Prentice Hall,
2006.

 Complementar.
CARBONI, I.F. Lgica de programao. Thomson.
CORMEN, T.H. et al. Algoritmos, teoria e prtica.
Campus, 2002.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Introduo
 Computador  uma mquina capaz de possibilitar
variados tipos de tratamento automtico de
informaes ou processamento de dados.

 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.

Como?
Software (programas).

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Introduo

 Nosso objetivo  Aprender conceitos bsicos


para desenvolver programas para computadores.

Exemplos: sistemas bancrios, sistemas de


restaurantes, clculos avanados entre outros.

 Roteiro para desenvolver programas:

Problema  Soluo  Algoritmo  Programa  Resultado

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Algoritmo e Programao

 Definies:

Algoritmo  Conjunto de regras e operaes bem


definidas e ordenadas, destinadas soluo de um
problema, ou de uma classe de problemas, em um
nmero finito de etapas  Representao de uma
soluo para um problema.

Programa  Seqncia completa de instrues a


serem executadas por um computador  De acordo
com um algoritmo.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Algoritmo e Programao
 O algoritmo, do ponto de vista computacional, tem um
papel fundamental por ser o elo de ligao entre dois
mundos (real e computacional).

 A atividade de programao comea com a construo


do algoritmo. C, Java, C++,
Delphi, Python, ...

Mundo real Mquina

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Algoritmo e Programao
 Exemplos de algoritmos.

Algoritmo: trocar lmpada Algoritmo: sacar dinheiro


Passo 1: pegar a lmpada nova.
Passo 1: ir at o caixa eletrnico.
Passo 2: pegar a escada.
Passo 2: colocar o carto.
Passo 3: posicionar a escada embaixo da
Passo 3: digitar a senha.
lmpada queimada.
Passo 4: solicitar o saldo.
Passo 4: subir na escada com a lmpada
Passo 5: se o saldo for maior ou
nova.
igual quantia desejada, sacar
Passo 5: Retirar a lmpada queimada.
a quantia desejada; caso
Passo 6: Colocar a lmpada nova.
contrrio sacar o valor do saldo.
Passo 7: Descer da escada.
Passo 6: retirar dinheiro e carto.
Passo 8: Ligar o interruptor.
Passo 7: sair do caixa eletrnico.
Passo 9: Guardar a escada.
Passo 10: Jogar a lmpada velha no lixo.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos

 Existem duas formas de representao de


algoritmos:

Fluxograma  Representao grfica.

Pseudocdigo (Portugus estruturado) 


Representao textual.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos
 Caractersticas.
Fluxograma.
A representao grfica mais concisa que a
representao textual.

necessrio aprender a simbologia dos fluxogramas.

Pseudocdigo.
A transcrio para qualquer linguagem de programao
quase direta.

necessrio aprender as regras do pseudocdigo.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos

 Fluxograma.
Representao grfica por meio de smbolos
geomtricos, da soluo algortmica de um problema.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos
 Exemplo - Fluxograma.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos

 Pseudocdigo.
Descrio narrativa utilizando nosso idioma para
descrever o algoritmo.

Exemplo de uma descrio narrativa.


Soma de dois nmeros.
1. Receber os dois nmeros.
2. Efetuar a soma dos dois nmeros.
3. Mostrar o resultado.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos
 Exemplo Descrio narrativa (Visualg).
algoritmo "soma dois numeros"
// Funo :
// Autor :
// Data : 30/3/2010
// Seo de Declaraes
var
n1, n2, d: inteiro
inicio
// Seo de Comandos
escreval("Digite dois numeros")
leia(n1)
leia(n2)
d<-n1+n2
escreva("A soma eh igual a ", d)
fimalgoritmo

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Mtodos de Representao de Algoritmos
 Resumindo.

Escrever algoritmos e, por fim, programar, consiste


em dividir qualquer problema em vrios passos
menores, usando uma ou mais formas de
representao.

Esses passos que compem o algoritmo so


denominados de comandos.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Conceituao de Elementos Bsicos para
Construo de um Algoritmo
 Constante.

Valores fixos, tais como nmeros. Estes valores no


podem ser alterados pelas instrues do algoritmo, ou
seja, um espao de memria cujo valor no deve ser
alterado durante a execuo do programa.

Exemplo:

Inteiro  10, -23768, ...


Real  -2.34, 0.149, ...
Caractere  k, computador

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Conceituao de Elementos Bsicos para
Construo de um Algoritmo

 Varivel.
Elemento de dado cujo valor pode ser modificado ao
longo de sua execuo.

Uma varivel representa uma posio na memria e pode


ter tipo (inteiro, caractere, real), tamanho (16, 32 bits,
...) e nome definidos.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Conceituao de Elementos Bsicos para
Construo de um Algoritmo
 Identificadores.

Nomes utilizados para referenciar variveis, funes


ou vrios outros objetos definidos pelo programador.

Exemplo:

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.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Conceituao de Elementos Bsicos para
Construo de um Algoritmo

 Palavras-reservadas (palavras-chave).
So identificadores predefinidos que possuem
significados especiais para o interpretador do
algoritmo.

inicio senao para enquanto


var logico se ate
faca inteiro real

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Conceituao de Elementos Bsicos para
Construo de um Algoritmo
 Tipos primitivos.

Palavra-reservada: logico - define variveis do tipo


booleano, ou seja, com valor VERDADEIRO ou FALSO.

Palavra-reservada: caractere define variveis do tipo


string, ou seja, cadeia de caracteres.

Palavra-reservada: inteiro - define variveis numricas


do tipo inteiro, ou seja, sem casas decimais.

Palavra-reservada: real - define variveis numricas do


tipo real, ou seja, com casas decimais.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Declarao de Variveis

 Palavra-reservada: var - utilizada para iniciar a seo


de declarao de variveis.

Exemplo:
var a: inteiro
nome_do_aluno: caractere
sinalizador: logico
valor1, valor2: real

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Declarao de Variveis

 Regra para criar nomes de variveis.

Os nomes das variveis devem representar o que ser


guardado dentro dela.

O primeiro caractere de um nome dever ser sempre


alfabtico.

No podem ser colocados espaos em branco no nome de


variveis, usar o UNDERSCORE _.

A declarao de uma varivel feita no algoritmo


informando o seu nome, seguido por : e terminado com o
seu tipo.

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Operadores e Hierarquia nas Operaes

Exemplos:

3/4+5 = 5.75 3/(4+5) = 0.33333333


3\2*9 = 9 11%3^2 = 2
11%(3^2) = 2 (11%3)^2 = 4
3\2+(65-40)^(1/2) = 6

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP
Operadores Relacionais e Lgicos

Exemplos:
3>7 = FALSO
A = a = VERDADEIRO
a > B = FALSO
(3>=13\4) xou (nao (5%2=0)) = FALSO

Universidade Federal do Vale do So Francisco - UNIVASF


Colegiado de Engenharia de Computao CECOMP