Buscar

Aula 2 - PRIMEIROS PASSOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 43 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

PROGRAMAÇÃO II 
AULA 2 – PRIMEIROS PASSOS 
 
 
 
 
 
 
 
CIÊNCIA DA COMPUTAÇÃO 
 
SÚMARIO 
O Histórico da linguagem C; 
O ambiente de 
desenvolvimento; 
A programação em C; 
2 
HISTÓRIA DO C 
 O C foi desenvolvido a partir de duas linguagens 
anteriores: 
 BCPL (1967 – Martin Richards); 
 B (1970 – Ken Thonpson); 
 
 Linguagens “typeless”; 
 
 A linguagem C foi desenvolvida a partir do B! 
 Amplamente conhecida como a linguagem de 
desenvolvimento do sistema operacional UNIX; 
 Disponível para a maioria dos computadores; 
 Independe do hardware; 
 
3 
HISTÓRIA DO C 
 Permitiu a escrita de um sistema operacional, utilizando 
uma linguagem de relativo alto nível! 
 
 Devido às suas capacidades divulgadas através da criação 
de um sistema operacional, a linguagem disseminou-se e 
tornou-se conhecida por todos os tipos de programadores 
 Marco importante: O Livro“The C Programming Language” de 
Kernighan & Ritchie; 
 
 A expansão do C  várias variantes da linguagem  Problema 
sério! 
 Incompatibilidade entre diferentes plataformas; 
 Ficou claro que era necessário uma versão padrão do C; 
 
 Em 1983, o American National Standards Institute (ANSI) 
formou um comité para a definição de um padrão para 
linguagem C; 
 C ANSI; 
 
 
4 
RAZÕES PARA PROGRAMAR EM C 
 A maior parte das linguagens tem um objetivo a 
atingir 
 COBOL: Processamento de Registros; 
 PASCAL: Ensino de técnicas de programação; 
 FORTRAN: Cálculo Científico; 
 LISP e PROLOG – Vocacionais para as áreas de 
Inteligência Artificial; 
 ... 
 Quanto ao C, qual área de desenvolvimento a que 
se destina? 
 
 O C é uma linguagem extremamente potente e 
flexível! 
5 
RAZÕES PARA PROGRAMAR EM C 
 Rapidez: Consegue obter performances semelhantes 
às obtidas pelo Assembly; 
 
 Simplicidade: A sua sintaxe é extremamente 
simples e o número de palavras reservadas, tipos de 
dados básicos e operadores é diminuto; 
 
 Portabilidade: Padrão (ANSI); 
 
 Popular: È internacionalmente conhecida; 
 
 Modular: Permite o desenvolvimento modular das 
aplicações; 6 
RAZÕES PARA PROGRAMAR EM C 
 Alto Nível: O C é considerada uma linguagem de 
3ª geração, de alto nível se comparado com 
Assembly 
 Contudo, o C permite ainda o acesso à maior parte 
das funcionalidades do Assembly; 
 Evolução: O C é uma linguagem 
particularmente estável; 
 A evolução das linguagens, fez com que também o C 
evoluísse no sentido das linguagens Orientadas a 
objetos  Linguagem C++ 
 Mantém a sintaxe da linguagem C e permite um conjunto 
adicional de características (encapsulamento, polimorfismo, 
etc...); 
 JAVA 
 
7 
COMPILADORES C 
 Existem diversos compiladores C/C++ disponíveis 
para os programadores. A decisão sobre qual 
utilizar pode ser baseada em vários fatores, como 
por exemplo: 
 Qualidade do Compilador  é rápido, está 
padronizados de acordo com a linguagem, a interface 
é agradável – possui ou não uma IDE, possui diversas 
opções de compilação; 
 Sistema Operacional; 
 Custo do compilador; 
 Documentação disponível e suporte; 
8 
COMPILADORES C 
 Compilador DEV-C++ 
 Free; 
 Windows (O mais recomendado); 
 IDE respeitável (editor, compilador e debug integrados); 
 Compilador GCC (GNU Compiler Collection) 
 Compilador padrão do sistema operacional linux; 
 Compilador utilizado para no desenvolvimento do próprio 
sistema operacional e de todas ferramentas nele disponíveis 
(compilador „nativo‟ do linux); 
 Compilador C++ Builder 
 Compilador da Borland; 
 Pago; 9 
•IDE LINUX 
• Geany 
• Anjuta 
 
