SlideShare uma empresa Scribd logo
1 de 51
ANHANGUERA – 2016.2
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO
AULA 03 – LINGUAGEM DE PROGRAMAÇÃO
Prof. Thomás da Costa
thomascosta@aedu.com
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
LINGUAGEM DE PROGRAMAÇÃO
LINGUAGEM DE PROGRAMAÇÃO
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Aviso
LINGUAGEM DE PROGRAMAÇÃO
Todos os códigos fontes dessa aula, estão disponibilizados no Github:
https://github.com/thomasdacosta/algoritmos-
tecnicas-programacao.anhanguera-C
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Programação em Pares
LINGUAGEM DE PROGRAMAÇÃO
Detalhes:
• Dois programadores compartilham o desenvolvimento de um determinado
programa.
• Um programador tem o papel de piloto e o outro de copiloto.
• Piloto efetua a codificação do programa.
• Copiloto auxilia o piloto observando, auxiliando e revisando o trabalho
verificando possíveis problemas no desenvolvimento.
• Deve ocorrer a troca de pilotos e copilotos no decorrer do desenvolvimento.
• Para cada programa que iremos desenvolver no laboratório, iremos efetuar
a troca de parceiros de desenvolvimento.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Desenvolvendo Programas
LINGUAGEM DE PROGRAMAÇÃO
Será necessário:
• Uma IDE.
• A IDE que vamos utilizar é o Orwell Dev-C++.
• Uma Linguagem de Programação.
• Vamos programar na linguagem C.
• Um problema ou objetivo a ser desenvolvido.
• Antes de iniciar vamos conhecer novos conceitos.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Compilação
LINGUAGEM DE PROGRAMAÇÃO
Compilando um programa:
• Escrevemos o programa em uma linguagem conhecida facilmente por um
humano.
• Pode ocorrer erros de sintaxe quando estamos desenvolvendo o programa.
• Os erros são identificados pelo compilador.
• Além disso, o computador não entende diretamente a linguagem escrita.
• Precisa ocorrer uma conversão da linguagem para um nível mais baixo na
qual o computador possa entender e executar.
• Neste processo o arquivo executável da aplicação é gerado para ser
distribuído.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Compilação
LINGUAGEM DE PROGRAMAÇÃO
Como acontece:
Programa
Fonte
Compilador
Código
Objeto
Link Editor
Bibliotecas
Programa
Executável
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Compilação
LINGUAGEM DE PROGRAMAÇÃO
Primeiro programa:
• Vamos desenvolver nosso primeiro programa em Linguagem C.
• O programa tem como objetivo imprimir a mensagem Olá Mundo na tela.
• Vamos começar !!!
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
printf("Olá Mundo");
}
Bibliotecas
Programa principal
Comando para imprimir
na tela do computador
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
LINGUAGEM DE PROGRAMAÇÃO
Saída do Programa:
Primeiro Programa em C
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Primeiro Programa em C
LINGUAGEM DE PROGRAMAÇÃO
Detalhes:
• Linhas de instruções terminam com ponto-e-vírgula.
• Bibliotecas são conjuntos de programas que possuem instruções e
comandos para estender as funcionalidades da aplicação.
• A linha int main() identifica a função principal do programa, local de início
da aplicação.
• O comando printf exibe um texto na tela. Para impressão do valor é
necessário abrir e fechar parênteses, aspas duplas e digitar o texto.
• Maioria das instruções são executadas por um comando pré-definido,
seguido de parênteses e parâmetros.
• O inicio e fim de chaves {} identifica um escopo do programa.
• Precisamos compilar o programa para identificar qualquer tipo de
problema.
• Após a compilação, o executável do programa é gerado.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <locale.h>
int main()
{
setlocale(LC_ALL, "Portuguese");
printf("Olá Mundo");
}
Corrige a acentuação
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
LINGUAGEM DE PROGRAMAÇÃO
Saída do Programa:
Primeiro Programa em C
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Compilando um programa
LINGUAGEM DE PROGRAMAÇÃO
Comandos:
• F9 compila o programa.
• F10 executa um programa.
• F11 compila e executa um programa.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Compilando um programa
LINGUAGEM DE PROGRAMAÇÃO
Arquivos:
Código fonte
Executável
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Indentação do Código-Fonte
LINGUAGEM DE PROGRAMAÇÃO
O que é:
É uma forma de deixar mais legível o código-fonte de um programa, usando
tabulações e espaços entre comandos.
Vamos ver um exemplo !!!
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Indentação do Código-Fonte
LINGUAGEM DE PROGRAMAÇÃO
#include <stdio.h>
int main()
{
printf("Olá Mundo");
}
Código bem tabulado e com
espaçamentos, é possível saber
aonde começa e termina os
comandos do programa
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Indentação do Código-Fonte
LINGUAGEM DE PROGRAMAÇÃO
Código RUIM !!! Mal tabulado e sem
espaçamentos. Difícil de entender
aonde começa e termina cada
instrução
#include <stdio.h>
int main()
{printf("Olá Mundo");}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Detalhes:
• Variável é um local de memória para armazenar um determinado valor.
• As variáveis possuem vários tipos.
• São identificadas através de um único nome dentro de um escopo.
• Quando fizemos o algoritmo para calcular a média, tínhamos duas variáveis
Nota B1 e a Nota B2
• As duas variáveis podiam assumir qualquer tipo de valor numérico,
deixando o programa livre para funcionar com qualquer valor.
• Vamos desenvolver um programa com variáveis e analisar os seus tipos.
Nota B1
10
Nome da variável
Valor da variável
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Declaração:
int valor;
Para declarar uma variável precisamos de um tipo e um nome, seguido de
ponto-e-vírgula.
Tipo
Nome
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <stdbool.h>
int main()
{
int idade;
float salario;
double numero_pi;
char letra;
bool logico;
idade = 25;
salario = 12560.34;
numero_pi = 3.14159265359;
letra = 'A';
logico = true;
printf("%d, %f, %lf, %c, %d",
idade, salario, numero_pi, letra, logico);
}
Variáveis e seus tipos
Atribuindo valores para
as variáveis.
Imprimindo os valores
na tela
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Nomes de variáveis:
int valor;
int VALORES;
int val_salario;
int 3;
int 3valores;
int !valor;
Os nomes de variáveis não podem começar com números e não pode conter: {
( + - * /  ; . , ?
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Nomes de variáveis:
As seguintes palavras são nomes reservados da Linguagem C e não podem ser
utilizados como nome de variáveis:
auto else long switch
break enum register typedef
case extern return union
char float short unsigned
const for signed void
continue goto sizeof volatile
default if static while
do int struct _Packed
double
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
// CÓDIGO COM ERRO
int valor;
int VALORES;
int val_salario;
int 3;
int 3valores;
int !valor;
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Atribuição:
Para atribuir um valor para uma variável utilizamos o operador = com o tipo
correspondente da variável.
Atribuindo valores para
variáveis
idade = 25;
salario = 12560.34;
numero_pi = 3.14159265359;
letra = 'A';
logico = true;
CUIDADO: atribuir um valor diferente do tipo esperado, ocorre um
erro de compilação ou de conversão de valores.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Tipos:
Tipo Valores Exemplo
char Caracteres A,B,C,$,1
int Números Inteiros 10,20,30,1,5,6
float Números Reais 12560.34
double Números Reais 3.14159265359
bool Valores Lógicos true ou false
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Tamanhos:
Tipo Tamanho Faixa Mínima
char 1 byte -127 a 127
int 4 bytes
-2.147.483.648 a
2.147.483.647
float 4 bytes 6 dígitos de precisão
double 8 bytes 15 dígitos de precisão
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
char letra;
int idade;
float salario;
double numero_pi;
printf("%dn", sizeof(letra));
printf("%dn", sizeof(idade));
printf("%dn", sizeof(salario));
printf("%dn", sizeof(numero_pi));
}
Operador sizeof retorna
o tamanho de uma
variável em bytes.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Variáveis
LINGUAGEM DE PROGRAMAÇÃO
Modificadores:
• Algumas variáveis podem ser modificadas de acordo com algumas palavras
reservadas:
• unsigned – variável contém somente valores positivos.
• short – reduz a faixa de valores da variável.
• long – aumenta a faixa de valores da variável.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
unsigned char letra;
unsigned short int idade;
float salario; // Não funciona com float
long double numero_pi;
printf("%dn", sizeof(letra));
printf("%dn", sizeof(idade));
printf("%dn", sizeof(salario));
printf("%dn", sizeof(numero_pi));
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Entrada de Dados
LINGUAGEM DE PROGRAMAÇÃO
Precisamos de dados para alimentar o programa:
• Todo programa precisa de dados para executar ou processar.
• Esses dados normalmente são incluídos por um usuário.
• O input das informações vem através do teclado e inserido em uma caixa de
texto. Vemos isso no nosso dia-a-dia. Ex: sites da internet, aplicações e etc.
• No próximo exemplo, vamos criar um programa que pede informações para
o usuário através do teclado.
• Este exemplo, utiliza o console para inserir uma informação do usuário.
Entrada Processamento Saida
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int idade;
printf("Digite a sua idade:");
scanf("%d", &idade);
printf("Valor digitado: %d", idade);
}
Inserindo informações
do usuário pelo teclado.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Entrada de Dados
LINGUAGEM DE PROGRAMAÇÃO
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Imprimindo e capturando valores
LINGUAGEM DE PROGRAMAÇÃO
Variáveis:
• Os comandos printf e scanf precisam de determinados operadores para
identificar o tipo de variável que será impressa ou capturada pelo teclado.
• No exemplo abaixo o operador %d captura ou imprime um valor inteiro.
scanf("%d", &idade);
printf("%d", idade);
Tipo Operador
char %c
int %d
float %f
double %lf
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
// Imprime um inteiro
printf("%dn", 79);
// Imprime um inteiro com espaço em branco
printf("%4dn", 79);
// Imprime um inteiro com zero a esquerda
printf("%04dn", 79);
// Imprime ponto flutuante
printf("%fn", 3.6);
// Imprime em notação científica
printf("%en", 16.567837);
// Imprime um número com uma determinada
// qtd. de casas decimais
printf("%.2fn", 16.567837);
// Imprime um tipo double
printf("%lfn", 16.567837);
// Imprime um caracter
printf("%cn", 65);
// Imprime um conjunto de caracteres
printf("%sn", "Meu primeiro programa");
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Constantes
LINGUAGEM DE PROGRAMAÇÃO
Detalhes:
• São variáveis em que o valor não pode ser alterado em tempo de execução
do programa.
• É declarado pela palavra reservada const antes da declaração da variável.
const double PI = 3.14159265359;
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
const double PI = 3.14159265359;
printf("%lf", PI);
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Operadores Matemáticos
LINGUAGEM DE PROGRAMAÇÃO
Vamos fazer contas:
Os operadores matemáticos na Linguagem C seguem a tabela abaixo:
Operador Significado
+ Soma
- Subtração
* Multiplicação
/ Divisão
% Resto da Divisão
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int operador1;
int operador2;
int resultado;
operador1 = 5;
operador2 = 4;
resultado = operador1 + operador2;
printf("Resultado: %d", resultado);
}
Soma
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int operador1;
int operador2;
int resultado;
operador1 = 5;
operador2 = 4;
resultado = operador1 - operador2;
printf("Resultado: %d", resultado);
}
Subtração
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int operador1;
int operador2;
int resultado;
operador1 = 5;
operador2 = 4;
resultado = operador1 * operador2;
printf("Resultado: %d", resultado);
}
Multiplicação
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
double operador1;
double operador2;
double resultado;
operador1 = 5.0;
operador2 = 4.0;
resultado = operador1 / operador2;
printf("Resultado: %.2f", resultado);
}
Divisão
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
int operador1;
int operador2;
int resultado;
operador1 = 5;
operador2 = 4;
resultado = operador1 % operador2;
printf("Resultado: %d", resultado);
}
Resto da Divisão
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Operadores Lógicos
Um pouco de lógica proposicional:
Os operadores lógicos na Linguagem C seguem a tabela abaixo:
LINGUAGEM DE PROGRAMAÇÃO
Operador Significado
&& Conjunção (AND ou E)
|| Disjunção (OR ou OU)
! Negação (NOT ou NÃO)
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool p;
bool q;
bool S;
p = false;
q = true;
S = p && q;
printf("Proposição: %d",S);
S = p || q;
printf("Proposição: %d",S);
printf("Proposição: %d",!p);
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Comentários no Código
LINGUAGEM DE PROGRAMAÇÃO
Documentando o código:
• Quando criamos um programa, sempre é necessário documentá-lo.
• Outros desenvolvedores podem efetuar a manutenção do seu código.
• Código bem documentado ajuda os desenvolvedores a entender mais
facilmente.
• O código documentado ou comentado é ignorado pelo compilador.
• Existe o comentário em bloco e o comentário em linha.
/**
Comentário em bloco
Autor: Prof. Thomás da Costa
**/
// Exibe a mensagem 'Olá Mundo' na tela
Comentário em Bloco
Comentário em Linha
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
/**
Comentário em bloco
Autor: Prof. Thomás da Costa
**/
int main()
{
// Exibe a mensagem 'Olá Mundo' na tela
printf("Olá Mundo");
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Desafio
LINGUAGEM DE PROGRAMAÇÃO
Vamos programar um pouco mais:
1. Desenvolver um programa para calcular a média da faculdade:
a) O programa deve receber as informações do usuário pelo teclado.
b) Imprimir o resultado da média.
c) Não vamos nos preocupar em identificar se foi aprovado ou
reprovado.
d) Utilizar variáveis do tipo double.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
#include <stdio.h>
int main()
{
double nota_b1;
double nota_b2;
double media;
printf("Digite a nota da B1:");
scanf("%lf", &nota_b1);
printf("Digite a nota da B2:");
scanf("%lf", &nota_b2);
media = ((nota_b1 * 0.4) + (nota_b2 * 0.6));
printf("Média: %f", media);
}
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa
Resumo
LINGUAGEM DE PROGRAMAÇÃO
• Utilizamos a Linguagem C para desenvolver nossos algoritmos.
• Compilação é uma etapa que verifica a sintaxe do código digitado.
• Quando o programa é compilado, o executável da aplicação é criado.
• Para efetuar operações matemáticas, utilizamos alguns operadores.
• Operadores lógicos são utilizados para trabalhar com proposições.
• Comentar o código-fonte é uma boa prática de documentação.
• Indentação do código, mantém a organização e a legibilidade do programa.
Obrigado !!!
ANHANGUERA – 2016.2

