Instituto de Computação – UFAL
Warm Up
 Escrever um algoritmo para ler dois valores
numéricos e apresentar a diferença do...
Instituto de Computação – UFAL
Algoritmo do desafio
inicio
var numero, soma, media : real
var contador : inteiro
// lerá o...
Linguagens
Instituto de Computação – UFAL
Linguagem de Máquina
 Cada tipo de computador entende uma linguagem
específica
 O fabrica...
Instituto de Computação – UFAL
O sistema binário
 Contando em binário
 000 = 0
 001 = 1
 010 = 2
 011 = 3
 100 = 4
...
Instituto de Computação – UFAL
Algoritmo para converter em binário
 divisões sucessivas do número por 2, até
quando não f...
Instituto de Computação – UFAL
Binários
 Mas não se preocupem com binários agora
 Vocês irão aprender isso com detalhes ...
Instituto de Computação – UFAL
E se tivéssemos que programar em binário?
 O que vocês acham?
 Precisamos de linguagens d...
Instituto de Computação – UFAL
Temos um problema
 Os computadores entendem linguagem de
máquina
 Mas nós queremos escrev...
Instituto de Computação – UFAL
Compilador
 Responsável por transformar um programa em
uma linguagem fonte para uma lingua...
Instituto de Computação – UFAL
Compilador
rodrigo@ic.ufal.br
Programa Fonte Programa Destino
leia numero
repita enquanto
…...
Instituto de Computação – UFAL
Exemplos de linguagem de alto nível
 C
 C++
 Pascal
 Java
 Ruby
 Php
 C#
 ILA
 …
r...
Instituto de Computação – UFAL
O programa
 Um programa nada mais é que um algoritmo
escrito em uma linguagem de alto níve...
Instituto de Computação – UFAL
Sintaxe
 Até o momento não nos preocupamos muito
com a sintaxe dos algoritmos
 Sintaxe:
...
Instituto de Computação – UFAL
Sintaxe
 Se o programa fonte contém algum erro de
sintaxe
 O compilador não traduz para a...
Instituto de Computação – UFAL
Semântica
 Um programa pode não conter erros de sintaxe
(e, portanto, pode ser executado) ...
Instituto de Computação – UFAL
Mas por que estamos falando de sintaxe e
semântica?
 Para escrevermos programas é necessár...
Instituto de Computação – UFAL
Já vimos várias instruções, lembram?
 Declaração de variáveis
 x, y : inteiro
 Inicializ...
Instituto de Computação – UFAL
Mais instruções
 Execução condicional
se ( pa == pb ) entao
imprima "A resposta é a esfera...
Instituto de Computação – UFAL
Já temos a base para começar a programar
 Próximos passos
 Praticar alguns algoritmos
 T...
Introdução a Linguagem C
Instituto de Computação – UFAL
Antes de entrar nos detalhes, vamos colocar
a mão na massa
 Objetivo
 Ver como é “a cara”...
Instituto de Computação – UFAL
Configurar o Ambiente de Desenvolvimento
 Usaremos o IDE Codeblocks
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Criar um primeiro programa
 Calcular a média de 03 números dados
 Algoritmo
inicio
var n1...
Instituto de Computação – UFAL
Colocando o algoritmo em C
 c:desenvp1media2.c
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Compilar!
 gcc media.c -o media.exe
 Lembre de colocar o seu gcc no PATH
 Iniciar  Meu ...
Instituto de Computação – UFAL
Executar
rodrigo@ic.ufal.br
Instituto de Computação – UFAL
Exercício
 Se o seu sitema operacional é windows
 Refaça os procedimentos realizados aqui...
Upcoming SlideShare
Loading in …5
×

Aula 3 - Programação 1

239 views
135 views

Published on

