disciplina: introdução a programação. iprj/uerj professora ... · passo 1 - receber os três...

Post on 02-Dec-2018

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Disciplina: Introdução a Programação.

IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer

Índice:

Aula1 - Introdução

Programa Algoritmo

Aula 2 - Variáveis

Tipos de dados Identificadores

Aula 3 - Programação Estruturada

Estrutura Sequencial em algoritmos

- Declaração de variáveis - Comando de atribuição

- Comando de entrada - Comando de saída

Estrutura Sequencial em C/C++ - Declaração de variáveis

- Comando de atribuição - Comando de entrada

- Comando de saída - Comentário

Aula 4 - Operadores em C/C++

Aula 5 - Funções pré-definidas em C/C++

Palavras reservadas em C/C++

2

Aula 1: Introdução

Computador digital:

Dispositivo eletrônico que recebe, manipula e armazena informações

(dados). Processa vários tipos diferentes de dados: dados numéricos, caracteres (nomes,

endereços,...), gráficos (tabelas, desenhos,...) e som. Aplicações técnicas e científicas preocupam-se fundamentalmente com dados numéricos, enquanto aplicações

comerciais normalmente envolvem processamento tanto numérico como de caractere. Possui duas partes diferentes que trabalham juntas: o hardware (partes físicas) e o

software (programas).

Programa: --> Conjunto de instruções que descrevem uma tarefa a ser realizada por um

computador, escritas numa linguagem precisa chamada linguagem de programação.

Estas instruções são traduzidas em um compilador, para uma linguagem de baixo nível, a linguagem de máquina, para que o computador possa entender.

As linguagens de programação servem para escrever programas que permitem a

comunicação entre usuário e máquina.

Um programa armazenado na memória pode ser executado a qualquer momento.

A execução de um programa produz os seguintes efeitos:

1. Um conjunto de informações, denominados dados de entrada, será inserido no

computador (através de teclado, pen drive, etc..) e armazenado em uma parte da memória do computador.

2. Os dados de entrada serão, então, processados para produzir os resultados

desejados, conhecidos como dados de saída.

3. Os dados de saída, e talvez alguns dos dados de entrada, serão impressos em

papel ou mostrados na tela do vídeo, ou ainda armazenados em arquivos.

Os dados de entrada são convertidos em informação significativa:

DADOS: valores brutos e números

INFORMAÇÃO: dados processados

Exemplo: Um computador foi programado para calcular a área de um círculo utilizando a fórmula πr2, o valor numérico do raio r é o dado de entrada. Os

seguintes passos serão executados:

3

1. Ler o valor numérico do raio do círculo.

2. Calcular o valor da área, utilizando a fórmula acima. Esse valor será armazenado, juntamente com o dado de entrada, na memória.

3. Imprimir (ou mostrar na tela) o valor do raio e a área correspondente.

Cada um desses passos exigirá uma ou mais instruções de um programa.

Etapas para o desenvolvimento de um programa:

Análise – nesta etapa estuda-se o enunciado do problema para definir os dados de

entrada, o processamento e os dados de saída.

Algoritmo – ferramenta do tipo descrição narrativa, fluxograma ou português

estruturado (pseudocódigo) (são usados para descrever o problema com suas

soluções.)

Codificação – O algoritmo é transformado em códigos da linguagem de programação

escolhida para se trabalhar.

Portanto, um programa é a codificação de um algoritmo em uma linguagem de

programação.

Algoritmo:

Processo sistemático para a resolução de um problema. Significa descrever, de forma lógica, os passos a serem executados no cumprimento de determinada tarefa.

Um algoritmo correto deve possuir 3 qualidades:

1- Cada passo no algoritmo deve ser uma instrução que possa ser realizada. 2- A ordem dos passos deve ser precisamente determinada.

3- O algoritmo deve ter fim.

Exemplo de um procedimento que não é um algoritmo:

Procedimento para contar:

Passo 1: Faça N igual a zero

Passo 2: Some 1 a N. Passo 3: Volte ao passo 2

