• Nenhum resultado encontrado

introducao

N/A
N/A
Protected

Academic year: 2021

Share "introducao"

Copied!
42
0
0

Texto

(1)

Programação de Computadores

(2)

Introdução

Programação é o processo de definir, utilizando uma

Linguagem de programação, os comandos e as

instruções que o computador deve executar para realizar determinada tarefa

(3)

Conceitos

Linguagem: Um código de comunicação, formado

por um conjunto de símbolos, que possuem regras de sintaxe e semântica.

Linguagem de Programação: Uma notação formal

que tem como objetivo descrever a execução de

algoritmos em computadores. Assim como qualquer linguagem deve seguir regras sintáticas e semânticas.

(4)

Conceitos

Programa: Um programa de computador é uma

coleção de instruções que descrevem uma tarefa a ser realizada por um computador.

 Pode ser entendido também como a codificação de um algoritmo em uma determinada linguagem de

programação.

Código fonte: É um conjunto de palavras escritas de

forma ordenada composto pelas instruções de uma das linguagens de programação. Como exemplo, temos abaixo um código fonte de um programa em linguagem de programação C.

(5)
(6)

Conceitos

Compilador: Um compilador é um programa de sistema que

traduz um programa descrito em uma linguagem de alto nível para um programa equivalente em código de máquina para um processador

Análise Léxica: Verifica os símbolos escritos em um programa,

verifica se os caracteres especiais fazem realmente parte do alfabeto daquela linguagem e se o nome das variáveis são válidos.

Análise Sintática (parsing): Refere-se à forma de escrever.

Conjunto de regras, a partir do agrupamento e letras, dígitos e outros caracteres, para escrita de um programa em uma determinada linguagem.

Análise Semântica: Refere-se ao sentido, significado dos

símbolos escritos em uma determinada linguagem. Identifica, por exemplo, a multiplicação entre dois tipos de dados diferentes.

(7)
(8)

Organização de Computadores

Memória é a parte do computador onde programas e dados

são armazenados

A unidade básica da memória é o bit(“binary digit”) . Sendo

um “pedaço de informação” um bit não tem sentido por si só. Ou seja, apenas conjuntos de bits podem conter

informações úteis.

Um bit contém ou o valor “1” ou “0”, visto que a aritmética

(9)

Bits e Bytes

Um byte é um grupo de 8 bits. Ex.: 10000001 (= 129) .

 O padrão de fato utilizado atualmente define que um byte é a menor unidade que pode ser endereçada ( identificada

individualmente) na memória.

 Uma palavra é um grupo de bytes. P. ex., é comum ter-se palavras de 4 bytes (32 bits). Normalmente, as instruções

operam em palavras inteiras. O tamanho da palavra (numero de bytes ou bits) , normalmente, determina o tamanho ( largura) de registradores,barramentos, etc.

(10)
(11)
(12)

Como escrever um programa

Definição do problema;

Planejamento da solução;

Esboço da solução na forma de um

algoritmo;

 verificação do algoritmo experimentalmente

Escrita do algoritmo na linguagem de

programação

 compilação

 testes

(13)

Algoritmos

Definição:

 Um algoritmo é uma seqüência finita de instruções ou operações básicas cuja execução, em tempo finito, resolve um problema computacional.

 Informalmente, é uma sequência finita de instruções (ou comandos ou ações) utilizadas para resolver um determinado problema.

(14)

Algoritmos

Por exemplo, como assistir a um DVD?1° refinamento: 1. Coloque o DVD no player; 2. Ligue a TV; Comandos 3. Assista ao filme.  2° Refinamento 1. Coloque o DVD no player; 2. Ligue a TV;

3. Regule o volume e a imagem;

(15)

Algoritmos

3° Refinamento 1. Tire o DVD da caixa; 2. Coloque o DVD no player; 3. Ligue a TV; 4. Regule o volume e a imagem; 5. Assista ao filme. 6. Regule o volume e a imagem; 7. Assista ao filme.  4° refinamento: 1. Tire o DVD da caixa; 2. Coloque o DVD no player; 3. Ligue a TV; 4. Selecione os parâmetros de