Aulas da Disciplina de Programação I do Professor Rodrigo Paes, UFAL

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
239
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 3 - Programação 1

  1. 1. Instituto de Computação – UFAL Warm Up  Escrever um algoritmo para ler dois valores numéricos e apresentar a diferença do maior pelo menor.  Faça um algoritmo que leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar e se é positivo ou negativo.  Desafio:  Determinar a média de 10.000 números dados  Exemplo:  {1,50, 80,-1,10, …} rodrigo@ic.ufal.br
  2. 2. Instituto de Computação – UFAL Algoritmo do desafio inicio var numero, soma, media : real var contador : inteiro // lerá o primeiro número dado leia numero soma = numero contador = 1 repita enquanto (contador < 10001) leia numero soma = soma + numero contador = contador + 1 fim_enquanto media = soma / 10000 imprima "O valor da média é "+media fim rodrigo@ic.ufal.br
  3. 3. Linguagens
  4. 4. Instituto de Computação – UFAL Linguagem de Máquina  Cada tipo de computador entende uma linguagem específica  O fabricante do chip define o que ele é capaz de entender  Esta linguagem é chamada de linguagem de máquina  Ela possui apenas 02 símbolos:  0  1  Exemplo:  1010111100111  1110101101111 rodrigo@ic.ufal.br
  5. 5. Instituto de Computação – UFAL O sistema binário  Contando em binário  000 = 0  001 = 1  010 = 2  011 = 3  100 = 4  101 = 5  110 = 6  111 = 7 rodrigo@ic.ufal.br
  6. 6. Instituto de Computação – UFAL Algoritmo para converter em binário  divisões sucessivas do número por 2, até quando não for mais possível dividir, anotando- se o resto de cada divisão  Quando as divisões terminam, escrevemos os restos (sempre 0 ou 1), de trás para diante.  Exemplo: rodrigo@ic.ufal.br 6 2 3 20 1 21 01 110
  7. 7. Instituto de Computação – UFAL Binários  Mas não se preocupem com binários agora  Vocês irão aprender isso com detalhes na disciplina de Introdução a Computação  Por enquanto basta saber que os computadores entendem essa linguagem de máquina composta de 0s e 1s rodrigo@ic.ufal.br
  8. 8. Instituto de Computação – UFAL E se tivéssemos que programar em binário?  O que vocês acham?  Precisamos de linguagens de mais alto nível !  Mais próximas dos problemas que estamos resolvendo !  Mais próximas dos algoritmos que estudamos rodrigo@ic.ufal.br
  9. 9. Instituto de Computação – UFAL Temos um problema  Os computadores entendem linguagem de máquina  Mas nós queremos escrever nossos programas em uma linguagem de alto nível  Existem um programa especial que nos ajuda nesse trabalho  Compilador rodrigo@ic.ufal.br
  10. 10. Instituto de Computação – UFAL Compilador  Responsável por transformar um programa em uma linguagem fonte para uma linguagem destino  Linguagem fonte  Uma linguagem de alto nível  Linguagem destino  A linguagem de máquina rodrigo@ic.ufal.br
  11. 11. Instituto de Computação – UFAL Compilador rodrigo@ic.ufal.br Programa Fonte Programa Destino leia numero repita enquanto …. 010101011101101
  12. 12. Instituto de Computação – UFAL Exemplos de linguagem de alto nível  C  C++  Pascal  Java  Ruby  Php  C#  ILA  … rodrigo@ic.ufal.br
  13. 13. Instituto de Computação – UFAL O programa  Um programa nada mais é que um algoritmo escrito em uma linguagem de alto nível  Código fonte, programa fonte … rodrigo@ic.ufal.br
  14. 14. Instituto de Computação – UFAL Sintaxe  Até o momento não nos preocupamos muito com a sintaxe dos algoritmos  Sintaxe:  Conjunto de regras que deve ser obedecido ao se estabelecer uma instrução  Define uma gramática de uma linguagem  Como as palavras podem ser escritas, como elas são colocadas em conjunto …. rodrigo@ic.ufal.br
  15. 15. Instituto de Computação – UFAL Sintaxe  Se o programa fonte contém algum erro de sintaxe  O compilador não traduz para a linguagem de máquina  Indica que existe um erro de sintaxe  Geralmente indica onde está o erro rodrigo@ic.ufal.br
  16. 16. Instituto de Computação – UFAL Semântica  Um programa pode não conter erros de sintaxe (e, portanto, pode ser executado) mas a sua execução pode não fornecer como saída o resultado esperado para alguma entrada  Neste caso, dizemos que o programa contém erros de lógica questão, às vezes, de difícil detecção rodrigo@ic.ufal.br
  17. 17. Instituto de Computação – UFAL Mas por que estamos falando de sintaxe e semântica?  Para escrevermos programas é necessário conhecermos a sintaxe da linguagem  Existe um conjunto de instruções cuja semântica é comum a quase todas as linguagens de alto nível  Portanto  Aprender a semântica  Maior facilidade em aprender novas linguagens rodrigo@ic.ufal.br
  18. 18. Instituto de Computação – UFAL Já vimos várias instruções, lembram?  Declaração de variáveis  x, y : inteiro  Inicialização de variáveis  i = 1  Atribuição  soma = soma + 1  Repetição  repita enquanto (contador < 10001) rodrigo@ic.ufal.br
  19. 19. Instituto de Computação – UFAL Mais instruções  Execução condicional se ( pa == pb ) entao imprima "A resposta é a esfera C" senao se ( pa > pb ) entao imprima "A resposta é a esfera A" senao imprima “A resposta é B" fim_se rodrigo@ic.ufal.br
  20. 20. Instituto de Computação – UFAL Já temos a base para começar a programar  Próximos passos  Praticar alguns algoritmos  Tirar dúvidas na aula  Introdução a Linguagem C  Peçam ajuda aos monitores  Sendo assim, aos exercícios  Livro … questões 4, 5 e 8 rodrigo@ic.ufal.br
  21. 21. Introdução a Linguagem C
  22. 22. Instituto de Computação – UFAL Antes de entrar nos detalhes, vamos colocar a mão na massa  Objetivo  Ver como é “a cara” de um código em C  Passos  Configurar o seu ambiente de desenvolvimento  Compilador  Editor de Código Fonte  Criar um primeiro programa bem simples  Compilar  Executar rodrigo@ic.ufal.br
  23. 23. Instituto de Computação – UFAL Configurar o Ambiente de Desenvolvimento  Usaremos o IDE Codeblocks rodrigo@ic.ufal.br
  24. 24. Instituto de Computação – UFAL Criar um primeiro programa  Calcular a média de 03 números dados  Algoritmo inicio var n1,n2,n3,media : real leia n1,n2,n3 media = ( n1 + n2 + n3 ) / 3 imprima "A média é "+media fim rodrigo@ic.ufal.br
  25. 25. Instituto de Computação – UFAL Colocando o algoritmo em C  c:desenvp1media2.c rodrigo@ic.ufal.br
  26. 26. Instituto de Computação – UFAL Compilar!  gcc media.c -o media.exe  Lembre de colocar o seu gcc no PATH  Iniciar  Meu Computador  Propriedades  Avançado  Variáveis de Ambiente  Variáveis do Sistema  Clique em Path  Clique em Editar  Adicione ;C:Arquivos de programasCodeBlocksMinGWbin ao final da string rodrigo@ic.ufal.br
  27. 27. Instituto de Computação – UFAL Executar rodrigo@ic.ufal.br
  28. 28. Instituto de Computação – UFAL Exercício  Se o seu sitema operacional é windows  Refaça os procedimentos realizados aqui  Se o seu sistema operacional é linux  Não é necessário, pois o compilador já vem instalado e configurado  Editor de código: gedit  Vá no laboratório, use o linux e compile seus programas rodrigo@ic.ufal.br

×