Programação em C - Aula 1...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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/1.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/2.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/3.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/4.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/5.jpg)
![Page 6: 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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/6.jpg)
Apresentação
Professor: Marcus Ricardo Aguiar dos Santos
![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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/7.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/8.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/9.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/10.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/11.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/12.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/13.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/14.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/15.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/16.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/17.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/18.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/19.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/20.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/21.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/22.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/23.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/24.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/25.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/26.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/27.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/28.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/29.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/30.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/31.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/32.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/33.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/34.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/35.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/36.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/37.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/38.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/39.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/40.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/41.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/42.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/43.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/44.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/45.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/46.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/47.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/48.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/49.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/50.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/51.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/52.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/53.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/54.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/55.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/56.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/57.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/58.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/59.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/60.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/61.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/62.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/63.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/64.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/65.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/66.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/67.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/68.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/69.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/70.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/71.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/72.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/73.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/74.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/75.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/76.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/77.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/78.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/79.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/80.jpg)
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.](https://reader035.fdocumentos.tips/reader035/viewer/2022080720/5f79db95c6adf60c39718113/html5/thumbnails/81.jpg)
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.