Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos...

81
Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos

Transcript of Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos...

Page 1: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Programação em C - Aula 1

Marcus Ricardo Aguiar dos Santos

Page 2: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Disciplina

Bibliografia:

● Senne, Edson Luiz França - Primeiro Curso de Programação em C. 2ª e 3ª

Edição. Visual Books.

● Dauricio, Juliana Schiavetto - Algoritmos e Lógica de Programação.

Editora e Distribuidora Educacional S.A.

● Deitel, Harvey - C: Como Programar. 6ª edição. Pearson Education.

● C Progressivo: http://www.cprogressivo.net/

Page 3: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Disciplina

Ementa:

● Introdução; ● Variáveis, Entrada e saída de dados● Estruturas condicionais● Estruturas de repetição● Vetores● Matrizes● Estruturas heterogêneas.

Page 4: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Disciplina

Avaliação Parcial (30%) e Oficial (70%) 1 - 26 a 30 de set. (40%)

Avaliação Parcial (30%) e Oficial (70%) 2 - 28 de nov. a 02 de dez. (60% - toda a

matéria)

Período letivo - 03/08 a 16/12

Avaliações Parciais: atividades pré/pós-aulas e trabalhos avaliativos

Page 5: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.
Page 7: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Apresentação

Formação Acadêmica:

❖ Graduação em Engenharia de Computação - CEFET-MG (2013)

❖ Mestrado em Modelagem Computacional - CEFET-MG (2015)

❖ Especialização em Engenharia de Software - PUC-MG (2016)

Page 8: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Apresentação

Experiência Profissional:

❖ Analista de Suporte a SO (Unix) e BD (Oracle) - Oi (2011 - 2014)

❖ Analista de Sistemas Java (Web) - Proativa (2014 - 2015)

❖ Analista de Sistemas Java (BackEnd) - Group (2015 - atual)

❖ Professor - Pitágoras (2014 - atual)

Page 9: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Aula Modelo Institucional

● Acesso ao material acadêmico: http://avaeduc.com.br/

● Modelo Pré-aula, Aula e Pós-aula.

● Favor ler o material disponibilizado no portal e fazer as atividades.

Page 10: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Motivação

Page 11: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Motivação

“Além de organizar as ideias, a programação ajuda a ver o mundo de maneira

mais criativa e crítica.” Autor: Mitchl Resnick, pesquisador do MIT.

“Pensar de maneira mais lógica e objetiva, e aprender a lidar também com

grandes problemas (dividir em uma sequência de problemas menores, mais

gerenciáveis é o lema da programação), resolvendo até os problemas

complexos de uma forma mais eficiente e escalável.” Autor: Camila Achutti,

Engenheira de Software da Iridescent.

Page 12: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Motivação

Page 13: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Motivação

Page 14: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Motivação

Vídeo Motivacional

Page 15: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Aula 1 - Introdução

Page 16: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Sumário

● Introdução

● Conceitos Importantes

● Introdução a Linguagem C

● Tipos de valores

● Representação de Números Inteiros

● Representação de Dados Não Numéricos

● Variáveis

● Mostrando Dados na Console

Page 17: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução

Page 18: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

O que vamos aprender?

Programar: fazer planos para uma ocasião; planejar.

Algoritmo: conjunto das regras e procedimentos lógicos perfeitamente

definidos que levam à solução de um problema em um número finito de

etapas.

Page 19: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Algoritmo 1

Qual é o algoritmo para realizar a troca de uma lâmpada?

Page 20: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Algoritmo 1

Início

a. Verifica se o interruptor está desligado.

b. Pega uma escada.

c. Posiciona a escada no local.

d. Sobe a escada.

e. Retira a lâmpada queimada.

f. Coloca a lâmpada nova.

g. Desce da escada.

h. Ascende a lâmpada no interruptor.

i. Se a lâmpada não acender, então

j. Retira novamente a lâmpada queimada.

k. Troca por uma lâmpada nova.

l. Senão

m. Descarta a lâmpada queimada.

n. Guarda a escada.

o. Encerra a tarefa.

Fim

Page 21: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Algoritmo 2

Em uma gincana escolar, o desafio era fazer com que dois grupos de três integrantes

cada conseguissem atravessar uma ponte pela qual só é possível passar dois alunos por

vez. No entanto, como são grupos diferentes, não é permitido que em qualquer dos lados

da ponte fique mais alunos do grupo 1 (G1) que do grupo 2 (G2). Então, elabore o

algoritmo que respeite a essas regras, demonstre-o em linguagem natural e faça o teste

