Buscar

INTRPROG-Aula04

Prévia do material em texto

Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
 
Lógica de Programação 
Linguagem C 
 
 
 
 
As informações contidas neste documento estão sujeitas a alterações sem 
prévio aviso. As empresas, os nomes de pessoas e os dados aqui mencionados 
são fictícios, salvo indicação em contrário. Nenhuma parte deste documento 
pode ser reproduzida ou transmitida em qualquer forma ou por qualquer meio, 
eletrônico ou mecânico, para qualquer propósito, sem a permissão expressa, 
por escrito, de Eduardo Silvestri Ribeiro. 
 
 
 
 
 
 
Eduardo Silvestri Ribeiro. 
www.eduardosilvestri.com.br 
silvestri@eduardosilvestri.com.br 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
ÍNDICE 
ÍNDICE ........................................................................................... 2 
ALGORITMO .................................................................................... 3 
Introdução.................................................................................... 3 
Definições de Algoritmo .................................................................. 3 
Linguagem C ................................................................................... 4 
Introdução.................................................................................... 4 
Estrutura básica de um programa em “C”............................................. 5 
Palavras Reservadas....................................................................... 5 
Tipos Básicos de dados ................................................................... 6 
Identificadores .............................................................................. 6 
Variável........................................................................................ 6 
Inicialização de variáveis................................................................. 7 
Operadores ..................................................................................... 7 
FUNÇÕES DE ENTRADA E SAÍDA ......................................................... 9 
Comandos de Formato.................................................................... 9 
Função de SAÍDA - printf ................................................................ 9 
Constantes Barra Invertida.............................................................10 
Função de ENTRADA - scanf ...........................................................10 
Comandos de Seleção .....................................................................12 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
ALGORITMO 
 
 
Introdução 
 
O computador é capaz de coletar informações, processar e nos fornecer um 
resultado com extrema rapidez e eficiência, mas não passam de máquinas 
de inteligência restrita, para isto é necessário que o homem desenvolva os 
programas, softwares capazes de nos fornecer estes resultados. Uma das 
etapas fundamentais para o desenvolvimento dos softwares é a construção 
de Algoritmo. 
 
 
Definições de Algoritmo 
 
- Processo de cálculo, ou de resolução de um grupo de problemas semelhantes, em que 
se estipulam, com generalidade e sem restrições, regras formais para a obtenção do 
resultado, ou da solução do problema (Aurélio). 
- Conjunto predeterminado e bem definido de regras e processos destinados à solução 
de um problema, com um número finito de etapas (Aurélio). 
 
- Uma seqüência de operações que devem ser executadas ordenadamente de forma não-
ambígua com o objetivo de resolver um determinado problema. 
 
Por definição verificamos que algoritmo não se aplica apenas a informática, pode ser 
caracterizado tanto para uma receita de bolo quanto para montagens Industriais. 
 
 Usamos algoritmos em procedimentos humanos diariamente. 
 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
LINGUAGEM C 
 
 
Introdução 
 
 A linguagem “C” foi criada na década de 70 por Dennis M. Ritchie a partir de 
uma outra linguagem: o “B”, criada por Ken Thompson. O “B”, por sua vez, veio da 
linguagem BCPL, inventada por Martin Richards. 
 
 A linguagem “C” tornou-se muito importante e popular por possuir tanto 
características de “alto nível” quanto de “baixo nível” sendo considerada uma 
linguagem de programação de “nível médio“. Outra característica muito importante é 
ser portável, isto é, poder ser usada em várias máquinas de portes e sistemas 
operacionais diferentes. 
 
 A linguagem “C” possui a vantagem se ser estruturada e compilada sendo 
bastante usada para construção de sistemas operacionais, planilha eletrônica, 
interpretadores, editores de texto, compiladores, etc. 
 
 Com a evolução dos microcomputadores surgiram várias versões de 
compiladores “C” havendo a necessidade de padronização, formalizada pela ANSI. 
 
 Para termos uma noção de utilização, foi divulgado pela Microsoft que mais de 
