You are on page 1of 9

Lgica de Programao

Lgica: Arte de pensar, de raciocinar. Criar uma seqncia coerente de aes, para se chegar as concluses e resultado. (abstrato, filosfico, genrico). Algoritmos: Seqncia coerente de aes para se atingir um resultado, um objetivo. Texto, seqncia, comandos, aes. a representao grfica da lgica, por meio de textos em linguagem corrente. a forma abstrata de representao da lgica, materializao da lgica. 1 resultado tangvel do conceito de lgico. Fluxograma: representao grfica de um caminho, por meio de smbolos padronizados internacionalmente.

Premissa e Pedantismo
Jos um homem Premissa Lgica Todos homens so mortais Premissa Certa Logo, Jos mortal. Argumento Verdadeiro Todo mamfero um animal Premissa Lgica Todo cavalo um mamfero Premissa Certa Logo, todo cavalo um mamfero. Argumento Verdadeiro Joo tirou nota zero Premissa Lgica Logo, no vai passar de ano. Argumento Errado Errada Obs: no lgico, faltam premissas para validar o argumento. O cu azul e a relva verde Premissa Lgica Logo, o cu azul. Argumento Verdadeiro Certa O cu amarelo e a relva verde Premissa Lgica Logo, o cu amarelo. Argumento Verdadeiro Certa Obs: a lgica est correta, a premissa vlida o argumento, mas o argumento no verdadeiro. Todos os estudantes do IDEPE so inteligentes Premissa Lgica Joo um estudante do IDEPE Premissa Certa Portanto, Joo Inteligente. Argumento Joo Inteligente Premissa Lgica Joo estuda do IDEPE Premissa Errada Logo, todos os estudantes do IDEPE so inteligentes. Argumento Obs: as premissas no validam o argumento. Pedantismo: quando se acha alguma coisa, supe, imagina.

Quando no h validao do argumento atravs da premissa, argumenta sem informao. Programao: Encadeamento de idias. Transformao de um algoritmo por meio de uma linguagem de programao em linguagem de mquina Algoritmo Incio Tirar o fone do ganho; Ouvir o sinal de linha; Introduzir o carto; Teclar o nmero desejado; Se der o sinal de chamar; Conversar; Desligar; Retirar Carto; Seno Repetir Fim Cada passo-instruo Incio Comprar a bala; Pegar a Bala; Pagar a Bala; Tirar o papel; Colocar na boca; Degustar o doce; Se acabou Repetir; Fim

Exerccios 1. Criar uma seqncia lgica para tomar banho. 2. Descreva em detalhes a seqncia lgica para trocar um pneu de um carro. 3. Faa um algoritmo para trocar uma lmpada, descreva em detalhes. Incio Pegar uma escada Pegar uma lmpada Subir na escada Desrosquear a lmpada Rosquear a lmpada nova Descer da escada Fim Incio Entrar no banheiro Tirar a roupa Ligar o chuveiro Se molhar Pegar sabonete Se ensaboar Se enxaguar Pegar toalha Se secar Por roupa Fim Incio Pegar macaco Posicionar macaco Levantar o carro Pegar a chave de roda Desparafusar a roda Retirar a roda Pegar step Colocar step Parafusar a roda Fim

Obs: exerccios meramente ilustrativos, com seqncia simples, sem validao.

Trocar uma lmpada (Lgico). Acionar o interruptor da 1 lmpada; Enquanto a quantidade de soquetes testados for menor 10, faa;

Se a lmpada no acender, ento; Pegar uma escada; Posicionar a escada embaixo da lmpada; Buscar lmpadas novas; Subir na escada; Retirar a lmpada queimada; Enquanto a lmpada no acender, faa; Retirar a lmpada queimada; Colocar uma lmpada nova; Ir at o interruptor do prximo soquete. Fim Seqencial / Teste condicional (se) / Estrutura de Repetio. Veja abaixo a representao do algoritmo em um fluxograma. Fluxograma Forma Grfica incio

Ir para 1 Soquete

Se V Soquetes <10 F Acionar Interruptor

Lmpada No Acendeu

Ir para prximo soquete

Fim

Exerccios 1. Um homem precisava atravessar um rio com um barco que possui capacidade para carregar ele mesma e mais uma de trs cargas que so: Um lobo, um bode, e um mao de alfafas. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta. 1 levar o bode 2 voltar 3 levar o lobo 4 voltar com o bode 5 levar a alfafa 6 voltar 7 levar o bode 2. Trs jesutas e trs canibais precisam atravessar o rio; para tal dispem de um barco com capacidade para duas pessoas, nunca a quantidade de jesutas pode ser menor que a de canibais. Elabore o algoritmo. 1 JC 2 J 3 CC 4 C 5 JJ 6 J 7 JJ 8 C 9 CC 10 C 11 CC 3. Elabore um algoritmo que mova trs discos de uma torre de Hani, colocando sempre o disco menor sobre o maior. Pode se mover um disco de cada vez para qualquer haste. O objetivo mover os trs discos para outra haste. A B C 1 2 3

Colocar disco 1C

Colocar disco 2B Colocar disco 1B Colocar disco 3C Colocar disco 1A Colocar disco 2C Colocar disco 1C Prxima aula: solucionar torre de Hani com quatro pinos.

Tpicos Preliminares Tipos Primitivos