5. exibição do filme (áudio,

(16)

Algoritmos

Quando parar de “refinar” o algoritmo, ou seja,

quando parar de detalhar os comandos?

 Depende de quem vai executar as instruções!

 No caso de um computador vai depender da linguagem de programação utilizada, pois o algoritmo vai ser

transformado em um programa.

Um algoritmo deve ser descrito ou detalhado em um nível tal que tenhamos certeza de que suas instruções poderão ser executadas de maneira “fácil”.

(17)

Representação de Algoritmos

Fluxograma:

 Representação gráfica que indica a seqüência de operações.

 Ex.: Ler dois números e calcular a diferença entre o quadrado do maior e o cubo do menor.

(18)

Fluxograma

a > b Início Término c = b 2 - a 3 c = a 2 - b 3 S N c a, b

(19)

Representação de Algoritmos

Linguagem Natural (pseudo-código)

início leia a,b se a > b então c  a² - b³ senão c  b² - a³ escreva c fim

(20)

Representação de Algoritmos

Linguagem de Programação – C int main(){ float a,b,c; scanf(“%d”,&a); scanf(“%d”,&b); if(a>b) c = (a*a) + (b*b*b); else c = (b*b) + (a*a*a); cout<<c; }

(21)

Conceito de Variáveis

Um programa necessita de armazenamento dos

dados recebido para que seja feito um processamento.

Esse armazenamento é feito na memória.

Uma variável representa uma posição de memória,

possuindo nome e tipo, cujo conteúdo pode variar ao longo do tempo, durante a execução do programa.

Embora possa assumir diferentes valores, ela só pode armazenar um valor a cada instante.

(22)

Conceito de Variáveis

Regras para utilização/definição:

 o nome de uma variável pode ser definido com 1 ou mais caracteres

 o primeiro caracter não pode ser número.

 não é permitido espaço em branco entre os caracteres.

 palavras reservadas não podem ser utilizadas como nome de variáveis.

 só pode ser letra, número e _ (underline)

Nomes Válidos Nomes Inválidos

nome_completo nome completo telefone1 1telefone

(23)

Tipos de Dados

Inteiros:

 São os dados numéricos positivos ou negativos. Excluindo-se destes qualquer número fracionário. Ex.: 35, 0, -56 etc.

Em C : int, long int, sort int

Reais:

 São os dados numéricos positivos, negativos e fracionários. Ex.: 35, 0, -56, 1.2, -45.8987 etc.

(24)

Tipos de Dados

Caractere:

Conjunto de caracteres que podem conter letras, números e símbolos especiais. Uma seqüência de caracteres deve ser indicada entre aspas (“”). Este tipo de dado é também conhecido como: alfanumérico, string, literal ou cadeia. Ex.: “PROGRAMAÇÃO”, “Rua Alfa, 52 Apto. 1”, “Fone: 574-9988”, “7” etc. Para

somente 1 caracter se utiliza apostrofo ‘’ . EX.: ‘a’,’b’.

Em C: char

Lógico: conjunto de valores verdadeiros ou

falso.

(25)

Declaração de Variáveis

Declaração de Variáveis:

 as variáveis ao serem declaradas devem ser

associadas a um tipo primitivo de dados (float, inteiro, caracter, lógico)

 Exemplos:

 int numero1;

float nota1, nota2, media; char nome[20];

(26)

Constantes

Constante é tudo aquilo que é fixo ou estável.

No decorrer do processamento tal valor não se altera.

 Ex.: PI=3.14159, MAX=45, etc.

 Em C: #define PI 3.14159

(27)

Operadores aritméticos

Tanto variáveis como constantes poderão ser usadas

na elaboração de cálculos matemáticos (expressões matemáticas): Operação Símbolo Adição + x + y Subtração - x - y Multiplicação * x * y Divisão / x / y Divisão inteira % x % y Potência ^ x ^2 ou x^y Em C: pow(x,2) ou pow(x,y) Incremento ++ x++ (x=x+1) Decremento -- X-- (x=x-1)

(28)

Operadores aritméticos

Atribuição:=EX:  A = 1;  B = 1 + 2;  C = A + B;

(29)

C/C++ breve introdução

A linguagem C foi criada por Dennis Ritchie, em 1972,

no centro de Pesquisas da Bell Laboratories.

Sua primeira utilização importante foi a reescrita do

Sistema Operacional UNIX, que até então era escrito em assembly.

O C é uma linguagem de propósito geral, sendo

adequada à programação estruturada. No entanto é mais utilizada para escrever compiladores,

analisadores léxicos, bancos de dados, editores de texto, etc..

(30)

C/C++ breve introdução

A linguagem C pertence a uma família de linguagens

cujas características são:

 portabilidade, modularidade, compilação separada, recursos de baixo nível, geração de código eficiente, confiabilidade, regularidade, simplicidade e facilidade de uso.

(31)

Visão geral de um programa C

Todo programa C inicia sua execução chamando a

função main(), sendo obrigatória a sua declaração no programa principal.

Comentários no programa são colocados entre /* e */

não sendo considerados na compilação.

Cada instrução encerra com ; (ponto e vírgula) que

(32)

Estrutura sequencial em C

#include <biblioteca> //Comentários /* linhas de comentários linhas de comentários */ int main() { Bloco de comandos; }

(33)

Estrutura sequencial em C

Bibliotecas são arquivos que contem funções que

podem ser incorporadas em programas em C.

A directiva #include faz com que este arquivo seja

incluído ao programa.

As bibliotecas stdio.h e stdlib.h permitem a utilização

de diversos comandos de entrada e saída.

A linguagem C/C++ e sensível a letras minúsculas e

maiúsculas ou seja a e diferente de A sendo assim todos os comandos são escritos em minúsculas.

(34)

Exemplo

/* Primeiro Programa */ #include <stdio.h> #include <stdlib.h> int main() { printf("Primeiro Programa\n"); return 0; }

(35)

Entrada e Saída

Para que um programa interaja com o usuário é

necessário que haja instruções de entrada e saída

Entrada: instruções onde o programa recolhe algo do

usuário, seja pelo teclado, mouse, scanner ou qualquer outro dispositivo de I/O.

Sintaxe:

Leia(<variavel_ou_listaDeVariaveis) Exemplos:

 int n;

(36)

Função Scanf

A função scanf( ) é uma das funções de entrada de

dados da Linguagem C, que pode ser usada para ler virtualmente qualquer tipo de dado inserido por meio do teclado, freqüentemente ela é usada para a

entrada de números inteiros ou de ponto flutuante.

A forma geral da função scanf( ) é:

(37)

Função Scanf

 Os especificadores de formato de entrada são precedidos por um sinal % e dizem à função scanf( ) qual tipo de dado deve ser lido em seguida.

 Esses códigos são listados na tabela a seguir.

Código Significado

%c Lê um único caractere

%d Lê um decimal inteiro

%i Lê um decimal inteiro (não pode ser octal ou hexadecimal)

%u Lê um decimal sem sinal

%e Lê um número em ponto flutuante com sinal opcional

%f Lê um número em ponto flutuante com ponto opcional

%g Lê um número em ponto flutuante com expoente opcional

(double)

%o Lê um número em base octal

%s Lê uma string

%x Lê um número em base hexadecimal

(38)

Entrada e Saída

Saída: instruções que o computador envia ao usuário,

seja pelo monitor ou pela impressora por exemplo.

Sintaxe:

Escreva(variavel_e/ou_mensagem) Exemplos:

int soma=1+3;

(39)

Função PRINTF()

Quando é necessário imprimir na tela um dado, um

valor, uma string ou mesmo um endereço de memória, usa-se a função printf().

Quando o programa usa a função printf(), as

informações que instrui printf() a imprimir são

chamadas parâmetros ou argumentos de printf().

A estrutura básica da função printf() é dada a seguir:

 printf ("string de controle", lista de argumentos);

A string de controle contém tanto caracteres para serem impressos na tela como códigos de formato que especificam como apresentar o restante dos argumentos.

(40)

Função PRINTF()

Quando os programas trabalharem com variáveis,

será possível usar printf() para exibir os valores de cada variável.

A função printf() suporta mais de um parâmetro.

O primeiro parâmetro precisa ser sempre uma string

de caracteres.

Pode-se fazer os parâmetros que seguem a primeira

string de caracteres serem números, expressões, variáveis, ou até outras strings de caracteres.

Quando for necessário que printf() exiba um valor ou

uma variável, é preciso fornecer informações sobre o tipo da variável dentro do primeiro parâmetro.

(41)

Função PRINTF()

A seguir, uma tabela com os especificadores de

formato:

Código Significado

%c Exibe um caractere

%d Exibe um inteiro em formato decimal %i Exibe um inteiro

%e Exibe um número em notação científica (com e minúsculo) %E Exibe um número em notação científica (com E maiúsculo)

%f Exibe um ponto flutuante em formato decimal %g Usa %e ou %f, o que for menor

%G O mesmo que %g, só que um E maiúsculo é usado se o formato %e for escolhido

%o Exibe um número em notação octal %s Exibe uma string

%u Exibe um decimal sem sinal

%x Exibe um número em hexadecimal com letras minúsculas %X Exibe um número em hexadecimal com letras maiúsculas %% Exibe um sinal de %

(42)

Exemplo

#include <stdio.h> #include <stdlib.h> int main() { int i; printf(“Digite um numero: “); scanf(“%d”,i);

printf(“O numero digitado foi: %d”,i); return 0;

}

Exercícios:

1. Leia um valor e exiba a sua metade;

2. Leia quatro valores e exiba a soma destes;

Referências

Documentos relacionados

Conforme mencionado anteriormente, os basidiomicetos de podridão branca são mais utilizados em processos de micorremediação mediado pela biodegradação enzimática, mas a

Obter polpa de guavira desidratada pelo processo de liofilização com adição de maltodextrina e avaliar o conteúdo de vitamina C no produto em pó.. Material

Desta maneira, observando a figura 2A e 2C para os genótipos 6 e 8, nota-se que os valores de captura da energia luminosa (TRo/RC) são maiores que o de absorção (ABS/RC) e

XVI - indicador de obstrução de ramais: consiste na relação entre a quantidade de desobstruções de ramais realizadas no período e o número de imóveis ligados à rede,

Compreendendo- se que o estudo dos eventos do século XX podem ser relevantes e esclarecedores para a compreensão da história e da sociedade de hoje, e levando-se em conta o

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

Contribuir para o desenvolvimento de produtos finais concretos (metodologias, processos, ferramentas de trabalho, políticas públicas, etc.), que sejam “novas portas

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar