21/03/14 1
Curso de Lógica
Pedro Luiz de Paula Filho
21/03/14 2
Lógica
 “Arte de raciocinar”
 Coerência de raciocínio, de idéias
 Maneira de raciocinar particular a
um indivíduo ou a um grupo
 Ela trata da correção do pensamento
 Como filosofia, procura saber por
que pensamos de uma forma / outra
 Ajuda colocar ordem no pensamento
21/03/14 3
Lógica de Programação
 Raciocínio lógico empregado no
desenvolvimento de programas de
computador, fazendo uso ordenado
dos elementos básicos suportados
por um dado estilo de programação
21/03/14 4
Elementos para uma boa
lógica de programação
 Organização
 Criatividade
 Perseverança
 Padronização
 Otimização
21/03/14 5
Algoritmos
 Sequência de passos (ações) que
devem ser executados para se
alcançar um objetivo
 Não é a solução de um problema,
pois senão, cada problema teria
somente uma única solução
 O aprendizado de algoritmos só se
consegue através de exercícios
21/03/14 6
Conselho sobre algoritmo
 Algoritmos não se aprendem:
 Copiando algoritmos
 Estudando algoritmos
 Algoritmos só se aprendem:
Construindo algoritmos
Testando algoritmos
21/03/14 7
Fases de um Algoritmo
1. Definir o problema
2. Realizar um estudo da situação
atual e verificar a forma de resolver
o problema
3. Usar uma linguagem para escrever
um programa para resolver o
problema
4. Analisar c/o usuário se o problema
foi resolvido, senão volta ao 1.
21/03/14 8
Definir / Resolver o
Problema
 Entenda muito bem o que precisa
ser feito
 Tente analisar se é possível de ser
feito
 Veja se existe uma boa relação
custo x benefício
21/03/14 9
Escrever o programa
 Escolha uma linguagem de
computação que te ajude a resolver
o problema
 Defina passo a passo, o que deve
ser feito para a solução do
problema, o planejamento é a
melhor solução
 Escreva teu código
21/03/14 10
A programação
 Toda linguagem de programação
tem uma estrutura básica própria.
 Os comandos tem uma sintaxe
específica e bem rígida, logo, um
comando fora da sintaxe é rejeitado
pelo computador.
21/03/14 11
Problema: Robô - Trocar
uma lâmpada
 Comandos:
 ande (metros);
 pegue (objeto);
 solte (objeto);
 gire (parte corpo, graus);
 levanteBraço (metros);
 Inicio
 Fim.
21/03/14 12
Problema:
Sair do labirinto
7 m 7 m
14 m
2 m
2 m
2 m
2 m
7 m 7 m
21/03/14 13
Construa o labirinto para
qualquer tamanho
 Como fazer?
 Cria-se um novo programa, para
cada nova medida?
 Como deixar a mesma lógica,
maleável para qualquer tamanho?
21/03/14 14
Constantes x Variáveis
 Constante
 quando um dado não tem a
possibilidade de ser alterado
 Variável:
 forma de “guardar” dados que
podem sofrer alterações de um
problema
 A variável deve ter um tipo, de
acordo com o que é armazenado
21/03/14 15
Tipos de dados
 int
 Números inteiros, ou seja, não
fracionários
 float
 Qualquer número, tanto inteiros,
quanto fracionários
 char
 Um único caracter, qualquer
elemento presente no teclado
21/03/14 16
Declaração de variáveis
 tipo nome;
 Exemplo:
int x;
float nota1, nota2, media;
char letra, resposta;
21/03/14 17
Nome de variáveis
 Regra Básica:
 Devem começar com uma letra ou _
 Pode ser seguido por letras e/ou
números
 Não é permitido o uso de caracteres
