Representação de algoritmos
Linguagem natural: algoritmos expressos
diretamente em linguagem natural, como nas
receitas
Fluxogramas: representação gráfica
Pseudo-linguagem: emprega linguagem
intermediária entre linguagem natural e
linguagem de programação
3.
Linguagem natural
Repetir10 vezes cada um dos quatro
exercícios abaixo:
Levantar e abaixar o braço direito
Levantar e abaixar o braço esquerdo
Levantar e abaixar a perna direita
Levantar e abaixar a perna esquerda
4.
Fluxogramas
Representação pormeio de símbolos
geométricos
Cada tipo de operação é representado por
um símbolo diferente
Tem a vantagem de permitir o
acompanhamento visual do fluxo do
algoritmo
5.
Fluxogramas – algunssímbolos
Início e fim de algoritmo
Processo: atribuições e cálculos de valores
Decisão
6.
Fluxogramas – algunssímbolos
Impressão de resultado
Conector de página
Ligação de símbolos
Conector fora da página
Pseudo-linguagem
Esse métodoprocura misturar as facilidades
da linguagem natural com a precisão das
linguagens de programação
A representação da solução em pseudo
código possibilita ao programador a
abstração dos detalhes da sintaxe da
linguagem escolhida
9.
Pseudo-linguagem
Não existeum padrão para esta forma de descrição
Exemplo: cálculo da área de um objeto
Início
Declara
comprimento, largura, área: inteiro
Leia comprimento;
Leia largura;
área comprimento * largura
Imprima (“Área igual a”, área)
Fim
10.
Exercícios
Faça umalgoritmo, utilizando fluxograma:
que leia um número e exiba seu sucessor
que solicite as duas notas do aluno, calcule a
média aritmética simples desse números e
informe se o aluno está aprovado ou reprovado.
Obs: o aluno está aprovado se sua média é maior
ou igual a 6.
Introdução
É umalinguagem de médio nível
Permite a manipulação de bits, bytes e endereços
O código C é portável
Pode ser transportado para outro computador com
algumas adaptações
Permite diversas conversões de tipo
Caracteres e inteiros podem ser misturados livremente
13.
Introdução
C éuma linguagem estruturada
Faz a divisão do código, através do uso de sub-
rotinas
Variáveis locais: os elementos declarados dentro delas,
não causam nenhum efeito inesperado nas outras
partes do programa
Variáveis globais: são reconhecidas em todo o
programa. É preciso utilizá-las cuidadosamente
A linguagem também pode ser dividida pelo uso de
blocos de comandos, delimitados por “{” e “}”
14.
Introdução
Compiladores xInterpretadores
O termo refere-se a como os programas são
executados
Interpretador
Lê o código-fonte, uma linha por vez
Executa a instrução dessa linha lida
Compilador
Lê o programa inteiro
Gera o código-objeto (código de máquina)
15.
Introdução
Palavras-chave
32(27 da versão original + 5 acrescentadas pelo
comitê ANSI)
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
16.
Introdução
Todas aspalavras-chave são escritas em
letra minúscula.
Os programa em C são compostos por uma
ou mais funções
main() é a única obrigatória
17.
Introdução
Formato deum programa C
Declarações globais
Tipo_devolvido main(lista de parâmetros)
{
instruções;
}
Tipo_devolvido nome(lista de parâmetros)
{
instruções;
}
....
18.
Introdução
Bibliotecas
Contémfunções de uso específico
A definição original da linguagem não oferece
nenhuma função para executar, por exemplo,
operações de e/s.
Os compiladores C, normalmente, possuem uma
biblioteca padrão
A biblioteca padrão, mais utilizada é <stdio.h>
Introdução
Um programaC utiliza quatro regiões na
memória:
Código do programa
Variáveis globais
Heap
Região de memória livre que é usada em, por exemplo,
listas encadeadas, árvores, etc.
Pilha
Possui o endereço de retorno das chamadas de função,
argumentos para as funções e variáveis locais
Guarda o estado atual da CPU
Introdução
Os computadoresproduzem resultados
manipulando dados
Um fator importante é a sua similaridade com
o mundo real
É importante que uma linguagem suporte uma
variedade de tipos de dados
23.
Constantes e variáveis
Constantes
Possuem seus valores inalterados ao longo da
execução do programa
Variáveis
Seus valores são alterados durante a execução
do programa.
“É um espaço de memória que pode conter, a
cada tempo, valores diferentes”
24.
Constantes e variáveis
Os nomes das constantes e variáveis
possuem algumas regras básicas:
Não podem começar por números ou símbolos
especiais
Devem ser compostos por letras, números,
sublinhado e traço
Não aceitam acentuação
25.
Declaração
Reserva oespaço de memória necessário
para armazenar um tipo de dado específico
Em C todas as variáveis devem ser
declaradas
26.
Tipos básicos dedados
São tipos de dados não definidos em termos
de outros do mesmo nome, isto é são
primitivos.
27.
Tipos básicos dedados
O tipo de dado informa a quantidade de
memória, em bytes, que a variável irá ocupar
e a forma como seu conteúdo será
armazenado
Principais tipos
Caractere
Lógico
Numérico
28.
Tipo Caractere
Cadasímbolo da nossa linguagem tem um
grupo correspondente de bits que o identifica
= codificação
Exemplos:
BCD - Binary Code Decimal
grupo de 6 bits/caractere --> 26
=64 símbolos
29.
Tipo Caractere
Exemplos(cont.)
EBCDIC - Extended Binary Coded Decimal
Interchange Code
exclusivo da IBM
grupo de 8 bits/caractere --> 28
=256 símbolos
30.
Tipo Caractere
Exemplos(cont.)
ASCII - American Standard Code for
Information Interchange
usado pelos demais fabricantes
incialmente, 7 bits/caractere + 1 de paridade
depois, 8 bits/caractere
grupo de 8 bits/caractere --> 28
=256 símbolos
31.
Tipo Lógico
Doisvalores possíveis: V e F ou 0 e 1
Várias formas de relacionamento entre as
partes: os operadores
AND
OR
NOT
32.
Tipo Numérico
Muitasdas primeiras linguagens de
programação só tinham tipos primitivos
numéricos:
Inteiros
fracionários
33.
Tipos no C
TipoBit Bytes Escala
char 8 1 -128 a 127
int 16 2 -32768 a 32767
float 32 4 3.4E-38 a 3.4E+38
double 64 8 1.7E-308 a
1.7E+308
void 0 0 sem valor
34.
Tipos no C
Observações:
int
Tem sempre o tamanho da palavra da máquina
Ex: em computadores de 16 bits, o int ocupa 16 bits
35.
Tipos no C
Modificadores de tipo:
Long ou long int (4 bytes)
Unsigned char (0 a 255)
Unsigned int (0 a 65535)
Unsigned long
Short (2 bytes no IBM-PC) ou ½ do int
36.
Tipos no C
Modificadores de tipo:
Unsigned
Interpretação diferente para o tipo associado
Desconsidera o bit de sinal e adota todo o código para a
representação do número
37.
Meu primeiro programa
1./*Primeiro Programa */
2. #include <stdio.h>
3. void main() /*Um Primeiro
Programa*/
4. {
5. printf ("Ola Mundo! n");
6. system (“pause”);
7. }
38.
Meu segundo programa
1./* Converte dias em anos */
2. #include <stdio.h>
3. void main ()
4. {
5. int Dias; /*Declaracao de Variaveis */
6. float Anos;
7. /* Entrada de Dados */
8. printf ("Entre com o número de dias ");
9. scanf("%d",&Dias);
10. /*Conversao Dias-> Anos*/
11. Anos=Dias/365.25;
12. printf ("nn%d dias equivalem a %f anos.n“,
Dias, Anos);
13. }
39.
Exercício
1. /* Descrevao que este programa faz */
2. #include <stdio.h>
3. void main()
4. {
5. int x;
6. scanf("%d",&x);
7. printf("%d",x);
8. }
40.
1. /* Aprendendoa utilizar tipos de dados */
2. #include <stdio.h>
3. void main()
4. {
5. /*Declaracao de variaveis */
6. int a;
7. float b;
8. double d;
9. long int e;
10. /*entrada de dados */
11. printf("Insira um numero inteiro: ");
12. scanf("%d", &a); /* le um número inteiro */
13. printf("Insira um numero inteiro longo: ");
14. scanf("%ld", &e); /* le um inteiro longo */
41.
15. printf("Insira umnumero fracionario: ");
16. scanf("%f", &b); /* le um número decimal */
17. printf("Insira um numero fracionario grande:");
18. scanf("%lf", &d); /*le um número fracionário grande */
19. /*imprime resultados */
20. printf("nnNumeros digitados: nInteiro:%d",
a);
21. printf("nInteiro longo: %ld", e)
22. printf("nFracionario: %f", b);
23. printf("nFracionario longo: %lf", d);
24. }
42.
Exercício
Faça umprograma que solicite a idade de 3
pessoas e calcule a média aritmética dessas
idades