Não satisfaz a condição 3 de um algoritmo correto!!!

Exemplo de um algoritmo correto:

Procedimento para contar até 100:

Passo 1: Faça N igual a zero

4

Passo 2: Some 1 a N.

Passo 3: Se N é menor que 100, volte ao Passo 2, senão pare.

Satisfaz as três condições!!!

Outros exemplos:

Algoritmo 1: Somar três números

PASSO 1 - Receber os três números

PASSO 2 - Somar os três números

PASSO 3 - Mostrar o resultado obtido

Algoritmo 2: Sacar dinheiro no Banco 24 horas

OBS: um mesmo problema pode ser resolvido de diversas maneiras e gerar a mesma resposta, ou seja, podem existir vários algoritmos para solucionar o mesmo

problema!!

Tipos de algoritmos (os mais usados):

1- Descrição narrativa: consiste em analisar o enunciado do problema e escrever

utilizando uma linguagem natural (ex: a língua portuguesa), os passos a serem seguidos para a sua resolução.

2- Fluxograma: utiliza símbolos gráficos pré-definidos. Principais símbolos:

5

3- Pseudocódigo (pseudolinguagem): utiliza regras pré-definidas que facilitam a passagem do algoritmo para qualquer linguagem de programação.

Na definição de uma linguagem, precisamos fixar: sua sintaxe: como escrever os comandos e seus componentes (tipos, variáveis, etc) e a sua semântica: o

significado de cada comando e conceito.

Exemplos de algoritmos com os três tipos citados acima:

Exemplo1:

Faça um algoritmo para mostrar o resultado da multiplicação de dois números:

1- Algoritmo em descrição narrativa:

PASSO 1 – Receber os dois números que serão multiplicados.

PASSO 2 – Multiplicar os dois números. PASSO 3 – Mostrar o resultado obtido na multiplicação.

2- Algoritmo em fluxograma:

6

3- Algoritmo em pseudocódigo:

Exemplo2: Faça um algoritmo para mostrar o resultado da divisão de dois números.

1- Algoritmo em descrição narrativa:

PASSO 1- Receber os dois números que serão divididos PASSO 2- Se o segundo número foi igual a zero, não poderá ser feita a divisão,

pois não existe divisão por zero; caso contrário, dividir os números e mostrar o resultado da divisão.

2- Algoritmo em fluxograma

7

3- Algoritmo em pseudocódigo

Exemplo 3: Faça um algoritmo para calcular a média aritmética entre duas notas de

um aluno e mostrar a sua situação, que pode ser aprovado ou reprovado.

1- Algoritmo em descrição narrativa:

PASSO 1 - Receber as duas notas

PASSO 2 - Calcular a média aritmética.

PASSO 3 - Mostrar a média aritmética.

PASSO 4 - Se a média aritmética for maior ou igual a 7, então a situação do aluno é aprovado; caso contrário, a situação é reprovado.

2- Algoritmo em fluxograma:

8

3- Algoritmo em pseudocódigo

9

Aula 2: Variáveis e Tipos de dados

Um algoritmo e, posteriormente, um programa, recebem dados, que precisam ser

armazenados no computador para serem utilizados no processamento. Esse armazenamento é feito na memória.

Todos os computadores trabalham com sistema numérico binário: os dados são

transformados em 0 e 1 ('zeros' e 'uns') para, então serem armazenados na memória. Cada dígito binário (0 ou 1) ocupa porções de memória chamadas bytes (8

bits), e cada byte é identificado e acessado por meio de um endereço.

Todos os caracteres existentes possuem um correspondente numérico na tabela ASCII, que é transformado em caractere binário pelo método da divisão para, então,

ser armazenado na memória.

Variável:

- representa uma posição de memória. - possui nome e tipo.

- o conteúdo pode variar ao longo do tempo, durante a execução de um programa. - pode assumir valores diferentes, mas só pode armazenar um valor a cada

instante.

10

Tipos de Dados

1- Dados numéricos: podem ser números inteiros ou reais.

Números inteiros:

- podem ser positivos ou negativos e não possuem parte fracionária!!