Mais conteúdo relacionado

Mais procurados

Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de ProgramaçãoRicardo Terra
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de ProgramaçãoBeDMK
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosMauro Pereira
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPDaniel Brandão
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Jackson Meires
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoLeinylson Fontinele
 

Mais procurados (20)

Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Apostila Lógica de Programação
Apostila Lógica de ProgramaçãoApostila Lógica de Programação
Apostila Lógica de Programação
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Curso MySQL #04 - Melhorando banco de dados
Curso MySQL #04 - Melhorando banco de dadosCurso MySQL #04 - Melhorando banco de dados
Curso MySQL #04 - Melhorando banco de dados
 
Estrutura de dados
Estrutura de dadosEstrutura de dados
Estrutura de dados
 
Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
Curso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQLCurso MySQL #03 - Criando um Banco de Dados MySQL
Curso MySQL #03 - Criando um Banco de Dados MySQL
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Aula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHPAula 02 - Introdução ao PHP
Aula 02 - Introdução ao PHP
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
Oficina: Introdução à programação com Python e seus recursos: algoritmos e ló...
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
 

Semelhante a Linguagem de Programação C e Variáveis

Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CJoberthSilva
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CRodrigo Kiyoshi Saito
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2thomasdacosta
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completothomasdacosta
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01thomasdacosta
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)Rudá Moura
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 

