You are on page 1of 18

Programação de Computadores

Linguagem C / C++
Parte 1

Professor Responsável: Edson Pires da Silva


• Definições de Algoritmo

"Algoritmo é um sequência de instruções cuja execução, seguindo


uma ordem definida, resulta numa determinada ação. E a ação é um
acontecimento que, a partir de um estado inicial, produz um efeito
final previsível, bem definido e intencional, após um período de tempo
finito.”

“Processo de cálculo, ou de resolução de um grupo de problemas


semelhantes, em que se estipulam, com generalidades e sem restrições,
as regras formais para a obtenção do resultado ou da solução do
problema.”

Professor: Edson Pires da Silva folha: 2


• Exemplo de Algoritmo
Início

1. Tirar o fone do gancho;

2. Ouvir o sinal de linha;

3. Introduzir o cartão;

4. Teclar o número desejado;


SEQUÊNCIAL

5. Se der o sinal de chamar


DESVIO
5.1 Conversar;

5.2 Desligar;

5.3 Retirar o cartão;

6. Senão

6.1 Repetir;

Fim.

Professor: Edson Pires da Silva folha: 3


• Estruturas básicas de controle
• Sequência simples: é a forma mais simples das estruturas de controle.
É representada pelo símbolo “ ; ”. Ele tem no texto a função de separar
um comando do outro e na interpretação de indicar que os comandos
separados deverão ser executados na mesma sequência em que
aparecem. Exemplo:

pegar o copo em cima da mesa;


colocá-lo sob a torneira do filtro;
abrir a torneira;
encher o copo;
fechar a torneira;
levar o copo com água a quem pediu;

Professor: Edson Pires da Silva folha: 4


• Estruturas básicas de controle
• Decisão ou alternativa simples: esta se resume em uma ação a ser
executada que dependerá do resultado, falso ou verdadeiro, de uma
condição imposta ao problema. A estrutura utilizada é o conectivo
condicional “SE”, representando assim: se <condição> então < ação >.
Exemplo:
pegar o copo em cima da mesa;
se < copo estiver sujo >
então “lave-o”;
colocá-lo sob a torneira do filtro;
abrir a torneira;
encher o copo;
fechar a torneira;
levar o copo com água a quem pediu;

Professor: Edson Pires da Silva folha: 5


• Estruturas básicas de controle
• Decisão ou alternativa composta: Podemos ter duas ações a executar
em função do resultado da condição. Uma para o resultado verdadeiro,
outra para o resultado falso. A estrutura ficará da seguinte forma:

se < condição >


então < ação > ( para condição = verdadeiro )
senão < ação > ( para condição = falso )

Professor: Edson Pires da Silva folha: 6


• Estruturas básicas de controle
• Repetição: Vamos imaginar que mais de uma pessoa pediu um copo
com água. Apesar de serem pessoas diferentes, não justifica narrarmos
a mesma sequência de ações para cada pedido. A solução então, é
repetirmos a mesma sequência de ações, tantas vezes quanto forem os
pedidos. Desta forma enquanto <condição > faça < ação >. Exemplo:
enquanto < houver pedido de água > faça
pegar o copo em cima da mesa;
se < copo estiver sujo >
então “lave-o”;
colocá-lo sob a torneira do filtro;
abrir a torneira;
encher o copo;
fechar a torneira;
levar o copo com água a quem pediu;

Professor: Edson Pires da Silva folha: 7


• Estruturas de Algoritmo - Como dirigir um carro
abrir a porta;
entrar no carro;
fechar a porta;
apertar embreagem;
colocar ponto morto;
soltar embreagem;
ligar o carro;
enquanto < estiver acelerando > faça
{apertar a embreagem;
engatar marcha a frente;
soltar a embreagem;
pisar no acelerador;}

Professor: Edson Pires da Silva folha: 8


• Estruturas de Algoritmo - Como dirigir um carro

enquanto < estiver parando > faça


{apertar a embreagem;
engatar marcha a frente;
soltar a embreagem;
pisar no freio;}
apertar a embreagem;
pisar no freio até parar;
desligar o carro;
soltar a embreagem;
abrir a porta;
sair do carro;
fechar a porta;
Professor: Edson Pires da Silva folha: 9
• Técnicas atuais de programação
• Programação sequêcial: É o tipo de programação onde não nos
preocupamos em dividir o programa de uma forma organizada, por ele ser
muito pequeno ou por não estarmos ainda familiarizados com outras
técnicas mais modernas de programação.
• Programação estruturada: É uma metodologia de construção de
algoritmo/programas para proporcionar:
– maior facilidade de escrita (elaboração) e leitura (compreensão);
– permitir a verificação dos programas;
– facilitar a manutenção e modificação de programas.
• Programação orientada a objetos: Na prática de programação orientada a
objetos estaremos atentos em nossos programas para pontos como:
– compatibilidade, portabilidade;
– segurança;
– reusabilidade;
– facilidade de integração e extensão;
– eficiência.

Professor: Edson Pires da Silva folha: 10


• Linguagens de programação
• Definição:
Um programa de computador é um conjunto instruções que
representam um algoritmo para a resolução de algum problema. Estas
instruções são escritas através de um conjunto de códigos (símbolos e
palavras). Este conjunto de códigos possui regras de estruturação
lógica e sintática própria. Dizemos que este conjunto de símbolos e
regras formam uma linguagem de programação.

• Interpretadores são programas que fazem a interpretação de cada


instrução do programa fonte executando-a dentro de um ambiente de
programação, Basic e AutoLISP por exemplo.

• Compiladores são programas que fazem a tradução de todas as


instruções do programa fonte gerando um programa executável. Estes
programas executáveis (*.exe) podem ser executados fora dos
ambientes de programação, C e Pascal por exemplo.