Exemplos de dados numéricos inteiros:

-23, 34, 199, 0, 28, 100

Números reais:

- podem ser positivos ou negativos e possuem parte fracionária!!

Exemplos de dados numéricos reais:

-23.0 , 34.0, 199.2 , 0.0 , 28.5 , 100.2

2- Dados Lógicos

Também chamados de dados booleanos e podem assumir valores verdadeiro ou falso.

3- Dados Literais ou caracteres

Formados por um único caractere ou por uma cadeia de caracteres.

Esses caracteres podem ser as letras maiúsculas, as letras minúsculas, os números

(não podem ser usados para cálculo) e os caracteres especiais (&,#,@,?,+).

Exemplos de dados literais: 'aluno', '1234', '@ internet', '100 + 150', '10.6'

11

Identificadores:

Nomes escolhidos para rotular os nomes das variáveis, dos programas, das

constantes, procedimentos, funções, etc.

Regras: O primeiro caractere deve ser sempre uma letra ou o caractere sublinhado (_).

Os demais caracteres podem ser: números, letras maiúsculas, letras minúsculas e o caractere sublinhado.

Os nomes escolhidos devem explicitar seu conteúdo. Não podem ser usadas palavras reservadas, ou seja, palavras que pertençam a

uma linguagem de programação. Não são permitidos espaços em branco e caracteres especiais (@, $, + , - , %,

!).

Exemplos de identificadores válidos:

A, idade, Dia, nota1, media_total

Exemplos de identificadores inválidos: 8ab - começa com um número,

e 12 - contém espaço em branco, nota(10) - contém caracteres especiais ()

SET - palavra reservada, case - palavra reservada,

x+y - contém caractere especial

12

Aula 3- Programação estruturada

Qualquer problema pode ser resolvido utilizando três estruturas: sequencial,

condicional e iterativa (repetição). Procura encontrar uma forma de quebrar um

problema complexo em partes mais simples que, trabalhadas conjuntamente,

permitem solucioná-lo.

A ideia é que, utilizando corretamente tais estruturas, o recurso da modularização e a

parametrização, seja possível criar programas com menor repetição possível de

linhas de comando.

O programador que utiliza o paradigma estruturado analisa o problema tentando

relacionar as ações que deverão ser executadas e como poderão ser divididas em

módulos.

Estrutura Sequencial em algoritmos

Declaração de variáveis em algoritmos:

ocorre após a palavra DECLARE e os tipos mais usados são: NUMÉRICO (para

variáveis que receberão números, LITERAL (para variáveis que receberão caracteres)

e LÓGICO (para variáveis que receberão apenas dois valores: verdadeiro ou falso).

Exemplo:

Comando de atribuição em algoritmos:

para conceder valores ou operações a variáveis (símbolo ). Exemplo:

13

Comando de entrada em algoritmos:

Usado para receber dados digitados pelo usuário, que serão armazenados em

variáveis. Representado pela palavra LEIA.

Exemplo:

LEIA X

- um valor digitado pelo usuário será armazenado na variável X.

LEIA Y

- um ou vários caracteres digitados pelo usuário serão armazenados na variável Y.

Comando de saída em algoritmos:

Usado para mostrar dados na tela ou na impressora. Representado pelo palavra

ESCREVA. Os dados podem ser conteúdos de variáveis ou mensagens.

Exemplo:

ESCREVA X

Mostra o valor armazenado na variável X

ESCREVA "Conteúdo de Y = ", Y

Mostra a mensagem "Conteúdo de Y =" e em seguida o valor armazenado na variável

Y.

14

Estrutura Sequencial em C/C++

Bibliotecas: arquivos contendo várias funções que podem ser incorporadas aos

programas escritos em C/C++. A diretiva #include faz com que o texto contido na

biblioteca especificada seja inserida no programa.

Exemplo: as bibliotecas iostream.h e conio.h permitem a utilização de diversos

comandos de entrada e saída.

A linguagem C/C++ é sensível a letras maiúsculas e minúsculas, ou seja, letras

minúsculas são diferentes de minúsculas (por exemplo, b é diferente de B). TODOS

os comandos devem, obrigatoriamente, ser escritos com letras minúsculas.

Declaração de variáveis em C/C++

As variáveis são declaradas após a especificação de seus tipos.

Tipos de dados mais usados:

int (para números inteiros);

float (para números reais);

char (para um caractere)

Não possui tipo de dados boolean (que pode assumir os valores verdadeiro ou falso),

pois considera verdadeiro qualquer valor diferente de 0 (zero).

Não possui um tipo especial para armazenar cadeias de caracteres (strings). Deve-

se utilizar um vetor contendo vários elementos do tipo char.

Exemplo:

float X;

- declara uma variável chamada X em que pode ser armazenado um número real.

float X,Y;

- declara duas variáveis X e Y em que podem ser armazenados dois números reais.

char opcao;

- declara uma variável chamada opcao em que pode ser armazenado um caractere.

char nome[50];

15

- declara uma variável chamada nome em que podem ser armazenados até 50

caracteres.

Tipos de dados:

Obs: de acordo com o processador ou compilador C/C++ utilizado, o tamanho e a

faixa de valores podem variar.

Comando de atribuição em C/C++

Utilizado para conceder valores ou operações a variáveis. Representado por = (sinal

de igualdade). Exemplo:

Os caracteres são representados entre apóstrofos ( ' ).

As cadeias de caracteres são representadas entre aspas ( " ).

Para armazenar uma cadeia de caracteres dentro de uma variável, deve-se

utilizar uma função para manipulação de caracteres:

Para que seja possível a utilização da função strcpy deve-se inserir no programa, por

meio da diretiva include, a biblioteca string.h.

Todo comando deve ser finalizado com o sinal de ponto e vírgula (;)

16

Comando de entrada em C/C++

Usado para receber dados digitados pelo usuário.

Os dados recebidos são armazenados em variáveis. Exemplos:

Comando Definição

cin >> x;

Um valor digitado pelo usuário será

armazenado na variável x.

gets(nome); Um ou mais caracteres digitados pelo

usuário serão armazenados na variável nome.

scanf("%d",&x); Um valor digitado pelo usuário será

armazenado na variável x.

O comando gets deve ser usado quando se deseja digitar uma cadeia contendo

espaços em branco. Ex: Maria Jose.

O comando cin consegue armazenar os caracteres até que seja encontrado o primeiro

espaço em branco (os caracteres posteriores são descartados). Ex: Maria.

Os comandos gets e scanf: armazenam toda a cadeia até que seja pressionada a

tecla ENTER. (Necessário incluir a biblioteca stdio.h, ou seja, #include <stdio.h>)

Comando de Saída em C/C++

Usados para mostrar dados na tela ou na impressora. Exemplo:

Comando Definição

cout << x; Mostra o valor armazenado na variável x.

cout << "Conteudo de x = ", << x; Mostra a mensagem "Conteudo de X= " e em seguida o valor armazenado na variável

x.

printf ("%d",y); Mostra o número inteiro armazenado na variável y.

printf ("%Conteudo de y = %d",y); Mostra a mensagem "Conteudo de y= " e em seguida o número inteiro armazenado na

variável y.

printf ("%f",x); Mostra o número real armazenado na variável x.

printf("%5.2f", x); Mostra o número real na variável x utilizando cinco casas para a parte inteira e

duas casas decimais.

17

No comando printf é necessário indicar o tipo de variável que será mostrada:

%f: para variáveis que armazenam números reais;

%d: para variáveis que armazenam números inteiros:

%c: para variáveis que armazenam um único caractere;

%s: para variáveis que armazenam um conjunto de caracteres.

Comentário em C/C++

Importante para documentação do programa.

Para várias linhas:

/*

linhas de comentário

linhas de comentário

. . .

*/

Para uma linha apenas:

// uma linha de comentário

18

Aula 4: Operadores em C/C++

Operadores

Operador Exemplo Comentário

= x=y O conteúdo da variável y é atribuído à variável x. (A uma variável pode ser atribuído o conteúdo de outra, um valor

constante ou, ainda, o resultado de uma função).

+ x + y Soma o conteúdo de x e de y.

- x - y Subtrai o conteúdo de x e de y.

* x * y Multiplica o conteúdo de x pelo conteúdo de y.

/ x/y Obtém o quociente de divisão de x por y.

% x%y Obtém o resto da divisão de x por y (obs: apenas para

números inteiros)

+= x += y Equivale a x = x + y.

-= x -= y Equivale a x = x - y.

*= x *= y Equivale a x = x * y.

/= x /= y Equivale a x = x / y.

%= x %= y Equivale a x = x % y.

++ x++ Equivale a x = x + 1.

++ y= ++x Equivale a x = x + 1 e depois y=x.

++ y= x++ Equivale a y = x e depois x=x+1.

-- x-- Equivale a x = x - 1.

-- y= --x Equivale a x = x - 1 e depois y=x.

-- y= x-- Equivale a y = x e depois x=x-1.

== x == y O conteúdo de x é igual ao conteúdo de y.

!= x != y O conteúdo de x é diferente do conteúdo de y.

<= x <= y O conteúdo de x é menor ou igual ao conteúdo de y.

>= x >= y O conteúdo de x é maior ou igual ao conteúdo de y.

< x < y O conteúdo de x é menor que o conteúdo de y.

> x > y O conteúdo de x é maior que o conteúdo de y.

19

Aula 5: Funções pré-definidas em C/C++

Funções matemáticas

Exemplos de algumas funções matemáticas da biblioteca math.h:

Função Exemplo O que faz Retorno

Calcula o menor valor inteiro maior que x. Ex: ceil (3.2) é 4.

Retorna o menor inteiro maior que . Embora inteiro, o valor é retornado como double.

Calcula o maior valor inteiro menor que x. Ex: floor (3.2) é 3.

Retorna o maior inteiro menor que . Embora inteiro, o valor é retornado como double.

Calcula o cosseno de ( em radianos).

O cosseno do arco , um valor no intervalo [-1,+1].

Calcula o seno de ( em radianos).

O seno do arco , um valor no intervalo [-1,+1].

Calcula a tangente de ( em radianos).

O valor da tangente do arco x como um número de dupla precisão (double).

calcula o valor absoluto do argumento , onde é um inteiro.

o inteiro que representa o valor absoluto do argumento .

calcula o valor absoluto do argumento , onde é um double.

o double que representa o valor absoluto do argumento .

Obtém o logaritmo natural elevado à potência .

O valor de em precisão dupla.

Obtém o logaritmo natural de (logaritmo neperiano).

O valor de em precisão dupla.

Obtém o logaritmo de base 10 de (logaritmo decimal). o valor de deve ser positivo. Se , então

O valor de em precisão dupla.

calcula a parte fracionária de e coloca a parte inteira em .

retorna o valor da parte fracionária de x em dupla precisão.

calcula a potência . Se ou for 0, o resultado é 0. Se qualquer um dos dois for negativo, pode ocorrer um erro.

o valor de em dupla precisão.

calcula a raiz quadrada de , isto

é

.

o valor da raiz quadrada de em dupla precisão (double).

Constante que define o valor de

O valor de .

20

Exemplo (código em C):

As funções sin, cos e tan esperam receber argumentos no formato de radianos;

para receberem argumentos em graus, siga o exemplo a seguir:

Exemplo com o valor de π:

valorPI = 3.415;

cin >> x; // x em graus

y = sin ((valorPI * x)/180);

21

ou usando a função M_PI:

cin >> x; // x em graus y = sin((M_PI*x)/180);

Palavras reservadas de C/C++

Materiais de referência:

Livros:

1- Fundamentos da Programação. Ascencio, Ana/Campos, Edilene.

http://wps.prenhall.com/br_ascencio_2/77/19865/5085520.cw/index.html

2- C completo e total. Herbert Schildt

3- Programando em C

Schaum McGraw-Hill

top related