Baixe o app para aproveitar ainda mais
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.
Compartilhar