Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Introdução à Lógica de Programação Professora ANITA MACIEL LÓGICA Introdução à Lógica de Programação ”A lógica é o ramo da filosofia que cuida das regras do bem pensar, ou do pensar correto, sendo, portanto, um instrumento do pensar” . (disponível em: www.academia.edu/4435931/curso_completo_de_logica) LÓGICA DE PROGRAMAÇÃO Introdução à Lógica de Programação “uso correto das leis do pensamento, da ‘ordem da razão’ e de processos de raciocínio e simbolização formais na programação de computadores, objetivando racionalidade e o desenvolvimento de técnicas que cooperem para a produção de soluções logicamente válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar”. Forbellone, A., Eberspacher, H, 2000). (disponível em: www.academia.edu/4435931/curso_completo_de_logica) Introdução à Lógica de Programação ORIGEM ALGORITMO É uma palavra derivada do nome do matemático Abu Ja´far Muhammad(800- 847) que introduziu a escrita dos cálculos substituindo o ábaco. Ele ficou conhecido como Al-Kharazmi. Designa um procedimento geral de cálculo que se desenvolve, por assim dizer, automaticamente, poupando-nos esforço mental durante o seu curso. (FONSECA,F. C., 1999, p.50) É uma sequência de passos finitos que devem ser escritos de forma precisa e clara, evitando qualquer tipo de dúvida na interpretação e que tem como objetivo solucionar um problema computacional. MATEMÁTICA PROGRAMAÇÃO O PROBLEMA Introdução à Lógica de Programação Interpretação do Enunciado do problema O PROBLEMA Introdução à Lógica de Programação Construção do Algoritmo Interpretação do Enunciado do problema O PROBLEMA Introdução à Lógica de Programação Construção do Algoritmo Codificação em uma Linguagem de Programação Interpretação do Enunciado do problema O PROBLEMA Introdução à Lógica de Programação LINGUAGENS PARA REPRESENTAR ALGORITMOS Introdução à Lógica de Programação PORTUGOL LINGUAGEM GRÁFICA Introdução à Lógica de Programação PSEUDOLINGUAGEM PORTUGOL Introdução à Lógica de Programação PORTUGOL http://www.dei.estt.ipt.pt/portugol/node/33 SÍMBOLOS DO FLUXOGRAMA <- Introdução à Lógica de Programação http://www.dei.estt.ipt.pt/portugol/node/32 Introdução à Lógica de Programação INTERPRETADOR - PORTUGOL Introdução à Lógica de Programação INTERPRETADOR FLUXOGRAMA - PORTUGOL Todos os símbolos deverão ser colocados entre início e fim e unidos por linhas de fluxo. ESTRUTURA DO FLUXOGRAMA Introdução à Lógica de Programação Dentro desse símbolo, poderemos encontrar: Introdução à Lógica de Programação SAÍDA (display) 23 + 18 23 nome “Entendi” Introdução à Lógica de Programação SAÍDA (display) Introdução à Lógica de Programação SAÍDA (display) Introdução à Lógica de Programação ESTRUTURA DA PSEUDOLINGUAGEM Portugol de Tomar Todos os comandos e estruturas deverão ser colocados entre inicio e fim. PORTUGOL escrever variável escrever constante numérica escrever "texto" escrever [expressão] escrever variável , "texto" ,. . . escrever dia escrever 23 escrever “Entendi” escrever 23 + 89 escrever dia , “ Domingo” COMANDO DE SAÍDA (display) Introdução à Lógica de Programação PORTUGOL Introdução à Lógica de Programação PORTUGOL COMANDO DE SAÍDA (display) Introdução à Lógica de Programação PORTUGOL Tecla tab Tecla enter COMANDO DE SAÍDA (display) com \n e \t Introdução à Lógica de Programação PORTUGOL 12345678901234567890123456789012345678901234567890 s e m p r e sol g o s t o . . fim. COMANDO DE SAÍDA (display) com \n e \t Introdução à Lógica de Programação escrever “sol\t\tgosto\n\tsempre\n\n\nfim.” PORTUGOL 12345678901234567890123456789012345678901234567890 s e m p r e sol g o s t o . . fim. COMANDO DE SAÍDA (display) com \n e \t Introdução à Lógica de Programação PORTUGOL COMANDO DE SAÍDA (display) com \n e \t Introdução à Lógica de Programação Operador Significado Exemplo + adição 13+28 - subtração 28-13 * multiplicação 28*13 / divisão 8/51Portugol / divisão 8/5.1.6Portugol % oumod resto 8%53Portugol 8mod53VisualG ^ potenciação 2^38Portugol OPERADORES ARITMÉTICOS PORTUGOL Introdução à Lógica de Programação PORTUGOL OPERADORES ARITMÉTICOS Introdução à Lógica de Programação PORTUGOL OPERADORES ARITMÉTICOS Manipular dados/informações é, com certeza, uma das principais funções de um computador. O dado é um valor fornecido pelo usuário, gerado pelo programa ou lido de um arquivo Tipos de Dados Inteiro, Real, Caracter e Lógico Introdução à Lógica de Programação ORIGEM DO DADO Célula Introdução à Lógica de Programação CONCEITO DE VARIÁVEL Célula Endereço Introdução à Lógica de Programação CONCEITO DE VARIÁVEL DECLARANDO VARIÁVEL - Portugol tipo nomeDaVariável tipo nV1, nV2, nVn 1- O nome tem de começar por uma letra ou pelo carácter undescore (_) e não pode ser uma palavra reservada da linguagem. 2- Depois pode ter letras , algarismos ou undescore Regras para se nomear variáveis Tipos de variáveis inteiro, real, caracter, texto e logico - Portugol Introdução à Lógica de Programação EXERCITANDO- Portugol Nome de uma pessoa Idade de uma pessoa Salário de uma pessoa PORTUGOL Introdução à Lógica de Programação Nome de uma pessoa Idade de uma pessoa Salário de uma pessoa inteiro idade real salario texto nome inicio inteiro idade real salario texto nome fim PORTUGOL Introdução à Lógica de Programação EXERCITANDO- Portugol É um dos três comandos sequenciais da programação. Consiste em se atribuir um valor a uma variável. COMANDO DE ATRIBUIÇÃO a <- ... PORTUGOL Introdução à Lógica de Programação DECLARANDO E/ OU ATRIBUINDO - Portugol PORTUGOL Introdução à Lógica de Programação Introdução à Lógica de Programação ENTRADA DE DADOS INTERAGINDO Quando começamos a construir algoritmos, no início, parece tudo muito difícil afinal, essa não é nossa forma de pensar no cotidiano, visto que nossa vida não se resume a um conjunto de atividades onde uma só pode ser iniciada quando a outra for concluída. ESTRUTUTRA SEQUENCIAL (escrever, atribuição e ler) Introdução à Lógica de Programação ENTRADA DE DADOS INTERAGINDO Introdução à Lógica de Programação ENTRADA DE DADOS leia Dentro desse símbolo, poderemos encontrar: nomeVariavel noVar1, noVar2 PORTUGOL Introdução à Lógica de Programação ENTRADA DE DADOS Leia - Portugol ler nomeVariavel ler noVar1, noVar2 Introdução à Lógica de Programação ALGORITMO DO DOBRO Fluxograma Introdução à Lógica de Programação ALGORITMO DO DOBRO Portugol Introdução à Lógica de Programação C ++ Introdução à Lógica de Programação Introdução à Lógica de Programação Integrated Development Environment - IDE Ambiente de Desenvolvimento Integrado Integrated Development Environment – IDE Ambiente de Desenvolvimento Integrado Introdução à Lógica de Programação Introdução à Lógica de Programação LINGUAGEM C++ Bibliotecas iostream cstring cmath cctype iomanip cstdlib ... Introdução à Lógica de Programação LINGUAGEM C++ Bibliotecas #include <iostream> #include “prepara.h” Como incluir uma biblioteca no programa? A diretiva include seguida do nome na biblioteca entre o sinal de < e o de >. Podem ser aspas também em alguns casos. Introdução à Lógica de Programação LINGUAGEM C++ Bibliotecas Como Facilitar o Uso dos Recursos de E/S da Biblioteca iostream? Introdução à Lógica de Programação LINGUAGEM C++ Bibliotecas Como Facilitar o Uso dos Recursos de E/S da Biblioteca iostream? Introdução à Lógica de Programação LINGUAGEM C++ ESTRUTURA BÁSICA --- --- inicio <declaração_de_variáveis> <corpo_do_algoritmo> fim #include <iostream> using namespace std; intmain() { <declaração_de_variáveis> <corpo_do_programa> } PORTUGOL C++ SINTAXES Introdução à Lógica de Programação Tiposdasvariáveis inteiro real caracter texto logico Exemplos: inteiro<identificador> real<identificador Tiposdasvariáveis int /longlongint float / double char vetorde char bool Exemplos: int<identificador>; float<identificador>; C++ PORTUGOL SINTAXES Introdução à Lógica de Programação <identificador> formado por letras não acentuadas, algarismos ecaracterunderscore _ O 1oé, normalmente uma letra, mas pode ser o underscore. Exemplo: floatmediaAluno ou floatmedia_Aluno <identificador> formado por letras não acentuadas, algarismos ecaracterunderscore _ O 1oé, normalmente uma letra, mas pode ser o underscore. Exemplo: floatmediaAluno; ou floatmedia_Aluno; C++ PORTUGOL SINTAXES Introdução à Lógica de Programação // comentário de uma linha /* comentário com mais de uma linha */ Comando de Saída escrever<variável> escrever<constantes> escrever<operações> escrevervariável,“texto”, ... // comentário de uma linha /* comentário com mais de uma linha */ Comando de Saída cout<<<variável>; cout<<<constantes>; cout<<<operações>; cout<<variável<<”texto”<< ...; C++ PORTUGOL SINTAXES Introdução à Lógica de Programação Caracteres de controle usados com imprima: "\n"alimenta linha(enter) "\t"tabula (tab) 1/ 9/ 17/ 25/ 33/ 41/ 49/ 57/ 65/ 73 Caracteres de controle usados com cout: "\n"alimenta linha(enter) "\t"tabula (tab) 1/ 9/ 17/ 25/ 33/ 41/ 49/ 57/ 65/ 73 "\\"exibe\ "\" "exibe" C++ PORTUGOL SINTAXES Introdução à Lógica de Programação Comando de Atribuição <identificador><-expressão; Exemplo: media<-( a + b ) / 2 Comando de Atribuição <identificador>=expressão; Exemplo: media = ( a + b ) / 2; C++ PORTUGOL SINTAXES Introdução à Lógica de Programação Comando de Entrada ler<variável> ler var1, var2 Comando de Entrada cin>><variável>; cin>><var1>>><var2>; C++ PORTUGOL SINTAXES Introdução à Lógica de Programação OPERADOR DE EXTRAÇÃO E OPERADOR DE INSERÇÃO, cin e cout Introdução à Lógica de Programação OPERADORES ARITMÉTICOS Introdução à Lógica de Programação Operador C/ C++ PORTUGOL adição + + subtração - - multiplicação * * divisão / / resto % % potenciação __ ^ OBS: Se o dividendo e o divisor forem inteiros, INTEIRO será o QUOCIENTE Introdução à Lógica de Programação PROGRAMA DO DOBRO Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Muitas vezes em nossos algoritmos/ programas precisaremos tomar uma decisão, ou várias, para que certas situações aconteçam. Nesses momentos, teremos que fazer uso da estruturas de decisão. As estruturas decisão poderão ser: Simples - quando somente será executado um bloco, que poderá ter somente uma instrução, se a condição lógica for verdadeira. Composta - quando desejarmos que um bloco seja executado quando a condição for verdadeira e um outro bloco, quando for falsa. Encadeadas – quando temos várias possibilidades de respostas Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Operadores Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Teste Uma expressão relacional Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Teste Uma expressão relacional Duas, ou mais, expressões relacionais Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Exemplos C++ Portugol idade >= 18 idade >= 18 n % 2 == 0 n % 2 = 0 8 != 5 8 =/= 5 sexo == ‘f’ sexo = "f" Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Exemplos C++ num >=100&&num <= 999 !var Portugol num >=100enum <= 999 naovar Introdução à Lógica de Programação ESTRUTURA DE DECISÃO se ... entao PORTUGOL Introdução à Lógica de Programação ESTRUTURA DE DECISÃO se ... entao ... senao PORTUGOL ESTRUTURA DE DECISÃO Simples - Exercício Uma empresa fez uma seleção de candidatos baseada em prova e entrevista. Hoje será anunciado o resultado. O candidato deverá entrar com o número de inscrição e a nota que ele recebeu em casa. Se ele estiver na lista dos classificados, aparecerá a matrícula na tela. Caso contrário, nada acontece. Para estar na lista, a nota deverá ser maior do que 8,5. Introdução à Lógica de Programação Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Simples PE > 8.5 Insc, PE Insc Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Simples PORTUGOL inicio inteiro Insc real PE escrever "digite Inscrição " ler Insc escrever "digite nota recebida " ler PE se PE > 8.5 então escrever Insc fimSe fim Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Simples #include <iostream> #include <cstdlib> using namespace std; int main() { int Insc; float PE; cout << "digite Inscricao "; cin >> Insc; cout << "digite nota recebida " ; cin >> PE ; if( PE > 8.5 ) { //Experimente retirar a chave cout << Insc <<"\n"; //troque por << endl; } //Experimente retirar a chave system("pause"); } Introdução à Lógica de Programação ESTRUTURA DE DECISÃO Composta - Exercício Um comerciante resolveu fazer uma liquidação dando desconto nas mercadorias e ainda podendo parcelar em duas vezes caso o valor com desconto ficasse maior ou igual a R$ 200,00. Construa um programa que deixe entrar com o valor do produto e o percentual do desconto. Deverá ser exibida uma das mensagens: Duas parcelas no valor de ... Total: ... Introdução à Lógica de Programação total >=200 valor, percentual total=valor – valor*percentual / 100 total “ 2 parcelas “, total/2 ESTRUTURA DE DECISÃO Composta - Exercício Introdução à Lógica de Programação inicio real valor, percentual, total escrever "\nValor do produto " ler valor escrever "\nPercentual de desconto " ler percentual total <- valor - valor * percentual / 100 se total >= 200 entao escrever "\nDuas parcela no valor de ", total / 2 , "\n" senao escrever "\nTotal ", total , "\n" fimse fim PORTUGOL ESTRUTURA DE DECISÃO Composta - Exercício Introdução à Lógica de Programação #include <iostream> #include <cstdlib> using namespace std; int main() { float valor, percentual, total; cout << "\nValor do produto "; cin >> valor; cout << "\nPercentual de desconto "; cin >> percentual; total = valor - valor * percentual / 100; if(total >= 200 ) cout << "\nDuas parcelas no valor de "<< total / 2 << endl; else cout << "\nTotal "<< total << endl ; system("pause"); } ESTRUTURA DE DECISÃO Composta - Exercício inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Introdução à Lógica de Programação TESTE DE MESA inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA num u d c um Número inteiro... inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um Número inteiro... 9876 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um 9876 Número inteiro... 9876 9876 % 10 = 6 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um 9876 6 Número inteiro... 9876 9876 / 10 = 987 987 % 10 = 7 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um 9876 6 7 Número inteiro... 9876 9876 / 100 = 98 98 % 10 = 8 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um 9876 6 7 8 Número inteiro... 9876 9876 / 1000 = 9 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display num u d c um 9876 6 7 8 9 num u d c um Número inteiro... 9876 9876 6 7 8 9 9 8 7 6 inicio inteiro num, u, d, c, um escrever "\Número inteiro positivo de 4 algarismos: " ler num se num >= 1000 e num <=9999 então u <- num % 10 d <- ( num / 10) % 10 c <- ( num / 100) % 10 um <- num / 1000 escrever um ,"\t", c, "\t", d, "\t", u SENAO ESCREVER "\nNumero não tem quatro algarismos ou é negativo " fimse fim Introdução à Lógica de Programação TESTE DE MESA Memória Principal Display
Compartilhar