Semelhante a Linguagem de Programação C e Variáveis (20)

Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2LAB 01 - Programação Estruturada 2
LAB 01 - Programação Estruturada 2
 
Apostila c
Apostila cApostila c
Apostila c
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Python No Terra (2006-12-21)
Python No Terra  (2006-12-21)Python No Terra  (2006-12-21)
Python No Terra (2006-12-21)
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 

Mais de thomasdacosta

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produçãothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05thomasdacosta
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05thomasdacosta
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Javathomasdacosta
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04thomasdacosta
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03thomasdacosta
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04thomasdacosta
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05thomasdacosta
 

Mais de thomasdacosta (20)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Programação Concorrente - Aula 05
Programação Concorrente - Aula 05Programação Concorrente - Aula 05
Programação Concorrente - Aula 05
 
Linguagem de Programação Java
Linguagem de Programação JavaLinguagem de Programação Java
Linguagem de Programação Java
 
Programação Concorrente - Aula 04
Programação Concorrente - Aula 04Programação Concorrente - Aula 04
Programação Concorrente - Aula 04
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 

Linguagem de Programação C e Variáveis

  • 1. ANHANGUERA – 2016.2 ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO AULA 03 – LINGUAGEM DE PROGRAMAÇÃO Prof. Thomás da Costa thomascosta@aedu.com
  • 2. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa LINGUAGEM DE PROGRAMAÇÃO LINGUAGEM DE PROGRAMAÇÃO
  • 3. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Aviso LINGUAGEM DE PROGRAMAÇÃO Todos os códigos fontes dessa aula, estão disponibilizados no Github: https://github.com/thomasdacosta/algoritmos- tecnicas-programacao.anhanguera-C
  • 4. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Programação em Pares LINGUAGEM DE PROGRAMAÇÃO Detalhes: • Dois programadores compartilham o desenvolvimento de um determinado programa. • Um programador tem o papel de piloto e o outro de copiloto. • Piloto efetua a codificação do programa. • Copiloto auxilia o piloto observando, auxiliando e revisando o trabalho verificando possíveis problemas no desenvolvimento. • Deve ocorrer a troca de pilotos e copilotos no decorrer do desenvolvimento. • Para cada programa que iremos desenvolver no laboratório, iremos efetuar a troca de parceiros de desenvolvimento.
  • 5. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Desenvolvendo Programas LINGUAGEM DE PROGRAMAÇÃO Será necessário: • Uma IDE. • A IDE que vamos utilizar é o Orwell Dev-C++. • Uma Linguagem de Programação. • Vamos programar na linguagem C. • Um problema ou objetivo a ser desenvolvido. • Antes de iniciar vamos conhecer novos conceitos.
  • 6. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Compilação LINGUAGEM DE PROGRAMAÇÃO Compilando um programa: • Escrevemos o programa em uma linguagem conhecida facilmente por um humano. • Pode ocorrer erros de sintaxe quando estamos desenvolvendo o programa. • Os erros são identificados pelo compilador. • Além disso, o computador não entende diretamente a linguagem escrita. • Precisa ocorrer uma conversão da linguagem para um nível mais baixo na qual o computador possa entender e executar. • Neste processo o arquivo executável da aplicação é gerado para ser distribuído.
  • 7. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Compilação LINGUAGEM DE PROGRAMAÇÃO Como acontece: Programa Fonte Compilador Código Objeto Link Editor Bibliotecas Programa Executável
  • 8. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Compilação LINGUAGEM DE PROGRAMAÇÃO Primeiro programa: • Vamos desenvolver nosso primeiro programa em Linguagem C. • O programa tem como objetivo imprimir a mensagem Olá Mundo na tela. • Vamos começar !!!
  • 9. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { printf("Olá Mundo"); } Bibliotecas Programa principal Comando para imprimir na tela do computador
  • 10. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa LINGUAGEM DE PROGRAMAÇÃO Saída do Programa: Primeiro Programa em C
  • 11. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Primeiro Programa em C LINGUAGEM DE PROGRAMAÇÃO Detalhes: • Linhas de instruções terminam com ponto-e-vírgula. • Bibliotecas são conjuntos de programas que possuem instruções e comandos para estender as funcionalidades da aplicação. • A linha int main() identifica a função principal do programa, local de início da aplicação. • O comando printf exibe um texto na tela. Para impressão do valor é necessário abrir e fechar parênteses, aspas duplas e digitar o texto. • Maioria das instruções são executadas por um comando pré-definido, seguido de parênteses e parâmetros. • O inicio e fim de chaves {} identifica um escopo do programa. • Precisamos compilar o programa para identificar qualquer tipo de problema. • Após a compilação, o executável do programa é gerado.
  • 12. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); printf("Olá Mundo"); } Corrige a acentuação
  • 13. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa LINGUAGEM DE PROGRAMAÇÃO Saída do Programa: Primeiro Programa em C
  • 14. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Compilando um programa LINGUAGEM DE PROGRAMAÇÃO Comandos: • F9 compila o programa. • F10 executa um programa. • F11 compila e executa um programa.
  • 15. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Compilando um programa LINGUAGEM DE PROGRAMAÇÃO Arquivos: Código fonte Executável
  • 16. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Indentação do Código-Fonte LINGUAGEM DE PROGRAMAÇÃO O que é: É uma forma de deixar mais legível o código-fonte de um programa, usando tabulações e espaços entre comandos. Vamos ver um exemplo !!!
  • 17. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Indentação do Código-Fonte LINGUAGEM DE PROGRAMAÇÃO #include <stdio.h> int main() { printf("Olá Mundo"); } Código bem tabulado e com espaçamentos, é possível saber aonde começa e termina os comandos do programa
  • 18. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Indentação do Código-Fonte LINGUAGEM DE PROGRAMAÇÃO Código RUIM !!! Mal tabulado e sem espaçamentos. Difícil de entender aonde começa e termina cada instrução #include <stdio.h> int main() {printf("Olá Mundo");}
  • 19. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Detalhes: • Variável é um local de memória para armazenar um determinado valor. • As variáveis possuem vários tipos. • São identificadas através de um único nome dentro de um escopo. • Quando fizemos o algoritmo para calcular a média, tínhamos duas variáveis Nota B1 e a Nota B2 • As duas variáveis podiam assumir qualquer tipo de valor numérico, deixando o programa livre para funcionar com qualquer valor. • Vamos desenvolver um programa com variáveis e analisar os seus tipos. Nota B1 10 Nome da variável Valor da variável
  • 20. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Declaração: int valor; Para declarar uma variável precisamos de um tipo e um nome, seguido de ponto-e-vírgula. Tipo Nome
  • 21. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <stdbool.h> int main() { int idade; float salario; double numero_pi; char letra; bool logico; idade = 25; salario = 12560.34; numero_pi = 3.14159265359; letra = 'A'; logico = true; printf("%d, %f, %lf, %c, %d", idade, salario, numero_pi, letra, logico); } Variáveis e seus tipos Atribuindo valores para as variáveis. Imprimindo os valores na tela
  • 22. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Nomes de variáveis: int valor; int VALORES; int val_salario; int 3; int 3valores; int !valor; Os nomes de variáveis não podem começar com números e não pode conter: { ( + - * / ; . , ?
  • 23. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Nomes de variáveis: As seguintes palavras são nomes reservados da Linguagem C e não podem ser utilizados como nome de variáveis: auto else long switch break enum register typedef case extern return union char float short unsigned const for signed void continue goto sizeof volatile default if static while do int struct _Packed double
  • 24. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { // CÓDIGO COM ERRO int valor; int VALORES; int val_salario; int 3; int 3valores; int !valor; }
  • 25. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Atribuição: Para atribuir um valor para uma variável utilizamos o operador = com o tipo correspondente da variável. Atribuindo valores para variáveis idade = 25; salario = 12560.34; numero_pi = 3.14159265359; letra = 'A'; logico = true; CUIDADO: atribuir um valor diferente do tipo esperado, ocorre um erro de compilação ou de conversão de valores.
  • 26. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Tipos: Tipo Valores Exemplo char Caracteres A,B,C,$,1 int Números Inteiros 10,20,30,1,5,6 float Números Reais 12560.34 double Números Reais 3.14159265359 bool Valores Lógicos true ou false
  • 27. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Tamanhos: Tipo Tamanho Faixa Mínima char 1 byte -127 a 127 int 4 bytes -2.147.483.648 a 2.147.483.647 float 4 bytes 6 dígitos de precisão double 8 bytes 15 dígitos de precisão
  • 28. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { char letra; int idade; float salario; double numero_pi; printf("%dn", sizeof(letra)); printf("%dn", sizeof(idade)); printf("%dn", sizeof(salario)); printf("%dn", sizeof(numero_pi)); } Operador sizeof retorna o tamanho de uma variável em bytes.
  • 29. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Variáveis LINGUAGEM DE PROGRAMAÇÃO Modificadores: • Algumas variáveis podem ser modificadas de acordo com algumas palavras reservadas: • unsigned – variável contém somente valores positivos. • short – reduz a faixa de valores da variável. • long – aumenta a faixa de valores da variável.
  • 30. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { unsigned char letra; unsigned short int idade; float salario; // Não funciona com float long double numero_pi; printf("%dn", sizeof(letra)); printf("%dn", sizeof(idade)); printf("%dn", sizeof(salario)); printf("%dn", sizeof(numero_pi)); }
  • 31. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Entrada de Dados LINGUAGEM DE PROGRAMAÇÃO Precisamos de dados para alimentar o programa: • Todo programa precisa de dados para executar ou processar. • Esses dados normalmente são incluídos por um usuário. • O input das informações vem através do teclado e inserido em uma caixa de texto. Vemos isso no nosso dia-a-dia. Ex: sites da internet, aplicações e etc. • No próximo exemplo, vamos criar um programa que pede informações para o usuário através do teclado. • Este exemplo, utiliza o console para inserir uma informação do usuário. Entrada Processamento Saida
  • 32. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int idade; printf("Digite a sua idade:"); scanf("%d", &idade); printf("Valor digitado: %d", idade); } Inserindo informações do usuário pelo teclado.
  • 33. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Entrada de Dados LINGUAGEM DE PROGRAMAÇÃO
  • 34. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Imprimindo e capturando valores LINGUAGEM DE PROGRAMAÇÃO Variáveis: • Os comandos printf e scanf precisam de determinados operadores para identificar o tipo de variável que será impressa ou capturada pelo teclado. • No exemplo abaixo o operador %d captura ou imprime um valor inteiro. scanf("%d", &idade); printf("%d", idade); Tipo Operador char %c int %d float %f double %lf
  • 35. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { // Imprime um inteiro printf("%dn", 79); // Imprime um inteiro com espaço em branco printf("%4dn", 79); // Imprime um inteiro com zero a esquerda printf("%04dn", 79); // Imprime ponto flutuante printf("%fn", 3.6); // Imprime em notação científica printf("%en", 16.567837); // Imprime um número com uma determinada // qtd. de casas decimais printf("%.2fn", 16.567837); // Imprime um tipo double printf("%lfn", 16.567837); // Imprime um caracter printf("%cn", 65); // Imprime um conjunto de caracteres printf("%sn", "Meu primeiro programa"); }
  • 36. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Constantes LINGUAGEM DE PROGRAMAÇÃO Detalhes: • São variáveis em que o valor não pode ser alterado em tempo de execução do programa. • É declarado pela palavra reservada const antes da declaração da variável. const double PI = 3.14159265359;
  • 37. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { const double PI = 3.14159265359; printf("%lf", PI); }
  • 38. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Operadores Matemáticos LINGUAGEM DE PROGRAMAÇÃO Vamos fazer contas: Os operadores matemáticos na Linguagem C seguem a tabela abaixo: Operador Significado + Soma - Subtração * Multiplicação / Divisão % Resto da Divisão
  • 39. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int operador1; int operador2; int resultado; operador1 = 5; operador2 = 4; resultado = operador1 + operador2; printf("Resultado: %d", resultado); } Soma
  • 40. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int operador1; int operador2; int resultado; operador1 = 5; operador2 = 4; resultado = operador1 - operador2; printf("Resultado: %d", resultado); } Subtração
  • 41. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int operador1; int operador2; int resultado; operador1 = 5; operador2 = 4; resultado = operador1 * operador2; printf("Resultado: %d", resultado); } Multiplicação
  • 42. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { double operador1; double operador2; double resultado; operador1 = 5.0; operador2 = 4.0; resultado = operador1 / operador2; printf("Resultado: %.2f", resultado); } Divisão
  • 43. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { int operador1; int operador2; int resultado; operador1 = 5; operador2 = 4; resultado = operador1 % operador2; printf("Resultado: %d", resultado); } Resto da Divisão
  • 44. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Operadores Lógicos Um pouco de lógica proposicional: Os operadores lógicos na Linguagem C seguem a tabela abaixo: LINGUAGEM DE PROGRAMAÇÃO Operador Significado && Conjunção (AND ou E) || Disjunção (OR ou OU) ! Negação (NOT ou NÃO)
  • 45. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> #include <stdbool.h> int main() { bool p; bool q; bool S; p = false; q = true; S = p && q; printf("Proposição: %d",S); S = p || q; printf("Proposição: %d",S); printf("Proposição: %d",!p); }
  • 46. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Comentários no Código LINGUAGEM DE PROGRAMAÇÃO Documentando o código: • Quando criamos um programa, sempre é necessário documentá-lo. • Outros desenvolvedores podem efetuar a manutenção do seu código. • Código bem documentado ajuda os desenvolvedores a entender mais facilmente. • O código documentado ou comentado é ignorado pelo compilador. • Existe o comentário em bloco e o comentário em linha. /** Comentário em bloco Autor: Prof. Thomás da Costa **/ // Exibe a mensagem 'Olá Mundo' na tela Comentário em Bloco Comentário em Linha
  • 47. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> /** Comentário em bloco Autor: Prof. Thomás da Costa **/ int main() { // Exibe a mensagem 'Olá Mundo' na tela printf("Olá Mundo"); }
  • 48. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Desafio LINGUAGEM DE PROGRAMAÇÃO Vamos programar um pouco mais: 1. Desenvolver um programa para calcular a média da faculdade: a) O programa deve receber as informações do usuário pelo teclado. b) Imprimir o resultado da média. c) Não vamos nos preocupar em identificar se foi aprovado ou reprovado. d) Utilizar variáveis do tipo double.
  • 49. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa #include <stdio.h> int main() { double nota_b1; double nota_b2; double media; printf("Digite a nota da B1:"); scanf("%lf", &nota_b1); printf("Digite a nota da B2:"); scanf("%lf", &nota_b2); media = ((nota_b1 * 0.4) + (nota_b2 * 0.6)); printf("Média: %f", media); }
  • 50. ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO – Prof. Thomás da Costa Resumo LINGUAGEM DE PROGRAMAÇÃO • Utilizamos a Linguagem C para desenvolver nossos algoritmos. • Compilação é uma etapa que verifica a sintaxe do código digitado. • Quando o programa é compilado, o executável da aplicação é criado. • Para efetuar operações matemáticas, utilizamos alguns operadores. • Operadores lógicos são utilizados para trabalhar com proposições. • Comentar o código-fonte é uma boa prática de documentação. • Indentação do código, mantém a organização e a legibilidade do programa.