Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT0001 - Introdução à Programação Aula 07: Linguagem de Programação C Motivação Introdução Conceitos • Históricos • Evolução • Principais linguagens • Estrutura da linguagem • Diferença entre códigos • Exemplos de bibliotecas • Variáveis • Exemplo de algoritmos Agenda Linguagem de Programação C Introdução à Programação AULA 8: Estruturas de Repetição Histórico da Linguagem Linguagem C Histórico da linguagem C Linguagem de Programação C Introdução à Programação AULA 8: Estruturas de Repetição Como surgiu o C? É uma linguagem de programação compilada de propósito geral, estruturada, robusta, procedural, padronizada pela ISO, criada em 1972, por Dennis Ritchie, o propósito com a criação da linguagem era desenvolver o sistema Unix. 5 histórico da linguagem C Linguagem C Introdução à Programação AULA 8: Estruturas de Repetição Características C é uma linguagem de alto nível; e Permite a manipulação de bits, bytes e endereços: Linguagens de alto nível são independentes da arquitetura da máquina e fáceis de programar; Linguagens de baixo nível são dependentes da arquitetura da máquina (cada comando corresponde a uma instrução básica que o processador pode executar) e difíceis de programar; C combina elementos de uma linguagem de alto e baixo nível como Assembly. 6 histórico da linguagem C Linguagem C Introdução à Programação AULA 8: Estruturas de Repetição Características A principal característica de uma linguagem estruturada é a compartimentalização (divisão) de códigos e dados: É a habilidade de dividir o programa em sub-rotinas que empregam variáveis locais ou globais; O principal componente estrutural de C são as funções; 7 histórico da linguagem C Linguagem C Introdução à Programação AULA 8: Estruturas de Repetição Evolução: 8 histórico da linguagem C JavaC# PHP C++(1979) C (1972)Surgimento Evolução Derivação Python Introdução à Programação AULA 8: Estruturas de Repetição Evolução (cont.) 9 histórico da linguagem C C C++ C#-Python e Java Sem orientação a objeto Com orientação a objeto Com orientação a objeto Alto desempenho Alto desempenho Baixo desempenho Pouca portabilidade Pouca portabilidade Grande portabilidade Linguagem C Linguagens de Alto Nível • São linguagens de programação que utilizam notações matemáticas e grupos de palavras para representar as instruções de máquina (while, for, do while, switch). • Isto torna o processo de programação mais próximo do entendimento humano. • BASIC, Fortran, Cobol, C, Pascal, Java, etc Linguagem de Programação C Linguagens de Alto Nível • Muitas destas linguagens foram desenvolvidas para atender os problemas de áreas de aplicação específica. • Exemplo – linguagens para aplicações comerciais, científicas, administrativas, de ensino, etc. – Exemplo: - JAVA - PHP - PASCAL (IDE Delphi) - Android (Plataforma mobile) - Dentre outas. Linguagem de Programação C C comparado a outras linguagens • Alto Nível – Devemos entender como a capacidade da linguagem de compreender instruções em “dialetos” próximos ao Inglês – Ex: Ada e Pascal • Baixo Nível – Para aquelas linguagens que se aproximam do Assembly, que a linguagem própria da máquina ou linguagem de hardware. Linguagem de Programação C Compilação em C • C é uma linguagem compilada: – lê todo o código fonte e gera o código objeto (ling. de máquina) uma única vez. Assim, como a grande maioria das linguagens hoje são linguagens compiladas, ou seja , possuem seus proprios compiladores. Linguagem de Programação C Trechos de códigos em Assembly e C Linguagem de Programação C Conceitos e definições Linguagem de Programação C -Linguagem -Algoritmo -Lógica Introdução à Programação AULA 8: Estruturas de Repetição É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. É um método padronizado para enviar instruções para um computador. 16 O que é linguagem de programação? Linguagem C Conhecendo a estrutura básica em C Linguagem de Programação C Conhecendo a estrutura básica em C Um programa C consiste em uma ou várias funções. Os nomes programa função se confundem em C.Vamos começar pelo menor programa em C. # include <stdio.h>-- ---------------------→funções de entrada e saída em C. # include <stdLib.h>-- ---------------------→funções de entrada e saída em C. # include <conio.h >-- ---------------------→funções de controle em C. #include <math.h> -----------------------→ usa operações matemáticas. main () -------------------------→ função principal, identifica o programa. { } ------------------------→ abre/fecha estruturas de comando (main () ( ) ------------------------→ abre/fecha comandos específicos para as estruturas. ; ------------------------→ fecha uma linha de comando. Obs. Os parenteses após o nome indica que esta é uma função, onde o nome da função pode ser qualquer um com exceção da palavra reservada “main” sendo que toda função sempre inicia com abertura e fechamento de chave {...} Linguagem de Programação C Conhecendo a estrutura básica em C Um programa C consiste em uma ou várias funções. Int -------------------→ variaveis inteiras. float -------------------→ variaveis flutuantes (números fracionados). Char -------------------→caracteres. printf (" ") -------------------→ escreve o que você quiser entre os " ". printf (" \n") ------------------→ \n serve para quebrar uma linha. printf (" %x ", y) ----------------→ imprime valor da variavel y. scanf ("%x", &y) ------------------→ % onde x pode ser variáveis do tipo: int (%d), float (%f) ou, char (%c) e Y corresponde a variável que receberá o valor, essa, escolhida pelo usuário. Procedimentos que deverão ser obedecidos em caso de uso. Linguagem de Programação C Conhecendo a estrutura básica em C Linguagem de Programação C Detalhamento do Código #include<stdio.h> É uma biblioteca padrão de comandos, utilizada neste algoritmo por causa da função printf (de saída de dados) #include = incluir std = standart = padrão i = input = entrada o = output = saída #include<stdlib.h > é uma biblioteca que contém o comando de controle Ex: system(“pause”) int main() int main() está declarando uma função que retorna um valor do tipo inteiro int - tipo de dado inteiro de retorno main() nome de uma função principal Todo código em C deve ter a função main() e somente uma função main(), ela é a classe construtora do programa. { Indica o INÍCIO do programa Linguagem de Programação C Detalhamento do Código int a,b,c; Declara as variáveis do tipo inteiro a=4; = é o sinal de atribuição (como o <- no portugol) b=6; Atribui 6 à variável b c=a+b; Efetua a soma e atribui o resultado à variável c printf(“%d”,c); Equivale ao escreva do portugol A função printf não é defaul, ou seja, vem de uma biblioteca externa (stdio.h) e por isso não reconhece os dados trabalhados na função main(), portanto é necessário informar a ela o tipo do dado e onde ele será apresentado. Para sinalizar que o dado é inteiro usa “%d” ou o “%i”. system(“pause”); Insere uma pausa após a execução para se visualizar o resultado. Apresenta a mensagem “Pressione qualquer tecla para continuar …” } Indica o FIM do programaLinguagem de Programação C Comparativo entre Estruturas. Termos utilizados para o mesmo propósito, porem com sintaxe diferente. Linguagem de Programação C Comparativo entre Estruturas. Transposição do portugol para CEm portugol Em C VAR A,B,C: inteiro INICIO A<-4 B<-6 C<-A+B escreva (C) FIM #include<stdio.h> #include<stdlib.h> int main() { int a,b,c; a=4; b=6; c=a+b; printf("%d",c); system("pause"); } Linguagem de Programação C Exemplo de Programa C Linguagem de Programação C Exemplo de Programa C Algoritmo para encontra numeros Pares ou impares #include<stdio.h> #include<stdlib.h> int main() { int n; printf("Digiteum numero"); scanf("%d",&n); if(n%2==0) { printf("%d e par", n); } else { printf("%d e impar", n); } system("pause"); } O ponto e vírgula (;) tem a função de encerrar uma instrução e passar para outra. Observação : A estrutura if não possui (;) no final da linha de código. O comando é continuado na linha seguinte. A condição if( mod 2==0) % retornará o resto da divisão entre o n e 2, se for igual a zero , consequentimento será PAR. Se não será IMPAR = = verifica a igualdade de valores Linguagem de Programação C Constantes e Variáveis Linguagem de Programação C Constantes e Variáveis Exemplo 02 - Constantes /* Programa: Exemplo do uso de Constantes */ #define TAMANHO 4 main() { const char c = ‘c’; const int num = 10; int val = TAMANHO; } Linguagem de Programação C Declaração de variáveis Uma declaração de variáveis é uma instrução para reservar uma quantidade de memória apropriada para armazenar o tipo especifico daquela variavel em questão. O caso int, é o indicar que o seu conteúdo será referenciado pelo nome dado, neste caso num. Exemplos: int num, Float media, Char sexo, String endereco e etc. Linguagem de Programação C Tipos de Variáveis Ao desenvolvermos um algoritmo podemos trabalhar com vários tipos de variáveis, dependendo exigência da situação, abaixo alguns tipo comuns: Tipos de Variáveis Tipo Dominio Tamanho int inteiro 16 bits char caracter 8 bits float flutuante 32 bits doublo flutuante 64 bits String caracter 8 bits Linguagem de Programação C Código de formatação da função scanf( ) e printf( ) Tabela de representação da formação da função scanf(). Prof. Hilson Silva – Programação Estruturada 31 FORMAÇÃO DE FUNÇÃO CÓDIGO DESCRIÇÃO %c Lê um único caractere %d Lê um inteiro decimal %e Lê um numero em notação cientifica %f Lê um numero em ponto flutuante %o Lê um inteiro octal %s Lê uma serie de caracteres %x Lê um numero hexadecimal %u Lê um decimal sem sinal %l Lê um inteiro longo %lf Lê um double Inicialização de Variáveis È possivel combinar uma declaração de variável com o operador de atribuição para que a variável tenha um valor ao mesmo tempo de sua declaração; é o que chamaremos de inicialização de variável. Como exemplo o programa abaixo: Main ( ) { int evento=5; char corrida = ‘Maratona’; float tempo=27:25; printf(“O tempo vitorioso na eliminatoria %c da”, corrida); Printf(“\nda competição %d foi %f.”, evento, tempo); } Linguagem de Programação C Nomes de variáveis A escolha de nomes significativos para suas variáveis pode ajudá-lo a entender melhor o que o programa faz e prevenir possíveis erros. Uma variável não pode ter o mesmo nome de palavras reservadas (Chaves) em C. Em C letras minúsculas e maiúsculas são diferentes. ✓PESO; ✓PesO; ✓Peso; ✓PeSo; ✓peSo; Para C todas estas variáveis se tratam de variáveis diferentes. Observação : Em C os 8 primeiros caracteres são significativo, isto é: Altura_de_maria Altura_de_pedro, são consideradas a mesma variável. Linguagem de Programação C Case sensitive Algumas funções de biblioteca IDENTIFICADOR ARGUMENTOS O QUE RETORNA • fabs(x) double Valor absoluto do argumento x • acos(x) double Arco cujo valor do co-seno e o argumento x • asin(x) double Arco cujo valor do seno e o argumento x • atan(x) double Arco cujo valor da tangente e o argumento x • cos(x) double Co-seno do argumento x • log(x) double Logaritmo natural do argumento x • log10(x) double Logaritmo decimal do argumento x Linguagem de Programação C Algumas funções de biblioteca IDENTIFICADOR ARGUMENTOS O QUE RETORNA • pow(x, y) double, Argumento x elevado ao argumento y • pow10(x) int 10 elevado ao argumento x • random(x) int Um numero aleatorio entre 0 e x - 1 • sin(x) double Seno do argumento x • sqrt(x) double Raiz quadrada do argumento x • tan(x) double Tangente do argumento x • tolower(x) char Converte o caractere x para minusculo • toupper(x) char Converte o caractere x para maiusculo Linguagem de Programação C Explorando a Função de Saída printf( ) Linguagem de Programação C Exemplo de impressao de % #include <stdio.h> void main() { int reajuste = 10; printf(“O reajuste foi de %d%%\n”, reajuste); } • A saída será: O reajuste foi de 10% Linguagem de Programação C Tamanho de campos na impressão No momento de imprimir determinada campo pode limitá-lo no aspecto tamanho. Em printf ( ), podemos limitar o tamanho mínimo a impressão de campo. Main ( ) { printf (“Os alunos de Engenharia são %2d. \n”, 35); printf (“Os alunos de Engenharia são %3d. \n”, 35); printf (“Os alunos de Engenharia são %4d. \n”, 35); printf (“Os alunos de Engenharia são %10d. \n”, 35); } O resultado seria: Os alunos de Engenharia são 350. Os alunos de Engenharia são 350. Os alunos de Engenharia são 350. Os alunos de Engenharia são 350. Linguagem de Programação C Completando com zero a esquerda Além de especificar o tamanho do campo, podemos complementar o campo todo ou parte dele com zeros à esquerda. Observe: Main ( ) { printf (“\n%04d”, 21); printf (“\n%05d”, 21); printf (“\n%06d”, 21); printf(“\n %.2f”,1200.500000); } O resultado seria: 0021 00021 000021 1200.00 Linguagem de Programação C Imprimindo caracteres gráficos Como você provavelmente sabe, todo caractere (letra, digíto, caractere de pontuação etc...) é representado, no computador, por um número. O código ASCII dispõe de numermos de 0 a 127 (decimal) cobrindo letras, dígitos de 0 a 9 , com exceção dos computadores IBM, O exemplo abaixo mostra a impressão de caracter na montagem de uma moldura: Linguagem de Programação C Imprimindo caracteres gráficos Main ( ){ printf (“\xC9\xCD\xBB\n”); printf (“\xBA \xBA\n”); printf (“xC8\xCD\xBC\n”); } ✓ Resultado será: Linguagem de Programação C "═" //ALT+205 "╔ " //ALT+201 "╝" //ALT+188 "╗" //ALT+187 "║" //ALT+186 "╚" //ALT+200 Imprimindo caracteres gráficos Progama abaixa irá imprimir a figura a abaixo: #include <stdio.h> #include <stdlib.h> #include <conio.h> main(){ printf("Moldura\n"); printf ("\xC9\xCD\xCD\xCD\xBB\n"); printf ("\xBA\ \xBA\n"); printf ("\xC8\xCD\xCD\xCD\xBC\n"); printf("Desenhando Carro\n"); printf("\n\xDC\xDC\xDB\xDB\xDB\xDC\xDC "); printf("\n \xDF0\xDF\xDF\xDF\xDF0"); printf("\n\n\n"); printf("\n \xDC\xDC\xDB\xDB\xDB\xDB\xDB\xDB"); printf("\n \xDF0\xDF\xDF\xDF\xDF\xDF00\xDF "); printf("\n\n\n"); system("pause"); } O resultado esperado é: Linguagem de Programação C Implementações na linguagem C Na sua primeira versão C evoluiu, considerada uma linguagem de ideia progressiva. Abaixo alguns sistemas robustos que foram desenvolvidos em C: ✓ Planilhas eletrônicas ✓ Processadores de Textos ✓ Gerenciadores de Banco de dados ✓ Processadores Gráficos ✓ Sistemas de Transmissão de dados ✓ Atuação na física ✓ Sistema Operacional (Windows e outros) ✓ Dentre outros Linguagem de Programação C Linguagem C Linguagem de Programação C Linguagem C Proposta de trabalho complementar a prova AV1 Introdução à Programação AULA 8: Estruturas de Repetição Bibliografia Básica Introdução à Programação ANDRADE, Mairum Ceoldo. Algoritmos. Rio de Janeiro: SESES, 2014. ASCENCIO, A. F. G.; CAMPOS, E.e A. V. Fundamentos da programação de computadores: Algoritmos, Pascal, C/C++ e Java. 2. ed. São Paulo: Pearson Education, 2008. FORBELLONE, A.L. V; EBERSPACHER, H. Lógica de programação. 3. ed. São Paulo: Makron Books, 2005. Introdução à Programação AULA 8: Estruturas de Repetição Bibliografia Complementar Introdução à Programação MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para desenvolvimento de programação de computadores. 22. ed. São Paulo: Érica, 2009. DASGUPTA, Sanjoy; PAPADIMITRIOU, Christos; VAZIRANI,Umesh. Algoritmos. 1. ed. São Paulo: McGraw-Hill Brasil, 2009. FEOFILOFF, Paulo. Algoritmos em linguagem C. 1. ed. Rio de Janeiro: Campus, 2008. PUGA, S.; RISSETTI, G.. Lógica de programação e estrutura de dados: com aplicações em Java. 1. ed. São Paulo: Pearson Education, 2003. Introdução à Programação AULA 8: Estruturas de Repetição Sugestões de Livros Introdução à Programação
Compartilhar