Dado diferente de informao. A informao extrada do dado, ela que d sentido ao dado. Veja o exemplo: Dado Informao O Brasil tem 180 milhes de pessoas 20% so corintianos Dia 21 de Abril Dia da rvore Oito Escada, nmero de degraus. Tipos Primitivos Inteiros (nmeros) = 1, 2, 3, 4, 5, -1, -2, -3, -4, -5 Reais (nmeros) = 2.25, 1.3, 4.5, -1.73 (altura, medida, frao). Caractere (letras, ns) = (ABCD... abcde...01234...#, ?, !,@) Lgico (duas hipteses Vou F) = (V ou F, N ou P, 1ou 0, L ou D)

Diferena entre inteiros e caractere = o inteiro utilizado para fazer clculos, o caractere no, ele passa somente informao. Inteiros = clculo Caractere = informao

Exemplos a) A placa PARE! Tinha 2 furos de bala. Caractere = ! Inteiro = 2 b) Josefina subiu 5 degraus para pegar uma boa maa. Inteiro = 5 Lgica = boa

c) Karla levou 3,5 horas para chegar ao hospital onde concebeu uma garota. Real = 3,5 Lgica = garota d) Ana pintou em sua camisa Preserve o meio ambiente, e ficou devendo 100,50 ao vendedor de tintas. Caractere = Real = 100,59 Os dados podem ser: Variveis: valores que mudam (ex. raio da circunferncia) Constantes: valores que no mudam (ex. PI 3,14). Identificadores (Regras) 1. Comea por caractere alfabtico 2. Podem ser seguidos por caracteres numricos ou alfabticos 3. Proibido o uso de caractere especial XPTO = correto X11 = correto 12y = errado, No pode comear por nmero,tem que ser caractere. X&@3 = errado, No pode conter caracteres especiais. Nome: Idade: End: Cep: Tel: CPF: RG: Caractere Inteiro Caractere Caractere Caractere Caractere Caractere

Declarao Inteiro: x; Caractere: nome, endereo, data; Real: ABC, XPTO, peso, dlar; Lgico: Resposta, H234; (V ou F); a) Assinale os identificadores vlidos. (x) U2 AH! aluno #55 Errado Certo Errado Errado Errado AB*C 0&O P{0} B52 RUA Errado Errado Errado Certo Certo

Km/l Errado CEP Certo Uyt DIA/MS Errado Certo Asdrubal Certo b) Encontre os erros da seguinte declarao de variveis: Inteiro: endereo, nfilhos; Caractere: idade, x; Lgico: lampada, c; Real: XPTO, c, peso, R$ Erros: c = est declarado como valor Real e valor Lgico, ou um ou outro, no pode repetir. $ = caractere especial Expresses Aritmticas Operadores: + * / Pot (x, y) Rad(x) Mod (mdulo) Div Prioridades Parnteses + internos Pot * Div + 1 2 3 4 5 6 7 8 9 Rad / mod Parnteses + internos Pot Rad * / Div Mod + Soma Subtrao Multiplicao Diviso Potenciao Radiciao Diviso com resto Diviso sem resto 3+2 5-3 7*2 8/4 x eleva a y, Pot(3,2) = 3 elevado a 2 = 3x3 = 9 Rad(9) = raiz quadrada de 9 = 3 9mod4 = 1 (resto da diviso de 9/4) 9div4 = 2 (quociente da diviso 9/4)

a) 5 + 9 + 7 + 8 / 4 5+9+7+2 = 23 b) 1 - 4 * 3 / 6 - Pot (3,2) 14*3/69 1 12 / 6 9 129 = - 10 c) Pot(5, 2) 4 / 2 + Rad(1 + 3 * 5) / 2 25 4 / 2 + Rad(1 + 3 * 5) / 2 25 4 / 2 + 4 / 2 25 2 + 2 = 25 a) Supondo que A, B, C so variveis do tipo inteiro, com valores iguais a 5, 10 e -8, respectivamente, e uma varivel real D,com valor 1,5 quais os resultados das expresses aritmticas. 1. 2. 3. 4. 5. 6. 2 * A mod 3 C Rad(- 2 * c) div 4 ((20div3) div 3) + Pot(2,8) / 2 (30 mod 4 * Pot(3,3)) * - 1 (Pot(-c,2) + (d * 10) / a Rad(Pot(a,b / a)) + c * d

a) 2 * 5 mod 3 (-8) 1(-8) =9 b) RAD( - 2 * - 8) DIV 4 Rad(16) div 4 4 div 4 =1 c) ((20 div 3) div 3) + Pot (2,8) / 2 (6 div 3) + Pot(2,8) / 2 2 + Pot((2,8) / 2 2 + 256 / 2

2 + 128 = 130 d) ((30 mod 4) * Pot (3,3) ) * -1 ( 2 * 27) * -1 54 * -1 = -54 e) Pot(-(-8),2) + (1,5 * 10) / 5 Pot (-(-8),2) + 15/5 64 + 3 = 67 f) RAD (Pot(5,10/5)) + (-8) * 1,5 RAD(25) + (-8) * 1,5 5 (-12) = -7

Linguagem C
a) main() Resposta: funo principal, incio de qualquer programa, a primeira funo a ser executada. b) #include Resposta: biblioteca contendo recursos e instrues necessrios para execuo do programa. c) Printf Resposta: funo para exibir um dado em tela. d) system(pause) Resposta: funo usada para pausar a execuo de um programa (apresenta a seguinte mensagem: Pressione qualquer tecla para continuar...). e) %d , %s, %lf, %c, %f Resposta: usados para formatao de dados (%d ->decimal, %s ->string, %lf ->longo flutuante, %c ->caracter, %f ->flutuante). f) ; Resposta: encerra uma instruo; g) { } Resposta: chave de abertura e chave de encerramento. h) ( ) Resposta: utilizado para passagem de parmetros.

You might also like