obter a soluo de um problema. Independente da linguagem; Enfoque na soluo. PROGRAMA Um algoritmo escrito em uma linguagem de programao.
SOLUO DE UM PROBLEMA Analisar o problema compreender as partes que compem o problema; Identificar as informaes (as entradas) que esto disponveis; Identificar as operaes (tranformaes) que precisam ser realizadas com as informaes; Identificar o que dever ser gerado (sadas); Construir e testar uma soluo.
PROBLEMA: CALCULAR A MDIA ENTRE 2 NMEROS:
inci o Declarao de variaveis a , b e media
Leia a, b Medoa = media (a+b)/2
Escreva media fim algoritmo media var a, b: inteiro media : real inicio leia (a, b) media := (a + b) /2 escreva(media) fimalgoritmo
DIAGRAMA DE BLOCOS (FLUXOGRAMA) Smbolos:
Terminal incio ou trmino Processamento - ao Entrada ou sada Deciso permite a incluso de desvio, dependendo do resultado de uma expresso lgica. Conector identificar um ponto de ou para onde pode ser desvia o fluxo TIPOS DE DADOS VisuAlg Descrio C / C ++ Tamanho inteiro Um nmero inteiro positivo, zero ou negativo int 4 bytes -2147483648 a 2147483647 real Um nmero com um parte fracionria float double 4 bytes (float=real) 8 bytes (double) 3.4E-38 a 3.4E+38
1.7E-308 a 1.7E+308 caractere Caracteres alfanumricos , uma cadeia de caracteres char 1 byte -128 a 127 logico Valor lgico V ou F OPERADORES ARITMTICOS Operador operao C + adio + - subtrao - * multiplicao * / diviso / \ Diviso inteira mod mdulo (resto da diviso) % DECLARAO DE VARIVEIS Pseudocdigo VisuAlg
Identificador : tipo
Identificador o nome da varivel, que, sempre comeando por uma letra, pode ser formado com caracteres alfabticos e numricos. O smbolo de dois prontos (:) faz parte da sintaxe. Exemplo da declaraes: valor : inteiro // valor o identificador (nome) da varivel, // inteiro o tipo saldo : real nome : caractere PRIMEIROS COMANDOS Entrada e Saida leia (variavel) // o comando leia serve para obter um dado que // ser informado pelo usurio. // A varivel receber o valor digitado.
escreva (varivel) // o comando escreva serve para exibir na tela o contedo de uma varivel ou uma constante.
Atribuio identificador := identificador ou expresso ou constante := faz parte da sintaxe e significa a atribuio. Exemplos: contador := 0 maior := 99 media := (a+b)/2 CALCULAR A MDIA ENTRE 3 NMEROS INTEIROS O programa dever ler os 3 nmeros; Calcular a mdia e escrever a mdia.
PROBLEMA: CALCULAR A MDIA ENTRE 3 NMEROS:
inci o Declarao de variaveis a , b, c e media
Leia a, b, c Medoa = media (a+b+c)/3
Escreva media fim algoritmo media var a, b, c: inteiro media : real inicio leia (a, b, c ) media := (a + b + c) /3 escreva(media) fimalgoritmo
DADOS 3 NMEROS, DETERMINAR QUAL O MAIOR Ler os 3 nmeros; Comparar para identificar o maior; Escrever o maior.
DECISO SIMPLES: SE ... ENTAO ... SENAO ... FIMSE Comando se permite verificar se uma condio verdadeira. A condio pode ser o valor de uma varivel lgica ou o resultado de uma expresso lgica.
se ( a = 0 ) ento escreva(a nulo) se ( a > b ) ento escreva(O maior a ) algoritmo exemplo2 var a, b, c, media :inteiro mediaR : real inicio // Seo de Comandos leia (a, b, c) se ( a = 0 ) entao escreva("a = zero") senao se( a > b ) entao escreva("a maior que b") fimse fimse media := (a+b+c)\3 mediaR := (a+b+c)/3 escreva("Mdia = ", media, mediaR:5:2) fimalgoritmo se (expresso lgica) ento lista de comandos seno { opcional } lista de comandos fimse Comando se ... entao ... senao ... fimse OPERADORES LGICOS Permitem a construo de expresses lgicas, aquelas que retornam um valor verdadeiro ou falso.
Operador C / C++ e && ou || no ! TABELAS VERDADE Operao e envolve 2 operandos:
Operao ou envolve 2 operandos:
a \ b 0 1 0 0 0 1 0 1 a \ b 0 1 0 0 1 1 1 1 TABELA VERDADE a a` (ou ) 0 1 1 0 OPERADORES RELACIONAIS Operador (VisuAlg) significado C / C++ > maior > < menor < = igual == <> diferente != >= maior ou igual >= <= menor ou igual <= COMANDOS DE REPETIO para variavl de valorInicial ate valorFinal [passo incremento ] faca
lista de comandos
fimpara EXERCCIO: 1. Construa um programa que leia 10 valores e calcule a mdia;
2. Altere o programa (1) para determinar, entre os 10 valores, o maior e o menor valor;
3. O programa dever solicitar ao usurio quantos valores devero ser lidos. COMANDOS DE REPETIO (2) enquanto (expresso lgica ) faca
lista de comandos
fimenquanto Inicialmente, a expresso lgica analisada, se o resultado for verdadeiro ento a lista de comandos executada. Encontrado o fimenquanto, a expresso lgica analisada, novamente, se ainda for verdadeira, a lista de comandos executada novamente. Comando enquanto utilizado para executar uma lista de comando, um nmero no conhecido de vezes.
ENQUANTO - EXEMPLOS
escreva(Informe nmero para calcular fatorial) Leia(numero) Fatorial := 1 enquanto ( numero > 0 ) faca Fatorial := Fatorial * numero numero := numero -1 fimenquanto
soma := 0 Contador := 0 escreva(informe valor a ser somado :) leia(valor) enquanto ( valor >= 0 ) faca contador := contador + 1 soma := soma + valor se ( valor > maior) entao maior := valor fimse escreva(informe valor a ser somado :) leia(valor) fimenquanto COMANDOS DE REPETIO (3) repita
lista de comandos
ate (expresso lgica)
No comando repita, a lista de comandos executada, quando encontra o ate, a expresso lgica avaliada, se o resultado for falso, a lista de comandos executada novamente. Se o resultado da expresso lgica for verdadeiro, a execuo continua aps a linha que contm o ate. Com o comando repita, a lista de comandos ser executada 1 ou mais vezes. COMANDO DE SELEO MLTIPLA - ESCOLHA escolha <expresso-de-seleo> caso <exp11>, <exp12>, ..., <exp1n> <seqncia-de-comandos-1> caso <exp21>, <exp22>, ..., <exp2n> <seqncia-de-comandos-2> ... outrocaso <seqncia-de-comandos-extra> fimescolha
VETOR Varivel estruturada homognea. Consiste de um conjunto de elementos de um mesmo tipo.
V : vetor[1..6] de inteiro 1..6 representa: o ndice inicial = 1 e o ndice final = 6.
V[1] := 0 // para acessar um elemento, especifica-se o ndice do mesmo. EXEMPLO - ESCOLHA var opcao : inteiro Inicio /* programa solicita ao usurio informar a opcao */ leia(opcao) escolha opcao caso 1 escreva("aqui executar se opcao = 1") caso 2 escreva("aqui executar se opcao = 2") outrocaso escreva("executar se opcao = Outrovalor") fimescolha MATRIZ (OU VETOR BIDIMENSIONAL) Estrutura com 2 dimenses. Semelhante ao vetor, os elementos do do mesmo tipo.