COMPILADORES C 
 Compilador Turbo C Borland; 
 Roda no MS-DOS; 
 Um dos mais antigos; 
 Muito simples, contudo funciona perfeitamente para as 
várias versões do Windows; 
 Gratis; 
 Compilador Visual C# 
 Microsoft; 
 Possui um bom número de usuários; 
 http://www.microsoft.com/brasil/msdn/csharp/default.m
spx 
 Com relação aos compiladores: todos os 
compiladores que podem compilar programas 
C++ também podem compilar programas C. 
 
 
10 
INSTALANDO O DEV C++ 
 Baixe a versão completa, que vem com 
o compilador  http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-
C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download 
 
 
 
 
 Padrão Windows de instalação 
 Next  Next Next  Finish 
 
 Primeira utilização, é necessária uma pequena 
configuração (Idioma: Portugués) 
11 
DEV C++ INICIANDO 
12 
PROGRAMANDO......... 
 
 
 
 
 
 Crie um novo projeto! 
 Novo Projeto  Console Application, Nome do Projeto, 
Selecionar Projeto C 
13 
 O C É “CASE SENSITIVE” 
 MAIÚSCULAS e minúsculas fazem 
diferença!!!!!!! 
 soma <> Soma <> sOma <> somA; 
 Comandos também, for <> FOR* 
PRIMEIRO PROGRAMA – ANALISANDO 
14 
Erro Comum  Usar letra maiúscula onde devia ser 
usada uma letra minúscula (Ex: Main em vez de main); 
system(“PAUSE”); 
ANALISANDO O CÓDIGO 
 IMPORTANTE: Quando fazemos um programa, 
uma boa idéia é usar comentários que ajudem a 
elucidar o funcionamento do mesmo; 
 /* */; 
 //; 
 
 A linha #include<stdio.h> 
 Incluir o arquivo cabeçalho stdio.h; 
 Incluir sempre que necessário; 
 O C tem vários Arquivos cabeçalhos; 
 
 A linha int main()  função com o nome main 
15 
 
ANALISANDO O CÓDIGO 
 A única coisa que o programa realmente faz é 
chamar o printf(); 
 Passando a string a ser impressa na tela! 
 include <stdio.h>; 
 \n  constante de \ invertida; 
 
 return(0); 
 
 Os comandos em C terminam com ; 16 
17 
PRÁTICAS RECOMENDÁVEIS DE 
PROGRAMAÇÃO 
 Todos os programas devem ser iniciados com um 
comentário que apresenta o autor, a descrição do 
programa e a data. Todas as funções devem ser 
precedidas por um comentário descrevendo seu objetivo; 
 
 Faça um recuo de um nível (três espaços) em todo o texto 
(corpo) de cada função dentro das chaves que a definem. 
Isto ressalta a estrutura funcional do programa; 
 
 Determine uma convenção para o tamanho de recuo 
preferido e então o aplique-a uniformemente; 
 
 Não deve haver mais de uma instrução por linha; 
SEGUNDO PROGRAMA 
18 
ANALISANDO CÓDIGO 
 Declaração de variáveis; 
 
 printf(); 
 
 Ler um dado fornecido pelo usuário e colocá-lo na 
variável inteira Dias; 
 scanf()  “%d” Ler um inteiro; 
 Importância do &; 
 
 Expressão matemática simples 
19 
EXERCÍCIOS 
 O que faz o seguinte programa? Ele funciona? Se 
existir, onde está o erro? 
 
 
 
 
 
 
 
 
 
 Compile e execute o programa desta página; 
20 
INTRODUÇÃO A FUNÇÕES 
 Função é um bloco de código de programa que 
pode ser usado diversas vezes em sua execução. 
 
 
 O uso de funções permite que o programa fique 
mais legível, mais bem estruturado. 
 
 
 Um programa em C consiste, no fundo, em várias 
funções colocadas juntas. 
21 
INTRODUÇÃO A FUNÇÕES 
 
 
 
 
 
 
 
 Função mensagem(); 
 
 A principal diferença da função main(); 
22 
INTRODUÇÃO ÀS FUNÇÕES 
ARGUMENTOS 
 Argumentos são as entradas que função recebe 
 Passagens de parâmetros; 
 Ex: printf() e scanf(); 
 
 
23 
INTRODUÇÃO ÀS FUNÇÕES 
ARGUMENTOS 
 square() receberá um inteiro x; 
 
 Satisfazer aos requisitos da função; 
 
 O nome da variável que se passa como argumento 
