logica usando c_-_aula_1
DESCRIPTION
programação cTRANSCRIPT
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 algoritmosTestando algoritmos
21/03/14 7
Fases de um Algoritmo
1. Definir o problema2. 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:\tc\include Em Library Directories coloque:
C:\tc\lib
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 informadasDesenvolvido pelo PedroCurso 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 z3. 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.