Escolar Documentos
Profissional Documentos
Cultura Documentos
_____________________________________________________________________________________
6. Atividades Complementares
As atividades complementares sero aplicadas nos dois bimestres e sero aplicadas na converso de algoritmos em portugus estruturados para uma linguagem de programao (C, Pascal, etc)
7. Avaliao Provas de avaliao bimestrais e trabalhos individuais. Notas: 60% - resultado de provas (6,0) 20% - TDE Trabalho Discente Efetivo (2,0) 20% - avaliao de trabalhos (2,0) Avaliao dos trabalhos a soma dos trabalhos. Nota de cada trabalho = 2,0 / (numero de trabalhos do semestre 1)
8. CRONOGRAMA DAS ATIVIDADES: O Calendrio escolar da Uni SantAnna prev um semestre com 20 semanas. T=atividade terica P=atividade prtica EAD=atividade semipresencial
Contedo / Atividades Apresentao da matria Ciclo de Processamento, Algoritmos, Fluxogramas. Estruturas e Exerccios Pseudocdigos, Variveis, Tipos de Dados, Operadores e Funes de Biblioteca Exerccios Comandos de controle. Comando SE. Exerccios. Comando Escolha. Exerccios Laos: Comandos de repetio. Comando Para. Exerccios. Reviso Prova 1. Bimestre Correo da prova. Vista de provas. Laos: Comandos de repetio. Comando Enquanto. Exercios. Comando Repita. Exerccios
9. Habilidades e Competncias desenvolvidas a partir do contedo ministrado. O contedo desta disciplina visa proporcionar aos alunos, habilidade e competncia em elaborar solues para problemas que envolvem lgica de programao em computadores, desta forma os alunos estaro aptos a aprenderem uma linguagem de programao futuramente.
10. BIBLIOGRAFIA
1 MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo de; Algoritmos Lgica para Desenvolvimento de Programao de Computadores, Editora rica, 2009. 2 GUIMARES; Lages; Algoritmos e Estruturas de Dados, Livros Tcnicos e Cientficos Editora, 2002. 3 PEREIRA, Silvio do Lago - Estruturas de dados fundamentais: conceitos e aplicaes So Paulo: rica, 2001.
1 SALVETTI, Dirceu Douglas; BARBOSA, Lisbete Madsen; Algoritmos, Editora Makron Books, 2002. 12. Sites de Interesse 1. www.apostilando.com. Oferece apostilas referentes a Algoritmos. 2. http://www.apoioinformatica.inf.br/visualg/ 3. http://www.scribd.com/doc/2097411/VisuAlg-Ref
1.Definies
Lgica a correo do pensamento. Ou Lgica a correo do raciocnio. Ou Lgica a ordem da razo. Exemplos: Todo mamfero animal. Todo cavalo mamfero. Todo cavalo animal. O caf est no armrio. O armrio est fechado. Preciso abrir o armrio para pegar o caf.
2. Algoritmos Algoritmo uma seqncia de passos que visam atingir um objetivo bem definido. 3. Estrutura Bsica de Lgica de Programao
Entrada Algortmo
Sada
Lgica de programao: Consiste na construo de um algoritmo com comandos a serem executados ordenadamente de modo a produzir os resultados esperados corretamente. (Definio do professor)
Exemplo Como fritar um ovo? Verificar se tem ovo, frigideira, leo, sal, espumadeira, prato e fogo. Colocar a frigideira no fogo Colocar leo na frigideira
Esta apenas uma das solues. A resoluo vai variar muito. Depende muito da viso e raciocnio lgico. Quanto mais detalhes colocamos em um algoritmo, melhor vai ser seu programa, ou seja, menos sujeito erros ele estar.
Exerccios
1. 2. 3. 4. 5. Trocar uma lmpada. Como trocar um pneu furado? Como abrir um cofre? Como retirar dinheiro no caixa eletrnico? Como preparar uma viagem? (entregar como trabalho de sala)
III.
Estrutura Bsica de Programao a) Estrutura lgica Vimos nos exerccios anteriores que sempre devamos verificar algumas condies para que o algoritmo lgico pudesse ser elaborado. Estas condies so fatores essenciais ao desenvolvimento do algoritmo.
Condies iniciais
Algoritmo
Objetivo
b) Estrutura de programao A estrutura de programao semelhante estrutura lgica , ou seja, a estrutura de programao deve seguir a estrutura do algoritmo.
Dados de entrada
Programa
Informaes
A estrutura de programao
Inicio
Processa
Fim Onde: Inicio: Bloco do programa onde so declaradas as variveis, funes e procedimentos. Processa: Bloco do programa onde so executados os comandos lgicamente organizados que vo manipular dados e informaes com o objetivo de apresentar o resultado esperado.
Fimalgoritmo
Descrio da Estrutura Palavra reservada nome do programa Algoritmo nome do programa var indica inicio da rea de declarao de variveis
var <lista de variveis> : <tipo da varivel> Indica inicio do corpo principal do programa Inicio <comando1> <comando2> <comando3> . . . fimAlgoritmo comandos a serem executados
Algoritmo Exemplo Var a,b,C: inteiro Inicio Escreva(Digite um numero:) Leia(a) Escreva(Digite um numero:) Leia(b) C <- a + b Escreva(Resultado: ,C) fimalgoritmo
Comentrios: // O VisuAlg permite a incluso de comentrios: qualquer texto precedido de "//" ignorado, at se atingir o final da sua linha. Por este motivo, os comentrios no se estendem por mais de uma linha: quando se deseja escrever comentrios mais longos, que ocupem vrias linhas, cada uma delas dever comear por "//".
Nomes de Variveis e sua Declarao Os nomes das variveis devem comear por uma letra e depois conter letras, nmeros ou underline. O limite de caracteres vai depender da linguagem. As variveis podem ser simples ou estruturadas (na verso atual, os vetores podem ser de uma ou duas dimenses). No pode haver duas variveis com o mesmo nome, com a natural exceo dos elementos de um mesmo vetor. A seo de declarao de variveis comea com a palavra-chave var, e continua com as seguintes sintaxes: <lista-de-variveis> : <tipo-de-dado> <lista-de-variveis> : vetor "["<lista-de-intervalos>"]" de <tipo-dedado> Na <lista-de-variveis>, os nomes das variveis esto separados por vrgulas. Na <lista-de-intervalos>, os <intervalo> so separados por vrgulas, e tm a seguinte sintaxe: <intervalo>: <valor-inicial> .. <valor-final> Na verso atual do VisuAlg, tanto <valor-inicial> como <valor-final> devem ser inteiros. Alm disso, exige-se evidentemente que <valor-final> seja maior do que <valor-inicial>. Exemplos: var a: inteiro Valor1, Valor2: real vet: vetor [1..10] de real matriz: vetor [0..4,8..10] de inteiro nome_do_aluno: caractere sinalizador: lgico
+,-
+,,*,/ MOD ou % ^
Operadores de Caracteres + Operador de concatenao de strings (isto , cadeias de caracteres), quando usado com dois valores (variveis ou constantes) do tipo "caractere". Por exemplo: "Rio " + " de Janeiro" = "Rio de Janeiro".
Operadores Relacionais =, <, >, <=, >=, <> Respectivamente: igual, menor que, maior que, menor ou igual a, maior ou igual a, diferente de. So utilizados em expresses lgicas para se testar a relao entre dois valores do mesmo tipo. Exemplos: 3 = 3 ( 3 igual a 3?) resulta em VERDADEIRO ; "A" > "B" ("A" est depois de "B" na ordem alfabtica?) resulta em FALSO.
Importante: No VisuAlg, as comparaes entre strings no diferenciam as letras maisculas das minsculas. Assim, "ABC" igual a "abc". Valores lgicos obedecem seguinte ordem: FALSO < VERDADEIRO. Operadores Lgicos nao Operador unrio de negao. nao VERDADEIRO = FALSO, e nao FALSO = VERDADEIRO. Tem a maior precedncia entre os operadores lgicos. Equivale ao NOT do Pascal. Operador que resulta VERDADEIRO quando um dos seus operandos lgicos for verdadeiro. Equivale ao OR do Pascal. Operador que resulta VERDADEIRO somente se seus dois operandos lgicos forem verdadeiros. Equivale ao AND do Pascal.
ou E
VI. Expresses Matemtica Os clculos matemticos devem seguir algumas regras de preferncia. Parnteses Exponenciao / Radiciao Multiplicao / Diviso Soma / Subtrao
Exemplos a) x = {3(5 3 )- (3/4)} b) y = 3 / (4*3(7/2-1)+[3-(2/4)] Os clculos matemticos devem seguir algumas regras de preferncia. Parnteses Exponenciao/Radiciao Multiplicao/Diviso Soma/Subtrao
Exerccios 1. Converter as expresses matemticas acima para o padro de programao. Trabalho para entregar: Converter a expresso matemtica abaixo e apresentar o resultado (valor de H), onde: A=2 X=1 Y=0,5 Z=3 W=-2 D=0 H = 2X{-5Y+3Z[7W(1+A)]} 2 A{ 5Y + ( Z / 2)[7W (66 + 3D )]
H = 2*(-2.5+(-378))*4*(-2.5+(-1386)) H = 2*(-380,5)*4*(-1388,5) H = (-761)*(-5554) H = 4226594 2. Elabore a expresso necessria para resolver a expresso matemticas abaixo. C=1 A=2 X=1 Z=2 M=-3 S=1 N=-1
3 C + 3A 2 X 3 3Z + 8 + Z 3 + M S5 * N
H1 =
H1 = (3-C+3A) / ((2X-3)/(Z3+M))+(3Z+8)/(S5*N))) H1 = (3-1+3*A) / (((2*X-3)/(Z*3+M)+(3*Z+8)/(S*5*N))) H1 = (3-1+3*2) / (((2*1-3)/(2*3+(-3))+(3*2+8)/(1*5*(-1)))) H1 = (8) / (((2-3)/(6+(-3))+(6+8)/(-5))) H1 = (8) / (((-1)/(3)+(14)/(-5))) H1 = (8) / ((-0,3333) + (-2,8) H1 = 8 / (-3,13333) H1 = -2,55319
Comando de Entrada de Dados leia (<lista-de-variveis>) Recebe valores digitados pelos usurio, atribuindo-os s variveis cujos nomes esto em <lista-de-variveis> ( respeitada a ordem especificada nesta lista). anlogo ao comando read do Pascal. Veja no exemplo abaixo o resultado: algoritmo "exemplo 1" var x: inteiro;
Se voc clicar em Cancelar ou teclar Esc durante a leitura de dados, o programa ser imediatamente interrompido.
se <expresso-lgica> entao <seqncia-de-comandos-1> senao <seqncia-de-comandos-2> fimse Nesta outra forma do comando, se o resultado da avaliao de <expresso-lgica> for VERDADEIRO, todos os comandos da <seqncia-de-comandos-1> (entre esta linha e a linha com senao) so executados, e a execuo continua depois a partir da primeira linha depois do fimse. Se o resultado for FALSO, estes comandos so desprezados e o algoritmo continua a ser executado a partir da primeira linha depois do senao, executando todos os comandos da <seqncia-de-comandos-2> (at a linha com fimse). Estes comandos equivalem ao if...then e if...then...else do Pascal. Note que no h necessidade de delimitadores de bloco (como begin e end), pois as seqncias de comandos j esto delimitadas pelas palavras-chave senao e fimse. O VisuAlg permite o aninhamento desses comandos de desvio condicional. Comando de Seleo Mltipla A sintaxe a seguinte: 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 Veja o exemplo a seguir, que ilustra bem o que faz este comando:
Introduo
Comandos de repetio permitem processar grupos de comandos repetidos em uma estrutura que facilita o controle do processamento. Existem trs estruturas bsicas de comandos de repetio que variam em sua sintaxe de acordo com a linguagem. Estrs comandos so: PARA REPITA ENQUANTO a) Comando ENQUANTO Sintaxe:
Estrutura Condio para sair do looping.
Neste exemplo de estrutura, os comandos sero executados enquanto a <condio for verdadeira. Quando a <condio> se tornar falsa, o processamento desta estrutura ser encerrado e continuar aps o FIMENQUANTO.
Exemplo 01:
Escreval(Digite um numero maior que 20: ) X <- 0 Enquanto (X < 20) Leia( X ) FimEnquanto
i <- i + 1 Se i = 1 entao // Se o primeiro numero que estou digitando, ento vou assumir que o maior. Maior <- X Seno Se X > Maior entao Maior <- X FimSe FimSe Escreva(Digitar mais um nmero (S/N)? ) Leia(continua) FIMENQUANTO Escreval(O maior nmero digitado foi , Maior )
No comando REPITA os <comandos> sero executados at que a <condio> se torne verdadeira. Os comandos sero executados pelo menos uma vez. Caso a <condio> nunca se torne verdadeira, o processamento entra em looping infinito, causando o travamento do programa. O processamento dos comandos no interior da estrutura deve em algum momento alterar a <condio> para verdadeiro e encerrar o processo
Exemplo 01:
Escreval(Digite um numero maior que 20: ) REPITA Leia( X ) ATE ( X > 20 )
REPITA Leia ( X ) i <- i + 1 Se i = 1 entao // Se o primeiro numero que estou digitando, ento vou assumir que o maior. Maior <- X Seno Se X > Maior entao Maior <- X FimSe FimSe Escreva(Digitar mais um nmero (S/N)? ) Leia(continua) ATE ( continua = N) ou (continua = n) Escreval(O maior nmero digitado foi , Maior )
b) Comando PARA
contador
Sintaxe 01:
FIMPARA
Quando o comando PARA executado, ele executa os comandos que esto dentro da estrutura n vezes. Estas n vezes a diferena entre o valor_final e o valor_inicial. <varivel> , tambm chamada de varivel contadora ou varivel controladora quem controla a quantidade de vezes que os comandos so executados. Ela incrementada de 1 para cada vez que os comandos so excutados. valor_inicial deve ser menor ou igual ao valor_final. Este comando mais utilizado quando sabe-se a quantidade de vezes que os comandos devem ser executados.
Exemplo 01: Neste exemplo ser apresentado na tela o contedo da varivel contadora dez vezes.
Para i de 1 ate 10 faca Escreval( i ) Fimpara
Exemplo 02: Neste exemplo ser apresentado na tela o contedo da varivel contadora 15 vezes.
Para i de 5 ate 20 faca Escreval( i ) Fimpara
Exemplo 03: Neste exemplo ser apresentado o dobro do nmero digitado. Isto ser repetido 8 vezes.
Para i de 1 ate 8 faca Leia(N) Dobro <- N * 2 Escreval( O dobro do nmero digitado , Dobro ) Fimpara
contador
Sintaxe 02:
PARA <varivel > DE <valor_inicial> ATE <valor_final> PASSO < n > FACA
Estrutura
Nesta sintaxe a diferena o PASSO n. Neste caso, isto quer dizer que a <varivel> vai ser incrementado de n. Exemplo 01: Neste exemplo ser apresentado na tela o contedo da varivel contadora apenas 5 vezes. Ser apresentado os valores 1, 3, 5, 7 e 9. Para i de 1 ate 10 passo 2 faca Escreval( i ) Fimpara Nesta sintaxe, n pode ser negativo. Neste caso, o valor_inicial deve ser maior que valor_final. Exemplo 02: Neste exemplo ser apresentado na tela o contedo da varivel contadora apenas 5 vezes mas em ordem decrescente. Ser apresentado os valores 10, 8, 6, 4 e 2. Para i de 10 ate 1 passo -2 faca Escreval( i ) Fimpara Exemplo 03: Contagem regressiva. Ser apresentado os valores 10, 9, 8, 7, 6, 5, 4, 3, 2, 1. Para i de 10 ate 1 passo -1 faca Escreval( i ) Fimpara