conforme a indicação que segue:

Jogo: (https://rachacuca.com.br/jogos/missionarios-e-canibais/)

Page 22: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Algoritmo 2

1. Atravessem o aluno1 do G1 e o aluno1 do G2.

2. Volte o aluno1 do G1.

3. Atravessem o aluno2 do G2 e o aluno3 do G2.

4. Volte o aluno1 do G2.

5. Atravessem o aluno1 do G1 e o aluno2 do G1.

6. Volte aluno1 do G1 e aluno2 do G2.

7. Atravessem o aluno1 do G1 e o aluno3 do G1.

8. Volte o aluno3 do G2.

9. Atravesse o aluno1 do G2 e o aluno2 do G2.

10. Volte aluno2 do G2.

11. Atravessem aluno2 do G2 e o aluno3 do G2.

Page 23: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Page 24: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Código de programação ou programa: corresponde a um texto, com um

conjunto de regras de sintaxe de uma determinada linguagem de

programação.

Page 25: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Linguagem C - um subconjunto da linguagem C++

Ambiente de programação:

● Editor de textos: reconhece um texto como sendo um programa

(Dev-C++)

● Compilador: verifica se o texto do programa obedece a sintaxe da

linguagem de programação e traduz o texto para a linguagem de máquina

Page 26: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Porque o compilador

traduz o programa

escrito na linguagem de

programação para a

linguagem de máquina

(código binário)?

Código do Programa Compilador

Código de Máquina (binário)001010101

010101010101010101

int main () {….

}

ERROS

Page 27: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Papel do Compilador: as máquinas não compreendem as gramáticas das linguagens de programação de forma direta. Elas precisam receber um código “traduzido”.

Código em linguagem de máquina: código executável pelo computador.

Page 28: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Toda linguagem de programação possui regras que a definem.

Erro de sintaxe: ocorre quando um texto (código fonte) não atende as regras

da linguagem.

Exemplo:

int x erro de sintaxe (toda instrução finaliza com um ;)

int x;

Page 29: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Conceitos Importantes

Um código pode ser compilado e, mesmo assim, não ser correto.

Este código possui bugs.

Para encontrar estes bugs utiliza-se um processo chamado depuração.

Programa-fonte ou código-fonte: um texto escrito em uma linguagem de

programação.

Page 30: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Page 31: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 32: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Os programas fonte na linguagem C possuem a extensão .c.

Exemplo: programa1.c

Todos os arquivos de código em c iniciam com as as linhas a seguir:

#include <stdio.h>

#include <stdlib.h>

Page 33: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Linhas com #include indicam ao compilador que o programa-fonte vai utilizar

arquivos de cabeçalho (extensão .h, header).

As linhas do slide anterior indicam ao compilador que o programa vai utilizar

as instruções das bibliotecas stdio e stdlib.

Page 34: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Compilação:

● Tradução: transforma o programa-fonte em um programa objeto

● Ligação: conecta o programa-objeto às instruções necessárias das

bibliotecas para produzir o executável.

Page 35: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

EDITOR

PROGRAMA FONTE COMPILADOR P. OBJETO

BIBLIOTECAS

LIGADOR

EXECUTÁVEL

Page 36: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 37: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

A primeira linha do programa:

int main (int argc, char *argv[])

corresponde ao cabeçalho da função main (função principal do programa).

Podem existir outras funções, mas sempre teremos a função main.

Page 38: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Escrever um programa em C corresponde a escrever o corpo da função

principal (main):○ O corpo de uma função é sempre delimitado por { e }.

Cabecalho da função principal:

int - tipo do valor produzido pela função

main - nome da função

(int argc, char *argv[]) - lista de parâmetros da função

Page 39: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 40: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

Funções utilizadas no problema 1:

sin - a função matemática seno;

printf - uma função para exibir resultados na console;

Função: conjunto de instruções que recebe um ou mais parâmetros

(separados por vírgula) e retorna um valor.

Page 41: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 42: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

A próxima linha do problema 1 é:

system(“PAUSE”);

Este comando pausa a execução e exibe a mensagem “Pressione qualquer

tecla para continuar...”.

Page 43: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Introdução a Linguagem C

A última linha do corpo da main do problema 1 é:

return 0;

Este comando finaliza a execução do código. Zero é o valor de retorno da

função main que é a primeira função executada pelo programa. Como a main

retorna o seu resultado para nenhuma outra função, o valor de retorno é

irrelevante.

Page 44: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 45: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Tipos de Valores

Page 46: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Tipos de Valores

A solução de um problema de cálculo pode envolver vários tipos de dados:

● Números inteiros: números positivos ou negativos não fracionários○ 2, 3, 8, etc…

● Números com parte inteira e fracionária: separação por pontos○ 1.24, 3.454, 345.56, etc..

Page 47: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Tipos de Valores

Ponto Flutuante: valores numéricos com parte inteira e parte fracionária.

Possuem representação diferenciada na memória do computador

Utiliza-se a notação binária para representar todos tipos de valores.

Existem várias formas de representar números inteiros e de ponto flutuante.

Page 48: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Números de Ponto Flutuante

A representação de números de ponto flutuante nos computadores pode ser

de duas formas:

● Representação com precisão simples (SP)

● Representação com precisão dupla (DP)

Page 49: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Números de Ponto Flutuante

Representação com precisão simples (SP) Representação com precisão simples (DP)

Ocupação total de 32 bits Ocupação total de 64 bits

1 bit de sinal 1 bit de sinal

23 bits para a mantissa 52 bits para a mantissa

8 bits para o expoente 11 bits para o expoente

Page 50: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Dados não Númericos

Page 51: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Dados não Numéricos

Um programa de computador pode precisar também de dados não numéricos.

Existem padrões internacionais para a codificação de caracteres (ASCII, ANSI, Unicode). A linguagem C adota o padrão ASCII (American Standard Code Information Interchange).

Cada caractere é representado por 1 byte, ou 8 bits.

Page 52: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Dados não numéricos

Caractere Decimal Representação ASC II

‘A’ 65 01000001

‘B’ 66 01000010

‘a’ 97 01100001

‘b’ 98 01100010

‘0’ 48 00110000

‘1’ 49 00110001

‘+’ 43 00101011

‘@’ 64 01000000

‘\n’ 10 00001010

‘ ’ 32 00100000

Page 53: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Representação de Dados não numéricos

Representação simbólica de dados não numéricos em c:

● Caractere isolado: delimitado por apóstrofos.

ex.: ‘a’, ‘b’, ‘2’, etc...

● Sequência de caracteres (string): delimitado por aspas.

ex.: “teste”, “primeira string”, etc...

Page 54: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Page 55: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

● Os dados de um programa são armazenados na memória do computador.

● Cada posição de memória do computador possui um endereço.

● Dado um endereço é possível saber qual é o valor armazenado em cada

uma das posições de memória.

● Para facilitar o controle sobre onde armazenar informação, os programas

utilizam variáveis.

Page 56: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Variável: nome simbólico de uma posição(ões) de memória do computador.

Variáveis podem sofrer variações em seus valores.

Existem vários tipos de variáveis que podem ocupar diferentes tamanhos de

memória.

Page 57: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Todo programa deve declarar (inicializar) todas as variáveis que irá utilizar e

isso deve ser feito antes da utilização da variável.

A declaração de uma variável representa a associação (alocação ou reserva)

de memória para aquele registro representado pela variável.

Page 58: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Em C existem 4 tipos básicos de dados:

Tipo Tamanho (bytes) Valor

char 1 Um caractere

int 4 Um número inteiro

float 4 Um número de ponto flutuante no formato SP

double 8 Um número de ponto flutuante no formato DP

Page 59: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 60: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

No problema 1, a primeira linha do corpo da função principal é:

● float y;

esta linha declara uma variável y para armazenar um número de ponto

flutuante (formato SP).

Page 61: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

● Neste momento, a variável y foi criada e uma posição de memória foi

alocada, porém ainda sem valor.

● A linha seguinte do problema 1 faz uma atribuição de valor à variável y:

y = sin(1.5);

no lado direito do operador de atribuição, existe uma referência à função

seno com um parâmetro 1.5.

Page 62: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Em uma linguagem de programação, dizemos que d é o parâmetro da função f

e que f (d) é o valor da função f para o parâmetro d. Exemplos:

f é a função “dobro” f(2) é o valor 4

f é a função “raiz quadrada” f(8) é o valor 2.8228427

f é a função “seno” f(1.5) é o valor 0.997485

Page 63: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Podem existir valores d1 e d2, tais que f(d1) = f(d2).

Exemplo:

f - função “elevado ao quadrado, menos um”

f(1) = f(-1)

O valor de f(d) é único, dado f uma função do programa.

v1 = f(d) e v2 = f(d), tais que v1 diferente de v2 (não existe)

Page 64: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

O valor armazenado em uma variável por uma operação de atribuição depende

do tipo da variável.

● Tipo da variável int: será armazenado um valor inteiro.

● Tipo da variável float ou double: será armazenado um valor de ponto

flutuante.

Page 65: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Variáveis

Exemplos:

Considere as seguintes declarações:

int a;

float b;Operação de atribuição Valor armazenado na variável

a = (2 + 3)*4 20

b = (1 - 4)/(2 - 5) 1.0

a = 2.75 + 1.12 3

b = a / 2.5 1.2

Page 66: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Mostrando valores na console

Page 67: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Mostrando valores na Console

As próximas linhas do problema 1 são:

printf(“y = %f”, y);

printf(“\n”);

A função printf faz parte da biblioteca stdio. É usada para exibir resultados do

programa e pode ter um ou mais parâmetros.

Page 68: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Mostrando valores na Console

O primeiro parâmetro da função printf: uma sequencia de caracteres (string).

Essa sequencia pode conter alguns tags (especificadores de formato) que

representam valores.

Toda tag começa com um símbolo %, seguida de uma letra que indica o tipo

do valor a ser exibido.

Page 69: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Mostrando valores na Console

%d - valor inteiro Exemplo:

%f - valor de ponto flutuante printf(“a = %d, b = %f e c = %f”, a, b, (a + b));

%c - um único caractere 1º - “a = %d, b = %f e c = %f”

%s - um string. 2º - a

3º - b

4º - (a + b)

Page 70: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Mostrando valores na Console

Caractere Significado

\a O caractere (invisível) de aviso sonoro (bip).

\n O caractere (invisível) de nova linha.

\t O caractere (invisível) de tabulação horizontal.

\\ O caractere de barra invertida.

\’ O caractere de apóstrofo.

\” O caractere de aspas.

A linguagem C utiliza o símbolo \ (barra invertida) para especificar alguns

caracteres especiais:

Page 71: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 1

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[]){

float y;

y = sin(1.5);

printf(“y = %f”, y);

printf(“\n”);

system(“PAUSE”);

return 0;

}

