Aula 01 - Rev. Algoritmos C Basico
10 pág.

Aula 01 - Rev. Algoritmos C Basico


DisciplinaMétodos e Técnicas de Programação22 materiais161 seguidores
Pré-visualização2 páginas
10/08/2011
1
Linguagem C
Algoritmos, variáveis e expressões
Prof. André Backes
Algoritmos
\ufffd Para resolver um problema no 
computador é necessário que ele seja 
primeiramente descrito de uma forma 
clara e precisa.
\ufffd O conceito de algoritmo é 
frequentemente ilustrado pelo exemplo 
de uma receita.
Algoritmos
\ufffd Um algoritmo pode ser definido como 
uma seqüência de instruções para 
solucionar um problema.
\ufffd Essa seqüência de instruções deve ser
\ufffd Finita
\ufffd Não pode ser ambígua
Algoritmos
\ufffd Por que NÃO ambíguo?
\ufffd Cada instrução do algoritmo deve ser 
precisamente definida, sem permitir mais de 
uma interpretação de seu significado. 
\ufffd Os algoritmos devem se basear no uso de 
um conjunto de instruções bem definido, 
que constituem um vocabulário de símbolos 
limitado. 
Algoritmos
\ufffd Exemplo: instruções de um professor 
para seus alunos em uma academia de 
ginástica
\ufffd Repetir 10 vezes os quatro passos abaixo: 
\ufffd Levantar e abaixar braço direito; 
\ufffd Levantar e abaixar braço esquerdo; 
\ufffd Levantar e abaixar perna esquerda; 
\ufffd Levantar e abaixar perna direita.
Algoritmos
\ufffd Exercício:
\ufffd Escreva um algoritmo que representa a 
tarefa de se trocar um lâmpada.
10/08/2011
2
Algoritmos
\ufffd O algoritmo é a lógica do nosso 
problema. É a seqüência de passos que 
eu faço na minha cabeça (ou, quando é 
complexo, no papel) antes de escrever, 
em C.
\ufffd Podem existir vários algoritmos 
diferentes para resolver o mesmo 
problema.
Pseudo-código
\ufffd Ex: imprimir maior valor
\ufffd Leia A;
\ufffd Leia B;
\ufffd Se A > B então
\ufffd Imprima A;
\ufffd Senão
\ufffd Imprima B;
\ufffd Fim Se
Fluxograma
\ufffd Um fluxograma é um diagrama, escrito 
em uma notação gráfica simples, usado 
para representação visual de algoritmos.
\ufffd Algoritmo -> texto
\ufffd Fluxograma -> gráfico
Fluxograma
\ufffd Representa uma seqüência de 
operações qualquer, de forma 
detalhada, onde todos os passos são 
visualizados.
\ufffd É utilizado também em outras áreas
\ufffd Processos dentro de uma empresa, linha de 
produção, etc.
Fluxograma
\ufffd Vantagens
\ufffd Padronização na representação;
\ufffd Permite descrever com maior rapidez um 
conjunto de tarefas;
\ufffd Facilita a leitura e o entendimento de uma 
atividade;
Exemplo
\ufffd Imprimir maior valor
Imprima A
Início
Leia A e B
A > B?
Sim
Não
A recebe B
10/08/2011
3
Primeiro programa em C
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf(&quot;Hello World \n&quot;);
system(\u201cpause\u201d);
return 0;
}
int main(){
printf(&quot;Hello World \n&quot;);
system(\u201cpause\u201d);
return 0;
}
Primeiro programa em C
Início
Fim
Comandos de entrada e Saída
\ufffd Por que escrevemos programas?
\ufffd Temos dados ou informações que precisam 
ser processados;
\ufffd Esse processamento pode ser algum 
cálculo ou pesquisa sobre os dados de 
entrada;
\ufffd Desse processamento, esperamos obter 
alguns resultados (Saídas);
Comando de entrada
\ufffd scanf()
\ufffd Comando que realiza a leitura dos dados de 
entrada
\ufffd scanf(\u201ctipo de entrada\u201d, lista de variáveis)
\ufffd Alguns \u201ctipos de entrada\u201d 
\ufffd %c \u2013 leitura de um caractere 
\ufffd %d \u2013 leitura de números inteiros
\ufffd %f \u2013 leitura de número reais
\ufffd %s \u2013 leitura de vários caracteres
Comando de entrada
\ufffd Ex:
\ufffd Leitura de um único valor
int x; 
scanf(&quot;%d&quot;,&x);
\ufffd Leitura de mais de um valor
int x,y; 
scanf(&quot;%d%d&quot;,&x,&y);
\ufffd Obs: na leitura de vários valores, 
separar com espaço.
Comando de saída
\ufffd printf()
\ufffd Comando que realiza a impressão dos 
dados do programa
\ufffd printf(\u201ctipo de saída\u201d, lista de variáveis)
\ufffd Os tipos de saída são os mesmos 
utilizados para entrada
\ufffd %c \u2013 escrita de um caractere 
\ufffd %d \u2013 escrita de números inteiros
\ufffd %f \u2013 escrita de número reais
\ufffd %s \u2013 escrita de vários caracteres
10/08/2011
4
Comando de saída
\ufffd Ex:
\ufffd Saída de um único valor inteiro
printf(&quot;%d&quot;,x);
\ufffd Saída de mais de um único valor
printf(&quot;%d%d&quot;,x,y);
printf(&quot;%d %d&quot;,x,y);
\ufffd No tipo de saída, pode-se formatar toda 
a saída
\ufffd printf(\u201cTotal = %d&quot;,x);
Variáveis
\ufffd Computação
\ufffd Posição de memória que armazena uma 
informação
\ufffd Pode ser modificada pelo programa
\ufffd Deve ser definida antes de ser usada
\ufffd Tipo_variável lista_de_variáveis
\ufffd Case sensitive
Variáveis
\ufffd Propriedades
\ufffd Nome
\ufffd Pode ter um ou mais caracteres
\ufffd Nem tudo pode ser usado como nome
\ufffd Tipo
\ufffd Conjunto de valores aceitos
\ufffd Escopo
\ufffd global ou local
Variáveis
\ufffd Nome
\ufffd Deve iniciar com letras ou underscore(_);
\ufffd Caracteres devem ser letras, números ou 
underscores; 
\ufffd Palavras chaves não podem ser usadas 
como nomes;
\ufffd Letras maiúsculas e minúsculas são 
consideradas diferentes
Variáveis
\ufffd Lista de palavras chaves
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 typeof 
union unsigned void volatile 
while
Variáveis
\ufffd Corretos: 
\ufffd Contador, contador1,Teste_123, _teste, int1
\ufffd Errados
\ufffd comp!, .var, int, 1contador, -x, Teste-123, 
x&
10/08/2011
5
Variáveis
\ufffd Tipo
\ufffd Define os valores que ela pode assumir e 
as operações que podem ser realizadas 
com ela
\ufffd Exemplo
\ufffd tipo int recebe apenas valores inteiros
\ufffd tipo float armazena apenas valores reais
Tipos básicos em C
\ufffd char: um byte que armazena o código de um 
caractere do conjunto de caracteres local
\ufffd caracteres sempre ficam entre \u2018aspas 
simples\u2019!
\ufffd char c = \u2018a\u2019; 
\ufffd int: um inteiro cujo tamanho depende do 
processador, tipicamente 16 ou 32 bits
\ufffd int n = 5;
Tipos básicos em C
\ufffd float: um número real com precisão simples
\ufffd parte decimal usa ponto e não vírgula!
\ufffd float f = 5.25;
\ufffd double: um número real com precisão dupla
\ufffd Pode-se escrever números float e double 
usando notação científica
\ufffd double x = 5.0e10;
Variáveis
Tipo bits Intervalo
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
int 16 -32.768 a 32.767
unsigned int 16 0 a 65.535 
signed int 16 -32.768 a 32.767
short int 16 -32.768 a 32.767
unsigned short int 16 0 a 65.535
signed short int 16 -32.768 a 32.767 
long int 32 -2.147.483.648 a 2.147.483.647
signed long int 32 -2.147.483.648 a 2.147.483.647
unsigned long int 32 0 a 4.294.967.295
float 32 3,4E-38 a 3.4E+38 
double 64 1,7E-308 a 1,7E+308
long double 80 3,4E-4932 a 3,4E+4932
Variáveis
\ufffd Escopo
\ufffd Define onde e quando a variável pode ser 
usada.
\ufffd Escopo global
\ufffd Fora de qualquer definição de função
\ufffd Tempo de vida é o tempo de execução do 
programa
\ufffd Escopo local
\ufffd Bloco ou função
Variáveis
\ufffd Escopo local
\ufffd Bloco
\ufffd visível apenas no interior de um bloco de comandos
if (teste == TRUE) {
int i;
i = i+1;}
\ufffd Função
\ufffd declarada na lista de parâmetros da função ou definida 
dentro da função
int minha_fun (int x, int y) {
int i, j;}
10/08/2011
6
Constantes
\ufffd Como uma variável, uma constante 
também armazena um valor na memória 
do computador.
\ufffd Entretanto, esse valor não pode ser 
alterado: é constante. 
\ufffd Para constantes é obrigatória a 
atribuição do valor. 
Constantes
\ufffd Usando #define
\ufffd Você deverá incluir a diretiva de pré-processador 
#define antes de início do código:
#define PI 3.1415
\ufffd Usando const
\ufffd Usando const, a declaração