95% dos sistemas operacionais desenvolvidos por ela (Windows), é utilizado a 
linguagem C. 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
ESTRUTURA BÁSICA DE UM PROGRAMA EM “C” 
 
 Um programa em “C” consiste em uma ou mais funções, sendo que a única 
função que necessariamente precisa estar presente é a denominada main() (principal), 
que é a primeira função a ser executada quando o programa se inicia. 
 
main( ) 
{ 
// corpo da função. 
} 
 
Os parênteses após a palavra “main ( )”, indica que é uma função. O 
nome das demais funções desenvolvidas em C, pode ser qualquer um, 
menos “main” ou palavras reservadas da linguagem. 
 
O código que estiver dentro das chaves será executado seqüencialmente quando 
a função for chamada. Cada bloco de instruções deve ser colocado entre chaves e 
podem ser alinhados uns dentro dos outros. 
 
A linguagem “C” é “Case Sensitive”, isto é, maiúsculas e minúsculas fazem 
diferença. 
 
Os comentários e as observações do programa podem aparecer em 
qualquer lugar desde que colocados entre os delimitadores 
 
/* comentário */ 
 
ou 
 
// comentário. 
 
Em “C” as instruções são sempre encerradas por “; “. 
 
 
Palavras Reservadas 
 
São palavras que têm significado especial na linguagem. Cada palavra quer dizer 
alguma coisa e em C as instruções são executadas através do uso de palavras chaves 
previamente determinadas que chamaremos de palavras reservadas. A priori, elas não 
poderão ser usadas para outras coisas, alem do determinado para o C. 
 
Abaixo está a lista dessas palavras. Relembrando, o C entende, tais 
palavras apenas em letras minúsculas (não funcionará se você colocar em 
maiúsculas). 
auto, break, case, char, continue, default, do, double, else, entry, 
extern, float, for, goto, if, int, long, register, return, short, sizeof, 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
static, struct, switch, typedef, union, unsigned, while, enum, void, 
const, signed, volatile. 
 
 
Tipos Básicos de dados 
 
 
Tipo Bit Byte Escala 
Char 8 1 -128 a 127 
Int 16 2 -32768 a 32767 
Float 32 4 3.4E-38 a 3.4E+38 
Double 64 8 1.7E-308 a 1.7E+308 
Void 0 0 sem valor 
 
 
Identificadores 
 São usados para dar nomes às variáveis, constantes, tipos e ou funções. Para a 
criação desses identificadores deverão ser consideradas as informações a seguir: 
 
 
? ? Podem ser formados por letras, números ou sublinhado(_); 
? ? Tem que começar por letra ou sublinhado; 
? ? Letras maiúsculas e minúsculas são caracteres distintos; 
? ? Não podem ser palavras reservadas; 
? ? Podem conter qualquer tamanho porém somente os 31 primeiros 
caracteres são significativos. 
 
Variável 
 É um espaço reservado de memória com um nome, que é usada para armazenar 
uma informação de um tipo específico e que pode ser modificada pelo programa. É a 
união de umtipo a um identificador. 
 
 Forma Geral : 
 tipo Identificador; 
 
 Exemplo:- int a,b,d; 
 float x,y; 
 int w; 
 
 
EXERCÍCIOS 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
1) O que é uma variável? 
2) Declare duas variáveis inteiras de nome w e z? 
3) Declare uma variável para armazenar a nota de um aluno. 
4) Quais das variáveis seguintes são inválidas: 
 3ant 
 %12 
 _vri 
 Ab_1v 
 0abc 
 
 
Inicialização de variáveis 
As variáveis em C, em geral, não são necessariamente zeradas 
quando são declaradas. Vamos pensar, as variáveis são pedaços de 
memória, quando resolvo declarar alguma variável, estamos associando um 
nome com um pedaço da memória. 
Este pedaço de memória pode estar sujo, ou algo assim, e acaba 
interferindo no que vou utilizar numa variável que seria "limpa". Por isso, 
torne uma prática dar valores (iniciar) as variáveis antes de utilizá-las. 
Podemos fazer isso de duas formas, inicializando ao declará-las, 
assim: 
Exemplo: 
int i = 0; 
float j = 2.0; 
Ou podemos: 
int i; 
float j; 
i = 0 ; 
j = 2.0 ; 
 
 
OPERADORES 
 
 
Atribuição 
O símbolo utilizado para atribuição é o igual (=). 
 