Construir um programa capaz de calcular o seno de 1.5:

Uma solução para o problema.

Page 72: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 2

Page 73: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 2 - Exercício

Uma conta de caderneta de poupança foi aberta com um depósito de R$ 500,00. Imagine que esta conta é remunerada em 1% de juros ao mês. Qual será o valor da conta após três meses?

Page 74: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 2

#include <stdio.h>#include <stdlib.h>

int main (int argc, char *argv[]){float d, p, s, t;d = 500; // depósito inicialp = d + 0.01*d; // após o primeiro mêss = p + 0.01*p; // após o segundo mêst = s + 0.01*s; // após o terceiro mêsprintf(“Valor da conta = %.2f\n”, t);system(“PAUSE”);return 0;

}

Page 75: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Problema 2

Comentários: texto que não será compilado. São anotações que ajudam a compreender o código.

● Notação: // - tudo que se segue até o final da linha é comentário

Tag especial - %.2f (corresponde a duas casas decimais)

Ponto-e-vírgula: caractere especial que denota finalização de uma instrução de código. Um programa é um conjunto de instruções que o computador deve executar.

Page 76: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Resumo

Page 77: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Resumo

● Regras de sintaxe de uma linguagem de programação;

● Programa compilador;

● Linguagem de máquina;

● Programa-fonte, programa-objeto e programa-executável;

● Erros de sintaxe e erros de lógica;

● Arquivos de cabeçalho e bibliotecas;

● Representação de valores não-numéricos;

Page 78: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Resumo

● Variáveis;

● Tipos de valores (int, float, double, char);

● Função principal (main);

● A função printf;

● Comentários

Page 79: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Exercícios

Page 80: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Exercício 1

Escrever um programa para determinar a quantidade de litros de combustível gastos em uma viagem por um automóvel que faz 12 km/litro. Para isso, sabe-se que o tempo gasto na viagem é T = 35 min e a velocidade média do automóvel é V = 80 km/h.

Page 81: Programação em C - Aula 1...Programação em C - Aula 1 Marcus Ricardo Aguiar dos Santos Disciplina Bibliografia: Senne, Edson Luiz França - Primeiro Curso de Programação em C.

Exercício 2

Imagine que C armazena o valor de uma temperatura em graus centígrados. Escrever um programa para apresentar este valor em graus Fahrenheit. A fórmula de conversão é: F = (9 * C + 160) / 5, onde F é a temperatura em graus Fahrenheit e C é a temperatura em graus centígrados.