Você está na página 1de 29

Algoritmos e Programao

Jadsonlee da Silva S jadsonlee.sa@univasf.edu.br

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 restaurantes, clculos avanados entre outros. de

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

Algoritmo: sacar dinheiro


Passo Passo Passo Passo Passo 1: ir at o caixa eletrnico. 2: colocar o carto. 3: digitar a senha. 4: solicitar o saldo. 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.

Universidade Federal do Vale do So Francisco - UNIVASF Colegiado de Engenharia de Computao CECOMP

Mtodos de Representao de Algoritmos


Existem duas algoritmos: formas de representao de

Fluxograma Representao grfica. Pseudocdigo (Portugus Representao textual. estruturado)

Universidade Federal do Vale do So Francisco - UNIVASF Colegiado de Engenharia de Computao CECOMP

Mtodos de Representao de Algoritmos


Caractersticas.
Fluxograma.
A representao grfica representao textual. mais concisa que a

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 denominados de comandos. o algoritmo so

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 var faca senao logico inteiro para se real enquanto ate

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\2*9 = 9 11%(3^2) = 2 3\2+(65-40)^(1/2) = 6
Universidade Federal do Vale do So Francisco - UNIVASF Colegiado de Engenharia de Computao CECOMP

3/(4+5) = 0.33333333 11%3^2 = 2 (11%3)^2 = 4

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

Você também pode gostar