não é importante; 
 num se transformará em variável x; 
 Mudança de valor em x não reflete mudança de valor 
em num; 
 Agora um exemplo de função com mais de uma 
variável. 
 Argumentos são separados por virgula; 
 Constantes podem ser passadas como parâmetros; 
 
24 
INTRODUÇÃO ÀS FUNÇÕES 
RETORNANDO VALORES 
 Especificar o tipo de retorno e utilizar a palavra 
reservada return; 
 
 E se não especificarmos o tipo de retorno de uma 
função?  Inteiro  Não é uma boa prática 
 
 No main() o retorno será sempre inteiro; 
 Retorno 0  :) 
 
 Um exemplo de função com retorno;25 
tipo_de_retorno nome_da_função(lista_de_argumentos) 
26 
INTRODUÇÃO ÀS FUNÇÕES 
FORMA GERAL 
 
EXERCÍCIOS 
• Escreva uma função que some dois inteiros 
informados pelo usuário e retorne o valor da soma; 
INTRODUÇÃO BÁSICA ÁS E/S 
CARACTERES 
 Tipo de dado: char 
 O C trata os caracteres („a‟, „b‟,‟c‟,...) como sendo 
variáveis de um byte (8 bits); 
 Para indicar um caractere de texto usamos 
apóstrofes; 
 Veja um exemplo de programa; 
 
 Observe a utilização do %c; 
 
 
 Char também é usado para armazenar um inteiro 
 Código ASCII; 
27 
INTRODUÇÃO BÁSICA ÁS E/S 
GETCH GETCHE 
 Muitas vezes queremos ler um caractere 
fornecido pelo usuário. 
 Getch() 
 Getche() Imprime o caractere em tela; 
 Somente em DOS; 
 #include <conio.h>; 
 
 
 
 
 
 
 
 Diferença entre a utilização do getche() e do getch; 
28 
INTRODUÇÃO BÁSICA ÁS E/S 
STRINGS 
 No C uma string é um vetor de caracteres 
terminado com um caractere nulo; 
 
 Terminador nulo  „\0‟; 
 
 Para declarar um string usamos o seguinte 
formato geral: 
 
 
 Declarar com o comprimento mínimo + 1  „\0‟; 
29 
INTRODUÇÃO BÁSICA ÁS E/S 
STRINGS 
 
 
 Duas célula não são usadas; 
 
 Ler string fornecida pelo usuário  gets(). 
 A função gets() coloca o terminador nulo; 
30 
 MAX 99 
caracteres; 
 “Indexarmos” 
str[1] = „a‟; 
 Segunda letra; 
INTRODUÇÃO BÁSICA ÁS E/S 
STRINGS 
 Na linguagem C, o índice começa em 0. 
 Primeira letra de uma string está sempre na posição 
0; 
31 
 
 
 
 Terminador nulo pos 4; 
 
 Inicialização de string 
 Str[10] = “Joao”; 
 String constante “ ”; 
 
 %s coloca uma string na tela; 
INTRODUÇÃO BÁSICA ÁS E/S 
PRINTF 
 Tem a seguinte forma geral: 
 
 
 Na string de controle, temos uma descrição de 
tudo que a função vai colocar na tela; 
 Caracteres 
 Quais variáveis e suas respectivas posições. Códigos 
de controle  %; 
 
 Para cada código de controle 
 uma entrada na lista de arg; 
 
32 
INTRODUÇÃO BÁSICA ÁS E/S 
PRINTF 
 Veja alguns exemplos de printf() 
 
 printf(“Teste %% %%”); 
 
 printf(“%f”,40.345); 
 
 printf(“Um caractere %c e um inteiro %d”, „D‟, 120); 
 
 printf(“%s e um exemplo”, “Este”); 
 
 printf(“%s%d%%”, “Juros de “, 10); 
33 
Erro Comum. Preceder uma variável, 
incluída em uma instrução printf, de um &; 
INTRODUÇÃO BÁSICA ÁS E/S 
PRINTF 
 Veja alguns exemplos de printf() 
 
 printf(“Teste %% %%”);  “Teste % %”; 
 
 printf(“%f”,40.345);  “40.345”; 
 
 printf(“Um caractere %c e um inteiro %d”, „D‟, 120); 
 “Um caractere D e um inteiro 120”; 
 
 printf(“%s e um exemplo”, “Este”);  Este e um 