Forma Geral: 
variável = expressão; 
 
Exemplo: 
 
x = 2; 
Sexo = ‘F’; 
Total = (a*b)/100; 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
Aritméticos: 
 
- subtração 
+ adição 
* multiplicação 
/ divisão /* quando a divisão for inteira o dado é truncado */ 
% resto da divisão de números inteiros 
++ incremento de 1 /* equivale x=x+1 */ 
-- decremento de 1 /* equivale x=x-1 */ 
 
Exemplo: 
 
X = 9; 
Y = 4; 
Z=X%Y; 
 
Resultado é Z=1 
 
 
Relacionais: 
 
> maior que 
< menor que 
>= maior ou igual 
<= menor ou igual 
== igual 
!= diferente 
 
Lógicos: 
 
&& (e) 
|| (ou) 
! (não) 
 
Precedência dos Operadores 
 
 maior ! ++ -- 
 * / % 
 + - 
 < > <= >= 
 == != 
 && 
 | | 
 menor = 
 
Os operadores do mesmo nível de precedência são avaliados pelo compilador da 
esquerda para a direita. Os parênteses podem ser usados para alterar a ordem. 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
Em C, VERDADEIRO é qualquer valor diferente de zero e o FALSO=0. As 
expressões que usam operadores relacionais ou lógicos devolvem zero para falso e 1 
para verdadeiro. 
OBS: Valores negativos são considerados como Verdadeiros 
 
 
FUNÇÕES DE ENTRADA E SAÍDA 
 
Comandos de Formato 
 
 São constantes que definem o tipo e o formato dos dados a serem exibidos e 
lidos. 
 
 
Comando Formato 
%c Caracter 
%d Inteiros 
%f ponto flutuante 
%s String 
%x Hexadecimal 
%lf Double 
 
 
Função de SAÍDA - printf 
 
 A função printf serve para exibir uma informação no vídeo e possui a seguinte 
estrutura: 
 
 Forma Geral: 
 
 printf(“expressão de controle”, argumentos); 
 
A maneira mais simples de imprimir algo é: 
 
printf("algum texto aqui!"); 
 
Caso você não queira imprimir uma coisa fixa, um texto, mas sim 
algo que varie durante a execução de um programa, digamos uma variável. 
Chamemos de controladores de seqüência os caracteres especiais que 
significarão as variáveis que serão impressas pela função. O lugar onde o 
controlador for colocado é o lugar onde a variável será impressa. Por 
exemplo, caso queiramos imprimir um inteiro. 
printf ("O inteiro vale: %d, legal!", algum_inteiro); 
A saída será: 
O inteiro vale: 10, legal! 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
 
Exemplo: 
 
int i=4; 
float j=5.5; 
 
printf(“%d\n”, i); 
 
printf(“Este numero e inteiro: %d e este e real: %f”, i , j ); 
 
 
Resultado: 
4 
Este número é inteiro: 4 e este é real: 5.5 
 
 
Constantes Barra Invertida 
 
 São utilizadas para controlar a exibição de dados na tela e na impressora. 
 
 CÓDIGO SIGNIFICADO 
 
 \n nova linha (line feed) 
 \b retrocesso (backspace) 
 \t tabulação horizontal 
 \v tabulação vertical 
 \a alerta(beep) 
 \” para exibir aspas 
 \\ para exibir barra invertida 
 \f salto de folha (form fee) 
 \r retorna ao início da linha (return) 
 \0 nulo 
 
Imprimir um texto na tela com quebra de linha (\n: pular para a próxima linha): 
 