Professor: Edson Pires da Silva folha: 11


• Grupos de Linguagens de programação
Grupos: Podemos dividir, genericamente, as linguagens de programação
em dois grandes grupos: as linguagens de baixo nível e as de alto nível.

• Linguagens de baixo nível: São linguagens voltadas para a máquina,


isto é, são escritas usando as instruções do microprocessador do
computador. São genericamente chamadas de linguagens Assembly.

• Vantagens: Programas são executados com maior velocidade de


processamento. Os programas ocupam menos espaço na memória.

• Desvantagens: Em geral, programas em Assembly tem pouca


portabilidade, isto é, um código gerado para um tipo de processador não
serve para outro. Códigos Assembly não são estruturados, tornando a
programação mais difícil.

Professor: Edson Pires da Silva folha: 12


• Grupos de Linguagens de programação
• Linguagens de alto nível: São linguagens voltadas para o ser
humano. Em geral utilizam sintaxe estruturada tornando seu código
mais legível. Necessitam de compiladores ou interpretadores para
gerar instruções do microprocessador.

• Vantagens: Por serem compiladas ou interpretadas, tem maior


portabilidade podendo ser executados em varias plataformas com
pouquíssimas modificações. Em geral, a programação torna-se mais
fácil por causa do maior ou menor grau de estruturação de suas
linguagens.

• Desvantagens: Em geral, as rotinas geradas (em linguagem de


maquina) são mais genéricas e portanto mais complexas e por isso são
mais lentas e ocupam mais memória.

Professor: Edson Pires da Silva folha: 13


• Características da Linguagem C
• O C é uma linguagem de alto nível com uma sintaxe bastante
estruturada e flexível tornando sua programação bastante simplificada.
• Programas em C são compilados, gerando programas executáveis.
• O C compartilha recursos tanto de alto quanto de baixo nível, pois
permite acesso e programação direta do microprocessador. Com isto,
rotinas cuja dependência do tempo é crítica, podem ser facilmente
implementadas usando instruções em Assembly. Por esta razão o C é
a linguagem preferida dos programadores de aplicativos.
• O C é uma linguagem estruturalmente simples e de grande
portabilidade. O compilador C gera códigos mais enxutos e velozes
do que muitas outras linguagens.
• Embora estruturalmente simples (poucas funções intrínsecas) o C não
perde funcionalidade pois permite a inclusão de uma farta quantidade
de rotinas do usuário. Os fabricantes de compiladores fornecem uma
ampla variedade de rotinas pré-compiladas em bibliotecas.

Professor: Edson Pires da Silva folha: 14


• História da Linguagem C/C++
• 1970: Denis Ritchie desenha uma linguagem a partir do BCPL nos
laboratórios da Bell Telephones, Inc. Chama a linguagem de B.
• 1978: Brian Kerningham junta-se a Ritchie para aprimorar a
linguagem. A nova versão chama-se C. Pelas suas características de
portabilidade e estruturação já se torna popular entre os
programadores.
• 1980: A linguagem é padronizada pelo American National Standard
Institute: surge o ANSI C.
• 1990: A Borland International Co, fabricante de compiladores
profissionais escolhe o C e o Pascal como linguagens de trabalho para
o seu Integrated Development Enviroment (Ambiente Integrado de
Desenvolvimento): surge o Turbo C.
• 1992: O C se torna ponto de concordância entre teóricos do
desenvolvimento da teoria de Object Oriented Programming
(programação orientada a objetos): surge o C++.

Professor: Edson Pires da Silva folha: 15


• Operações Básicas em programação
Os programas de computador variam amplamente em termos de
propósito, estilo e complexidade. Entretanto, quase todos eles consistem
em três fases:
– descrição, coleta e armazenamento de informações (dados);
– processamento dos dados para atingir o resultado esperado;
– mostra e/ou armazenamento dos resultados.
Exemplo:
#include <stdio.h>
float a,b,med;
void main ( ){
printf (“Digite dois números:”);
scanf (“%f%f”,&a,&b);
med=(a+b)/2.0
printf (“\n A média destes números é: %f”,med);}

Professor: Edson Pires da Silva folha: 16


• Constantes em C++
• O C++ tem quatro tipos básicos de constantes: inteiras, de ponto
flutuante, caracteres e strings.
• Constantes inteiras r de ponto flutuante representam números de um
modo geral.
• Caracteres e strings representam letras e agrupamentos de letras
(palavras) respectivamente.
Exemplos:
Constantes inteiras são números de valor inteiro. Estes números
podem ser escritos no formato decimal (base 10), hexadecimal (base
16) ou octal (base 8). Exemplos:
Decimal 0 3 -45 26338 -75891010
Hexadecimal 0x0 0x3 0x4F5A 0xABCD 0xAaFf
Octal 00 03 0101 045 07575

Professor: Edson Pires da Silva folha: 17


• Constantes em C++
• Constantes de ponto flutuante são números reais representados em
base 10, por números com um ponto decimal e (opcionalmente) um
expoente. Exemplo:
314. 3.14e2 +3.14e+2 31.4e1

• Constante de caractere é uma letra ou um símbolo colocado entre


aspas simples (apóstrofos). Exemplo:
‘a’ ‘b’ ‘X’ ‘&’ ‘{‘ ‘‘

• Constante string é um conjunto de caracteres colocados entre aspas


duplas. Incluem os caracteres do padrão ASCII e ASCII estendido (é,
ã, ç, ü, ... ). Exemplo:
“Oba!” “Belo Horizonte” “João Pereira” “a” “su23p”

Professor: Edson Pires da Silva folha: 18

You might also like