especiais (#, @, %, espaço, ...),
exceto o sublinhado (_)
21/03/14 18
Atribuição
 variavel = valor;
 Exemplo:
x = 10;
nota1 = 9.5;
letra = resposta = ‘S’;
21/03/14 19
Operadores
 Aritméticos
 Símbolos que representam as
operações matemáticas
 Relacionais
 Símbolos que servem para comparar
valores ou expressões
 Lógicos
 Conectivos de expressões
21/03/14 20
Operadores Aritméticos
Operação Operador
Adição +
Subtração -
Multiplicação *
Divisão /
Resto %
21/03/14 21
Operadores Relacionais
Comparação Operador
Igualdade ==
Diferenciação !=
Maior >
Menor <
Maior Igual >=
Menor Igual <=
21/03/14 22
Operadores Lógicos
Operação Operador
Conjunção – E &&
Disjunção – OU ||
Negação – NÃO !
21/03/14 23
Operadores Lógicos
A B &&
(E)
||
(OU)
! (A)
(Não)
V V V V F
V F F V F
F V F V V
F F F F V
21/03/14 24
Estrutura Básica em C
main ( ) - primeira função a ser
executada
{ - inicia o corpo da função
} - termina a função
 Deve existir obrigatoriamente
 Marca o início da execução do
programa
Instalando o Dev-C++
 Baixe o arquivo
 Devcpp-4.9.9.2_setup.exe
21/03/14 25
Editor de Código
Compilar – Ctrl+F9
Executar – Ctrl+F10
Instalando o CodeBlocks
 Baixe o arquivo
21/03/14 26Editor de Código
Compilar – Ctrl+F9
Executar – Ctrl+F10
21/03/14 27
Instalando o Turbo C
 Rode o programa Turboc.exe
 Em extract to: digite: c:tc e aperte o
botão start
 Com isso foi criado o diretório c:tc
 Dentro desta pasta tem uma pasta
bin e dentro dela tem um programa
TC.EXE.
 Execute ele.
21/03/14 28
Instalando o Turbo C
 Vá em options – directories
 Em Include Directories coloque:
 C:tcinclude
 Em Library Directories coloque:
 C:tclib
Pronto estamos aptos a programar!
21/03/14 29
Turbo C - Básico
 File – New
 Abre um novo programa
 Run – Run (Ctrl + F9)
 Compila e roda o programa
 Window – user screen (Alt + F5)
 Mostra a execução do programa
 Alt + F1 - Help da linguagem
 F1 – Help do editor Turbo C
21/03/14 30
#include
 Chama uma biblioteca de comandos
da linguagem C
 Deve ser colocado no inicio do
programa
#include <stdio.h>
 Chama a biblioteca padrão de
entrada e saída do C.
21/03/14 31
Comentários
 Texto informativo colocado no meio
do código para facilitar o
entendimento do programa.
 Pode ser:
 //
Usado em uma linha
 /* texto */
Usado para várias linhas
21/03/14 32
Função printf() – Escreva
 Serve para escrever uma informação
na tela do computador.
Sintaxe:
printf(“expr. de controle”, args);
21/03/14 33
Função printf() – Escreva
 Exemplos:
printf(“Meu primeiro programa”);
printf(“Este é o No. Dois: %d”,2);
printf(“%s esta a %d milhões de
milhas ndo sol”,”Venus”, 67);
printf(“Esta é a letra jota: %c “, ‘j’);
21/03/14 34
Função printf() – Escreva
Códigos Especiais
n - Nova linha
t - Tab
” - Aspas
 - Barra
Códigos printf()
%c - Caracter
%d - Decimal
%e - Notação científ.
%f - Ponto flutuante
%o - Octal
%s - String
%u - Decimal s/sinal
%x - Hexadecimal
21/03/14 35
/* Primeiro programa
Desenvolvido pelo Pedro
Curso de Lógica de Programação */
#include <stdlib.h>// chama biblioteca
#include <stdio.h>// chama a biblioteca
main () { // inicia o programa
printf(“Olá Mundo”); // escreve na
tela
system(“pause”);
} // finaliza o programa
21/03/14 36
/* Programa que soma de 2 valores
Desenvolvido pelo Pedro
Curso de Lógica de Programação */
#include <stdio.h>// chama a biblioteca
#include <stdlib.h>// chama a biblioteca
main () { // inicia o programa
int valor1, valor2, resultado; // vars.
valor1 = 20;
valor2 = 30;
resultado = valor1 + valor2;
// escreve o valor de resultado na tela
printf(“A soma é %d”, resultado);
system(“pause”);
} // finaliza o programa
21/03/14 37
/* Programa de media de 2 valores
Desenvolvido pelo Pedro
Curso de Lógica de Programação */
#include <stdio.h>// chama a biblioteca
#include <stdlib.h>
main () { // inicia o programa
float valor1, valor2, media; // vars.
valor1 = 20;
valor2 = 30;
media = (valor1 + valor2) / 2;
// escreve o valor da variavel média na tela
printf(“A média é %f”, media);
system(“pause”);
} // finaliza o programa
21/03/14 38
Função scanf() – Leia
 Serve para ler uma informação do
teclado, e armazená-la em uma
variável.
Sintaxe:
scanf(“expr. de controle”, args);
21/03/14 39
Função scanf() – Leia
 Exemplo:
scanf (“%d”, &valor1); // lê um inteiro
scanf (“%f”, &valor1); // lê um float
scanf (“%s”, &nome); // lê uma string
scanf (“%c”, &letra); // lê uma letra
21/03/14 40
O OPERADOR DE
ENDEREÇO (&)
 Representa um endereço de
memória, que é a forma pela qual o
computador usa para identificar uma
variável
 Toda variável ocupa uma área de
memória e seu endereço é o do
primeiro byte por ela ocupado
21/03/14 41
O OPERADOR DE
ENDEREÇO (&)
 Ex :
int - 2 bytes
float - 4 bytes
char - 1 byte
 Quando usamos & precedendo uma
variável, estamos falando do
endereço da mesma na memória
21/03/14 42
/* Programa que soma 2 variáveis informadas
Desenvolvido pelo Pedro
Curso de Lógica de Programação */
#include <stdio.h>// chama a biblioteca
#include <stdlib.h>
main () { // inicia o programa
int valor1, valor2, resultado; // vars.
printf(“Informe o 1o valor”);
scanf(“%d”, &valor1);
printf(“Informe o 2o valor”);
scanf(“%d”, &valor2);
resultado = valor1 + valor2;
printf(“A soma é %d”, resultado);
system(“pause”);
} // finaliza o programa
21/03/14 43
/* Progr. de media de 2 variáveis informadas
Desenvolvido pelo Pedro
Curso de Lógica de Programação */
#include <stdio.h>// chama a biblioteca
#include <stdlib.h>
main () { // inicia o programa
float valor1, valor2, media; // vars.
printf(“Informe o 1o valor”);
scanf(“%f”, &valor1);
printf(“Informe o 2o valor”);
scanf(“%f”, &valor2);
media = (valor1 + valor2) / 2;
// escreve o valor da variavel média na tela
printf(“A média é %f”, media);
system(“pause”);
} // finaliza o programa
21/03/14 44
Exercícios – Lista Um
1. Leia 4 notas e informe a média.
2. Leia 2 valores e informe a soma, a
subtracao, a multiplicacao e a
divisao entre eles.
3. Leia base e altura e calcule a área
de um triangulo
21/03/14 45
Exercícios – Lista Um
4. Leia um grau Celsius e calcule seu
equivalente em Fahrenheit
5. Calcule o volume de uma esfera de
raio r
21/03/14 46
Exercícios – Lista Um
6. Faça um programa que calcule as
raízes usando baskara
7. Dado as coordenadas de dois
pontos no espaço (x1, y1) e (x2,
y2). Calcule a distância entre eles.
21/03/14 47
Exercícios – Lista Um
8. Calcule o salário líquido de um
funcionário, sabendo que sobre o
salário bruto, incide-se um
desconto de 8,5% para a
previdência e sobre o restante,
tem-se um desconto de 26,6% para
o IR. Leia o salário bruto e mostre o
salário líquido, o IR e a previdência.
21/03/14 48
Exercícios – Lista Dois
1. Calcule x
2. Calcule z
3. Uma revenda de automóveis paga a
seus vendedores dois salários
mínimos fixos e mais uma comissão
de R$ 100,00 por carro vendido e
mais 5% do valor totals das vendas.
Leia os dados necessários e calcule o
salário de um vendedor.
21/03/14 49
Exercícios – Lista Dois
4. Calcule a média geométrica de quatro
elementos (a,b,c,d)
5. Faça um algoritmo que leia um valor
inteiro e positivo menor que 1000, e
determine a soma de seus elementos.
Ex. 397. 3 + 9 + 7 = 19
6. Em um consórcio, sabe-se o total de
prestações, a quantidade de prestações
pagas e o valor atual de cada uma.
Escreva um programa que informe o total
pago e o saldo devedor.

Logica usando c_-_aula_1

  • 1.
    21/03/14 1 Curso deLógica Pedro Luiz de Paula Filho
  • 2.
    21/03/14 2 Lógica  “Artede raciocinar”  Coerência de raciocínio, de idéias  Maneira de raciocinar particular a um indivíduo ou a um grupo  Ela trata da correção do pensamento  Como filosofia, procura saber por que pensamos de uma forma / outra  Ajuda colocar ordem no pensamento
  • 3.
    21/03/14 3 Lógica deProgramação  Raciocínio lógico empregado no desenvolvimento de programas de computador, fazendo uso ordenado dos elementos básicos suportados por um dado estilo de programação
  • 4.
    21/03/14 4 Elementos parauma boa lógica de programação  Organização  Criatividade  Perseverança  Padronização  Otimização
  • 5.
    21/03/14 5 Algoritmos  Sequênciade passos (ações) que devem ser executados para se alcançar um objetivo  Não é a solução de um problema, pois senão, cada problema teria somente uma única solução  O aprendizado de algoritmos só se consegue através de exercícios
  • 6.
    21/03/14 6 Conselho sobrealgoritmo  Algoritmos não se aprendem:  Copiando algoritmos  Estudando algoritmos  Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos
  • 7.
    21/03/14 7 Fases deum Algoritmo 1. Definir o problema 2. Realizar um estudo da situação atual e verificar a forma de resolver o problema 3. Usar uma linguagem para escrever um programa para resolver o problema 4. Analisar c/o usuário se o problema foi resolvido, senão volta ao 1.
  • 8.
    21/03/14 8 Definir /Resolver o Problema  Entenda muito bem o que precisa ser feito  Tente analisar se é possível de ser feito  Veja se existe uma boa relação custo x benefício
  • 9.
    21/03/14 9 Escrever oprograma  Escolha uma linguagem de computação que te ajude a resolver o problema  Defina passo a passo, o que deve ser feito para a solução do problema, o planejamento é a melhor solução  Escreva teu código
  • 10.
    21/03/14 10 A programação Toda linguagem de programação tem uma estrutura básica própria.  Os comandos tem uma sintaxe específica e bem rígida, logo, um comando fora da sintaxe é rejeitado pelo computador.
  • 11.
    21/03/14 11 Problema: Robô- Trocar uma lâmpada  Comandos:  ande (metros);  pegue (objeto);  solte (objeto);  gire (parte corpo, graus);  levanteBraço (metros);  Inicio  Fim.
  • 12.
    21/03/14 12 Problema: Sair dolabirinto 7 m 7 m 14 m 2 m 2 m 2 m 2 m 7 m 7 m
  • 13.
    21/03/14 13 Construa olabirinto para qualquer tamanho  Como fazer?  Cria-se um novo programa, para cada nova medida?  Como deixar a mesma lógica, maleável para qualquer tamanho?
  • 14.
    21/03/14 14 Constantes xVariáveis  Constante  quando um dado não tem a possibilidade de ser alterado  Variável:  forma de “guardar” dados que podem sofrer alterações de um problema  A variável deve ter um tipo, de acordo com o que é armazenado
  • 15.
    21/03/14 15 Tipos dedados  int  Números inteiros, ou seja, não fracionários  float  Qualquer número, tanto inteiros, quanto fracionários  char  Um único caracter, qualquer elemento presente no teclado
  • 16.
    21/03/14 16 Declaração devariáveis  tipo nome;  Exemplo: int x; float nota1, nota2, media; char letra, resposta;
  • 17.
    21/03/14 17 Nome devariáveis  Regra Básica:  Devem começar com uma letra ou _  Pode ser seguido por letras e/ou números  Não é permitido o uso de caracteres especiais (#, @, %, espaço, ...), exceto o sublinhado (_)
  • 18.
    21/03/14 18 Atribuição  variavel= valor;  Exemplo: x = 10; nota1 = 9.5; letra = resposta = ‘S’;
  • 19.
    21/03/14 19 Operadores  Aritméticos Símbolos que representam as operações matemáticas  Relacionais  Símbolos que servem para comparar valores ou expressões  Lógicos  Conectivos de expressões
  • 20.
    21/03/14 20 Operadores Aritméticos OperaçãoOperador Adição + Subtração - Multiplicação * Divisão / Resto %
  • 21.
    21/03/14 21 Operadores Relacionais ComparaçãoOperador Igualdade == Diferenciação != Maior > Menor < Maior Igual >= Menor Igual <=
  • 22.
    21/03/14 22 Operadores Lógicos OperaçãoOperador Conjunção – E && Disjunção – OU || Negação – NÃO !
  • 23.
    21/03/14 23 Operadores Lógicos AB && (E) || (OU) ! (A) (Não) V V V V F V F F V F F V F V V F F F F V
  • 24.
    21/03/14 24 Estrutura Básicaem C main ( ) - primeira função a ser executada { - inicia o corpo da função } - termina a função  Deve existir obrigatoriamente  Marca o início da execução do programa
  • 25.
    Instalando o Dev-C++ Baixe o arquivo  Devcpp-4.9.9.2_setup.exe 21/03/14 25 Editor de Código Compilar – Ctrl+F9 Executar – Ctrl+F10
  • 26.
    Instalando o CodeBlocks Baixe o arquivo 21/03/14 26Editor de Código Compilar – Ctrl+F9 Executar – Ctrl+F10
  • 27.
    21/03/14 27 Instalando oTurbo C  Rode o programa Turboc.exe  Em extract to: digite: c:tc e aperte o botão start  Com isso foi criado o diretório c:tc  Dentro desta pasta tem uma pasta bin e dentro dela tem um programa TC.EXE.  Execute ele.
  • 28.
    21/03/14 28 Instalando oTurbo C  Vá em options – directories  Em Include Directories coloque:  C:tcinclude  Em Library Directories coloque:  C:tclib Pronto estamos aptos a programar!
  • 29.
    21/03/14 29 Turbo C- Básico  File – New  Abre um novo programa  Run – Run (Ctrl + F9)  Compila e roda o programa  Window – user screen (Alt + F5)  Mostra a execução do programa  Alt + F1 - Help da linguagem  F1 – Help do editor Turbo C
  • 30.
    21/03/14 30 #include  Chamauma biblioteca de comandos da linguagem C  Deve ser colocado no inicio do programa #include <stdio.h>  Chama a biblioteca padrão de entrada e saída do C.
  • 31.
    21/03/14 31 Comentários  Textoinformativo colocado no meio do código para facilitar o entendimento do programa.  Pode ser:  // Usado em uma linha  /* texto */ Usado para várias linhas
  • 32.
    21/03/14 32 Função printf()– Escreva  Serve para escrever uma informação na tela do computador. Sintaxe: printf(“expr. de controle”, args);
  • 33.
    21/03/14 33 Função printf()– Escreva  Exemplos: printf(“Meu primeiro programa”); printf(“Este é o No. Dois: %d”,2); printf(“%s esta a %d milhões de milhas ndo sol”,”Venus”, 67); printf(“Esta é a letra jota: %c “, ‘j’);
  • 34.
    21/03/14 34 Função printf()– Escreva Códigos Especiais n - Nova linha t - Tab ” - Aspas - Barra Códigos printf() %c - Caracter %d - Decimal %e - Notação científ. %f - Ponto flutuante %o - Octal %s - String %u - Decimal s/sinal %x - Hexadecimal
  • 35.
    21/03/14 35 /* Primeiroprograma Desenvolvido pelo Pedro Curso de Lógica de Programação */ #include <stdlib.h>// chama biblioteca #include <stdio.h>// chama a biblioteca main () { // inicia o programa printf(“Olá Mundo”); // escreve na tela system(“pause”); } // finaliza o programa
  • 36.
    21/03/14 36 /* Programaque soma de 2 valores Desenvolvido pelo Pedro Curso de Lógica de Programação */ #include <stdio.h>// chama a biblioteca #include <stdlib.h>// chama a biblioteca main () { // inicia o programa int valor1, valor2, resultado; // vars. valor1 = 20; valor2 = 30; resultado = valor1 + valor2; // escreve o valor de resultado na tela printf(“A soma é %d”, resultado); system(“pause”); } // finaliza o programa
  • 37.
    21/03/14 37 /* Programade media de 2 valores Desenvolvido pelo Pedro Curso de Lógica de Programação */ #include <stdio.h>// chama a biblioteca #include <stdlib.h> main () { // inicia o programa float valor1, valor2, media; // vars. valor1 = 20; valor2 = 30; media = (valor1 + valor2) / 2; // escreve o valor da variavel média na tela printf(“A média é %f”, media); system(“pause”); } // finaliza o programa
  • 38.
    21/03/14 38 Função scanf()– Leia  Serve para ler uma informação do teclado, e armazená-la em uma variável. Sintaxe: scanf(“expr. de controle”, args);
  • 39.
    21/03/14 39 Função scanf()– Leia  Exemplo: scanf (“%d”, &valor1); // lê um inteiro scanf (“%f”, &valor1); // lê um float scanf (“%s”, &nome); // lê uma string scanf (“%c”, &letra); // lê uma letra
  • 40.
    21/03/14 40 O OPERADORDE ENDEREÇO (&)  Representa um endereço de memória, que é a forma pela qual o computador usa para identificar uma variável  Toda variável ocupa uma área de memória e seu endereço é o do primeiro byte por ela ocupado
  • 41.
    21/03/14 41 O OPERADORDE ENDEREÇO (&)  Ex : int - 2 bytes float - 4 bytes char - 1 byte  Quando usamos & precedendo uma variável, estamos falando do endereço da mesma na memória
  • 42.
    21/03/14 42 /* Programaque soma 2 variáveis informadas Desenvolvido pelo Pedro Curso de Lógica de Programação */ #include <stdio.h>// chama a biblioteca #include <stdlib.h> main () { // inicia o programa int valor1, valor2, resultado; // vars. printf(“Informe o 1o valor”); scanf(“%d”, &valor1); printf(“Informe o 2o valor”); scanf(“%d”, &valor2); resultado = valor1 + valor2; printf(“A soma é %d”, resultado); system(“pause”); } // finaliza o programa
  • 43.
    21/03/14 43 /* Progr.de media de 2 variáveis informadas Desenvolvido pelo Pedro Curso de Lógica de Programação */ #include <stdio.h>// chama a biblioteca #include <stdlib.h> main () { // inicia o programa float valor1, valor2, media; // vars. printf(“Informe o 1o valor”); scanf(“%f”, &valor1); printf(“Informe o 2o valor”); scanf(“%f”, &valor2); media = (valor1 + valor2) / 2; // escreve o valor da variavel média na tela printf(“A média é %f”, media); system(“pause”); } // finaliza o programa
  • 44.
    21/03/14 44 Exercícios –Lista Um 1. Leia 4 notas e informe a média. 2. Leia 2 valores e informe a soma, a subtracao, a multiplicacao e a divisao entre eles. 3. Leia base e altura e calcule a área de um triangulo
  • 45.
    21/03/14 45 Exercícios –Lista Um 4. Leia um grau Celsius e calcule seu equivalente em Fahrenheit 5. Calcule o volume de uma esfera de raio r
  • 46.
    21/03/14 46 Exercícios –Lista Um 6. Faça um programa que calcule as raízes usando baskara 7. Dado as coordenadas de dois pontos no espaço (x1, y1) e (x2, y2). Calcule a distância entre eles.
  • 47.
    21/03/14 47 Exercícios –Lista Um 8. Calcule o salário líquido de um funcionário, sabendo que sobre o salário bruto, incide-se um desconto de 8,5% para a previdência e sobre o restante, tem-se um desconto de 26,6% para o IR. Leia o salário bruto e mostre o salário líquido, o IR e a previdência.
  • 48.
    21/03/14 48 Exercícios –Lista Dois 1. Calcule x 2. Calcule z 3. Uma revenda de automóveis paga a seus vendedores dois salários mínimos fixos e mais uma comissão de R$ 100,00 por carro vendido e mais 5% do valor totals das vendas. Leia os dados necessários e calcule o salário de um vendedor.
  • 49.
    21/03/14 49 Exercícios –Lista Dois 4. Calcule a média geométrica de quatro elementos (a,b,c,d) 5. Faça um algoritmo que leia um valor inteiro e positivo menor que 1000, e determine a soma de seus elementos. Ex. 397. 3 + 9 + 7 = 19 6. Em um consórcio, sabe-se o total de prestações, a quantidade de prestações pagas e o valor atual de cada uma. Escreva um programa que informe o total pago e o saldo devedor.