printf("texto na tela com quebra de linha \n Próxima linha "); 
 
 
Função de ENTRADA - scanf 
 
A função scanf() é outra das funções de E/S implementadas em todos os 
compiladores C. Ela é o complemento de printf() e nos permite ler dados formatados da 
entrada padrão (teclado). 
Assim como o printf, o scanf também funciona a base de %d, %f e 
%c. O scanf serve para pegar algo digitado do teclado. 
 
 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
Forma Geral: 
 
 scanf(“expressão de controle”, argumentos); 
 
A lista de argumentos deve consistir nos endereços das variáveis. O “C” oferece 
um operador para tipos básicos chamado operador de endereço e referenciado pelo 
símbolo & que retorna o endereço da variável. Na função scanf() cada nome de variável 
deve ser precedida por um E-comercial (&). 
 
Exemplo: O programa exibirá o valor digitado pelo usuário. 
void main() 
{ 
 int valor; 
 scanf("%d",&valor); 
 printf("Você digitou: %d\n",valor); 
} 
 
Exemplo: O programa a seguir exibe a idade em dias de uma pessoa. 
void main() 
{ 
 int anos, dias; 
 
 printf(“Digite sua idade em anos: “); 
 scanf(“%d”,&anos); 
 
 dias = anos*365; 
 
 printf(“Sua idade em dias é %.d\n”,dias); 
} 
 
Resultado: 
Digite sua idade em anos: 4 
Sua idade em dias é 1460 
 
 
 
EXERCÍCIOS 
1) Crie um programa para ler uma temperatura em graus fahrenheit e convertê-la 
para graus Celsius. (TF-32) * 5/9 
2) Crie um programa que leia 2 números inteiros e exiba o resultado da 
multiplicação dos números. 
 
 
 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
 
COMANDOS DE SELEÇÃO 
 
 Sua finalidade, é verificar se uma condição é "verdadeira", e caso seja, então 
executar determinada tarefa. 
 
Forma Geral:- 
 
if (expressão) 
{ 
 Comandos; 
 . 
 . 
 . 
} 
 
 
O comando if representa uma tomada de decisão que será resultado da expressão. Se o 
resultado for diferente de zero (VERDADEIRO) os Comandos serão executados, caso 
contrário, resultado igual a zero (FALSO), o programa continua após o fechamento da 
chave do comando if. 
 
Para delimitar blocos de comandos utiliza-se { }. 
 
Exemplo: 
void main() 
{ 
 int Nota = 5; 
 
 if (Nota > 7) 
 { 
 printf("O aluno foi aprovado"); 
 } 
} 
 
 
Podemos ainda usar o termo else (traduz-se para: senão) ao final do if caso a expressão 
seja falsa, para executar outra tarefa. Exemplo: 
 
Professor Eduardo Silvestri Ribeiro. 
silvestri@eduardosilvestri.com.br 
www.eduardosilvestri.com.br 
 
Exemplo: 
void main() 
{ 
 int x=10; 
 int y=2; 
 
 if (x>y) 
 { 
 printf("x maior que y"); 
 } 
 else 
 { 
 printf("x menor que y"); 
 } 
} 
 
Traduzindo: 
se x maior que y 
 imprima na tela "x maior que y" 
senão 
 imprima na tela "x menor que y". 
 
Somente serão executados os comando dentro do ELSE se não forem 
executados os comando do IF, isto é, caso o IF seja verdadeiro não 
entrará no ELSE caso o IF seja falso os comandos do ELSE serão 
executados. 
 
EXERCÍCIOS 
1) Escreva um programa para calcular a media de um aluno. Regra (P1 + P2) / 2. 
2) Escreva um programa que verifique se um número é par ou impar. 
3) Escreva um programa que verifique se um aluno foi aprovado ou não na 
universidade. 
4) Escreva um programa para informar o dia de rodízio do carro, deverá ser lido a 
placa do carro contendo somente os números.5) Escreva um programa para determinar a media da nota dos alunos da sala. Obs: 
A sala contém 5 alunos.

Continue navegando