exemplo”; 
 
 printf(“%s%d%%”, “Juros de “, 10);  “Juros de 10%” 34 
INTRODUÇÃO BÁSICA ÁS E/S 
SCANF 
 Formato geral da função scanf() é: 
 
 
 Pedir dados ao usuário; 
 Nunca esquecer de colocar & antes das variáveis da 
lista de argumentos; 
 
 EXERCÍCIOS 
 Escreva um programa que leia um inteiro digitado pelo 
usuário, imprima o inteiro digitado e também seu valor 
como caractere ASCII correspondente; 
 Escreva um programa que leia duas strings. Imprima as 
duas strings, porém as cinco primeiras posições devem 
ser trocadas entre as strings; 
35 
ALGUNS COMANDOS DE CONTROLE 
DE FLUXO - IF 
 Comando de controle de fluxo  permitem ao 
programador alterar a sequência de execução do 
programa; 
 
 IF  tomada de decisão  SE isto ENTÃO aquilo 
 
 
 If (expressão) Se resultado igual a 0, 
declaração não será executada; 
 != de zero declaração é executada; 
 
 Código exemplo 
36 
ALGUNS COMANDOS DE CONTROLE 
DE FLUXO - IF 
 If com um comando e if com mais de um 
comando; 
 { } bloco de código; 
 
 Para testar igualdade utilizamos == e não =; 
 O operador = representa apenas uma atribuição; 
 
 If(num = 10) { bloco de código} ERRADO!!!!!!! 
 
 Os operadores de comparação são: == (igual), != 
(deferente), >(maior que), <(menor que), >=(maior 
igual), <=(menor igual). 
37 
Erro de sintaxe, se !=, >= e <= 
forem invertidos; 
ALGUNS COMANDOS DE CONTROLE 
DE FLUXO - FOR 
 Repetir um comando, ou bloco de comandos 
diversas vezes 
 
 Sua forma geral é 
 
 
 A declaração pode ser um bloco ({ }) ou somente 
um comando. 
 
 Como um for funciona: 
38 
ALGUNS COMANDOS DE CONTROLE 
DE FLUXO - FOR 
 
 O for sempre executa a inicialização 
incondicionalmente e testa a condição. 
 Caso seja verdadeira, executará a declaração, o 
incremento e volta a testar a condição; 
 
 Exemplo 1. Um programa que coloca os primeiros 
100 números na tela; 
 Exemplo 2. Um programa que lê uma string e 
conta quantos caracteres desta string são iguais a 
c; 
 Exemplo 3. Faça um programa que imprima o 
alfabeto: letras maiúsculas 
39 
PALAVRAS RESERVADAS DO C 
 Todas as linguagens têm palavras reservadas 
 Não devem ser utilizadas; 
 A não ser nos seus propósitos originais 
 
 Como o C é case-sensitive, podemos declara uma 
variável For (Mas não é recomendável); 
40 
PRÁTICAS RECOMENDÁVEIS DE 
PROGRAMAÇÃO 
 O último caractere impresso por uma função que 
realiza qualquer impressão deve ser uma nova linha 
\n; 
 
 Embora a inclusão de <stdio.h> seja opcional, ela 
deve ser feita em todos os programas em C que 
utilizam entrada e saída. Isto ajuda o compilador a 
encontrar erros; 
 
 Coloque espaço depois de cada virgula, para tornar o 
programa mais légivel; 
 
 Coloque espaços em ambos os lados de um operador. 
Isto faz com que o operador seja ressaltado 
41 
ERROS COMUNS DE PROGRAMAÇÃO 
 O cálculo de uma instrução de atribuição deve 
estar no lado direito do operador =; 
 
 
 Esquecer-se de uma ou ambas as aspas duplas 
em torno de uma string de controle de formato de 
printf ou scanf; 
 
 
 Erros não-fatais permitem que os programas seja 
executados até o final produzindo resultados 
incorretos (divisão por zero == erro fatal); 
42 
EXERCÍCIOS 
 Escreva um programa que leia uma String, conte 
quantos caracteres desta string são iguais a „a‟ e 
substitua os que forem iguais a „a‟ por „b‟. O 
programa deve imprimir o número de caractere 
modificados e a string modificada; 
 
 Escreva um programa que coloque os números 
pares de 1 a 1000 na tela em ordem inversa 
(começando em 1000 terminando em 1) 
43

Outros materiais