Buscar

Fundamentos de Programação em C/C++

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1
ALGOP – Algoritmos e Programação 
Aula 2 – Conceitos iniciais (fundamentos de programação)
+ Fundamentos de programação
+ As linguagens de programação C e C++
+ Utilizando variáveis e constantes no programa 
+ Instruções de entrada e saida de dados em C/C++
2
ALGOP – Algoritmos e Programação 
Fundamentos de Programação
Um programa pode ser entendido como uma sequência organizada de 
instruções que comandam o funcionamento da máquina e derterminam a 
maneira como devem ser tratados os dados.
Um programa contém um ou mais algoritmos, que estabelecem os passos 
a serem seguidos para a resolução de um determinado problema, ou seja, 
“a inteligência para a resolução do problema em questão”. 
Ao construirmos um programa, utilizamos os conceitos de estruturas de 
dados (que manipulam os dados referentes as informações) e estruturas 
de controle (que manipulam as ações para a transfomação dos dados).
Os dados correspondem a porções de informações a serem processadas 
pelo computador.
3
ALGOP – Algoritmos e Programação 
Linguagem de programação C/C++
Para construirmos nossos programas, utilizaremos elementos básicos das 
linguagens C e C++ … Frequentemente os nomes aparecem agrupados, 
passando a idéia de que se trata de uma única linguagem … :-)
Linguagem C: criada entre 1969 e 1973, é uma linguagem de programação 
compilada, de uso geral, estruturada, procedural e imperativa …
Linguagem C++: criada na década de 80 (1983), é uma linguagem de 
programação de uso geral, “orientada a objetos” …
As diferenças entre elas são mais visíveis para os programadores … No 
nosso curso, utilizaremos estruturas básicas comuns as duas e alguns 
elementos particulares de cada uma … :-) 
4
ALGOP – Algoritmos e Programação 
Palavras reservadas da linguagem de programação C/C++
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef union unsigned void
volatile while
5
ALGOP – Algoritmos e Programação 
Formato de um programa em C/C++
// diretivas de compilação
#include <stdio.h>
#include <conio.h>
// módulo ou função principal
// ponto de entrada da aplicação
int main()
{  // início do bloco principal
   // declaração de variáveis e constantes
   
   // passos do algoritmo projetado
   
   getch(); // aguarda usuário pressionar tecla
   return 0; // valor retornado pelo módulo  
}  // final do bloco principal
6
ALGOP – Algoritmos e Programação 
Formato de um programa em C/C++
As diretivas de compilação indicam ao compilador que desejamos utilizar 
instruções presentes em certas bibliotecas. Quando usamos a diretiva 
#include <stdio.h> estamos informando que queremos utilizar 
instruções de entrada e saída de dados como as funções scanf() e printf(). 
(stdio é uma abreviação: std=standard, i=input, o=output) …
Todo programa possui um ponto de entrada, uma função, ou módulo, 
principal. Nos nossos programas, sempre incluiremos a função: 
int main() { // corpo da função (instruções) }
As chaves { } são chamadas de delimitadores de bloco. Elas indicam o 
início e o fim de um bloco de instruções. No caso dos módulos (ou 
funções), elas indicam o início e o fim do módulo.
7
ALGOP – Algoritmos e Programação 
Formato de um programa em C/C++
A função getch(), incluída próximo do final do bloco de instruções, fica 
aguardando o usuário pressionar uma tecla; essa função retorna a tecla 
pressionada, contudo, não estamos utilizando essa característica. A 
função getch() está sendo colocada no final, apenas para ficar “segurando 
a janelinha console” (isso no Dev-C++), fechando-a somente quando o 
usuário pressionar uma tecla...
A palavra reservada return, indica que a função (ou módulo) irá retornar 
um valor do tipo qualificado antes do nome do módulo. No nosso caso, a 
assinatura int main() { //... } indica que devemos retornar um dado 
do tipo inteiro (um número inteiro) no final da função... Esses retornos 
podem ser utilizados para estabelecer comunicação entre os módulos. 
Pretendemos ver isso no final do semestre... :-)
8
ALGOP – Algoritmos e Programação 
Variáveis e constantes
Variáveis representam informações cujos valores são modificados ao 
longo do tempo; por exemplo: o endereço de uma pessoa. 
Alguns autores definem variáveis como locais onde determinados valores 
(de um dos tipos de dados) ficam armazenados.
Toda variável é identificada por um nome, ou identificador. Assim, uma 
variável é composta de dois elementos básicos:
+ conteúdo – valor atual da variável;
+ identificador – nome dado à variável para possibilitar sua manipulação.
Constantes representam valores inalteráveis, ou seja, que não variam no 
decorrer da execução do programa; por exemplo, o valor de PI = 3.1415 
não se altera, em calculos de áreas de circunferências... :-)
9
ALGOP – Algoritmos e Programação 
Variáveis e constantes (tipos de dados - primitivos)
Tipo Em C/C++ Bits Observação
Inteiro int 16 de -32768 a 32767
long 32 de -2147483648 a 2147483647
Real float 32 de 3.4E-38 a 3.4E+38 
double 64 de 1.7E-308 a 1.7E+308
Literal char 8 uma letra; exemplos: 'a', 'A', 'c' ... 
char s[100] - palavras; exemplo: “Ubatuba” ... 
Lógico bool (C++) 8 assume os valores true ou false
10
ALGOP – Algoritmos e Programação 
Variáveis e constantes (declaração e atribuição)
Na declaração de variáveis, devemos informar o tipo do dado e os nomes 
(ou identificadores) das variáveis. Durante a execução do programa, uma 
declaração gera uma reserva de parte da memória para armazenar o dado. 
Pseudolinguagem C/C++
Var idade : Inteiro int idade;
Var altura, peso : Real float altura, peso;
Var tem_filhos : Lógico bool tem_filhos;
Var nome, sexo : Caracter char nome[100], sexo;
const float PI = 3.1415;
Quando ocorre uma atribuição, o valor, ou conteúdo da variável (dado) é 
efetivamente armazenado na região de memória previamente reservada.
Pseudolinguagem C/C++
idade <­ 25            idade = 25;
sexo <­ 'm' sexo = 'm';
11
ALGOP – Algoritmos e Programação 
Variáveis e constantes (identificadores)
Relembrando, existem regras para compormos os identificadores (ou 
nomes) das variáveis... São elas:
+ O primeiro caractere do identificador obrigatoriamente deve ser uma 
letra.
+ O conteúdo do identificador não pode conter caracteres especiais, como 
por exemplo: (!@#$%&*/-+<>?) … No identificador, só podemos ter, 
após o primeiro caractere, letras, números e o underscore _ …
+ Os identificadores não devem possuir espaços em branco.
+ Não pode haver nenhum identificador repetido.
+ Os identificadores não podem ter o mesmo nome de palavras 
reservadas.
12
ALGOP – Algoritmos e Programação 
Variáveis e constantes (uso em expressões matemáticas)
Nas expressões matemáticas, o uso das chaves e dos colchetes é 
substituido por parênteses … Então, primeiro é resolvido o conteúdo dos 
parênteses mais internos, seguido das próximas expressões (entre 
parênteses) até a resolução dos parênteses externos, e consequentemente, 
da expressão... Por exemplo:
A expressão matemática abaixo:
Y = { 4 * [ 3 + ( X – 2 ) ] }
É representada da seguinte forma: 
Y = ( 4 * ( 3 + ( X – 2 ) ) ) 
13
ALGOP – Algoritmos e Programação 
Expressões matemáticas (operadores aritméticos)
Os operadores para incremento (++) e decremento (--) são operadores 
unários (atuam sobre uma única variável alterando, ou não, o valor dela). 
Os outros da tabela são binários (atuam sobre 2 variáveis gerando um 
terceiro valor). Operador Ação
+ Soma (de inteiros e reais)
- Subtração (de inteiros e reais)
* Multiplicação (de inteiros e reais)
/ Divisão (de inteiros e reais)
% Resto de Divisão (de inteiros)
++ Incremento(de inteiros e reais)
-- Decremento (de inteiros e reais)
14
ALGOP – Algoritmos e Programação 
Expressões matemáticas (operadores e funções)
Além dos operadores aritméticos, temos diversas funções que auxiliam na 
resolução de expressões matemáticas. Por exemplo, temos uma função 
para encontrar a raiz quadrada de um número e outra para potenciação. 
Para utilizarmos essas e outras funções, temos que incluir a diretiva: 
#include <math.h>
Pseudolinguagem Ação Em C/C++
DIV divisão de inteiros /
MOD resto da divisão (inteiros) %
RAD raiz quadrada sqrt(valor);
POT potenciação pow(base, exp);
15
ALGOP – Algoritmos e Programação 
Expressões matemáticas (operadores aritméticos)
Na resolução de expressões matemáticas, as operações guardam uma 
relação hierárquica entre si. A precedência entre os operadores aritméticos 
é a seguinte:
Prioridade 1 resolvemos os parênteses mais internos
Prioridade 2 operações de POT e RAD
Prioridade 3 operações de * / DIV MOD
Prioridade 4 operações de + e -
Em caso de empate (operadores de mesma prioridade), as operações são 
resolvidas da esquerda para a direita, conforme a sequência apresentada na 
expressão aritmética.
16
ALGOP – Algoritmos e Programação 
Instrução para entrada de dados
Para que um algoritmo possa receber os dados que serão trabalhados, 
adotaremos uma instrução de entrada cuja finalidade é atribuir o dado 
lido (via teclado) à uma variável devidamente identificada.
Pseudolinguagem (exemplos)
Leia (idade) Leia (altura, peso)
Em C/C++
scanf (argumento1, <endereços>); (scanf = scan format): O primeiro 
argumento corresponde aos tipos de dados que serão lidos, enquanto que, 
os demais, correspondem aos endereços de memória (operador &) onde 
os dados lidos serão armazenados. Por exemplo: 
scanf (“%d”, &idade); // usaremos mais assim (uma variável por vez)
scanf (“%f %f”, &altura, &peso);
Essa função fica aguardando o usuário fornecer valores pelo teclado.
17
ALGOP – Algoritmos e Programação 
Instrução para saída de dados
Para que o algoritmo possa mostrar o resultado que foi calculado, em 
resposta ao problema resolvido, adotaremos uma instrução de saída de 
dados, cuja finalidade é exibir o conteúdo de variáveis identificadas. 
Pseudolinguagem (exemplos)
Escreva (idade)
Escreva (“A altura = ”, altura, “ e o peso = “, peso)
Em C/C++
printf (argumento1, <variáveis>); (printf = print formatted): O primeiro 
argumento especifica o formato da frase a ser impressa, enquanto que, os 
demais, correspondem as variáveis que serão apresentadas na frase.
printf (“%d \n”, idade); // “\n” salta para a próxima linha (pula linha)
printf (“A altura = %f e o peso = %f”, altura, peso);
Os valores das variáveis altura e peso serão injetados dentro da frase. 
18
ALGOP – Algoritmos e Programação 
Funções de entrada e saída de dados (códigos de controle)
As funções printf() e scanf() utilizam determinados códigos de controle, 
quando trabalham com variáveis de tipos diversos. Dentre eles temos: 
Curiosidade: se quisermos conhecer o endereço de memória onde uma 
variável foi armazenada usamos: printf (“endereco: %p”, &variavel);
Tipo Código de Controle
int %d (ou %i) … adotaremos %d
long %ld (ou %li) … adotaremos %ld
float %f 
double %lf
char %c
char s[255] %s
19
ALGOP – Algoritmos e Programação 
Instruções de entrada e saída de dados
Existem outras instruções de entrada e saída de dados. A linguagem C++ 
conta com as instruções cin e cout, que veremos posteriormente.
Uma alternativa para a entrada de dados do tipo string (palavras, frases, 
texto) é a função gets(). Quando abordarmos o conteúdo “Cadeias de 
Caracteres”, trabalharemos com essa função.
Frequentemente, quando misturamos diversas instruções de entrada de 
dados, temos que ter cuidado com dados que ficam armazenados no 
buffer de teclado. Isso pode gerar comportamentos estranhos na execução 
das instruções de entrada. Para limpar o buffer de teclado utilizaremos a 
função fflush(stdin); ou outra alternativa (veremos adiante) … :-)
20
ALGOP – Algoritmos e Programação 
Fundamentos de programação (sugestões de leitura)
+ Na WEB: 
http://pt.wikipedia.org/wiki/C_%28linguagem_de_programa%C3%A7%C3%A3o%29
http://pt.wikipedia.org/wiki/C%2B%2B
O conteúdo desses dois links é muito denso... Leiam sem muita 
preocupação em assimilar (apenas como curiosidade)... Mas leiam! :-)
Revisem também o programa que fizemos no laboratório... Com os 
conceitos dessa aula, podemos entender melhor o programa utilizado para 
apresentar a ferramenta Dev-C++ … :-)
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20

Outros materiais