Baixe o app para aproveitar ainda mais
Prévia do material em texto
APRESENTAÇÃO DA DISCIPLINA Apresentação do professor; Apresentação do Aluno; Disciplina e Avaliação; Contrato de sala de aula; Conceitos Introdutórios; Atividade introdutória. Slide 3 Nome: Guibson Santana E-mail: guibson7@outlook.com.br OneDrive: https://goo.gl/oxzLcf Facebook: facebook.com/guibson.santana WhatsApp: 81-991283620 20/02/2018 Slide 4 20/02/2018 Slide 5 NOME O QUE SEI? O QUE QUERO SABER? Soluções clássicas de problemas por meio de abstração utilizando conjuntos de dados, operações e representações de listas, pilhas, filas e árvores, apoiados em métodos e técnicas, tendo como subsídio uma linguagem de programação. 20/02/2018 Slide 6 Assiduidade; Pontualidade; Atividades práticas; Projetos; Participação nas aulas; Prova Objetiva; ... Obs: A forma de avaliação pode mudar durante o decorrer do semestre. FIQUE ATENTO!!! 20/02/2018 Slide 7 HORÁRIO - 19:00 – 21:50 (Por favor evite chegar ou sair fora do horário). INTERVALO - 20:00 – 20:20 (Por favor evite chegar ou sair fora do horário). USO DE SMARTPHONE - Silencioso; - Atender fora da sala; - Whatsapp usar apenas quando for muito necessário. MÍDIAS SOCIAIS - Criem o grupo da turma (caso já possuam, mandar para meu e-mail); - Me enviem uma mensagem no Whatsapp com o nome, a turma, curso e turno do representante e o vice (caso não possuam, vamos eleger alguém). - Evitem usar durante as aulas. CONVERSA PARALELA - Tudo há um tempo, então deixe para conversar na hora do intervalo, ou quando chegar, ou quando largar; - Respeitem seus amigos e o professor, não atrapalhe a aula. CARGA HORÁRIA - 66H ( Lembrem que vocês só podem faltar 25% deste total, mais do que isso podem ser reprovados ). 20/02/2018 Slide 8 ASCENCIO, Ana Fernanda Gomes; ARAÚJO, Graziela Santos. Estrutura de Dados: algoritmos, análise da complexidade e implementações em Java e C/C++. São Paulo. Pearson. 2010 PUGA, Sandra; RISSETTI, Gerson Lógica de Programação e Estruturas de Dados - Com Aplicações em Java - 3ª Ed. Pearson. 2010. TAMASSIA, Roberto; GOODRICH, Michael T., Estruturas de Dados e Algoritmos em Java [recurso eletrônico, Minha Biblioteca]. Porto Alegre: Grupo A, 2011. Slide 9 DEITEL, Paul & DEITEL, Harvey. C Como Programar. 6ª Edição. Pearson Prentice Hall, 2011. DEITEL, Paul; DEITEL, Harvey. Java, Como Programar [recurso eletrônico, Biblioteca Virtual Universitária 3.0]. 8ª ed. São Paulo : Pearson Prentice Hall Brasil, 2010. FORBELLIONE, André Luiz Villar. Logica de programação - A construção de algoritmos e estruturas de dados. 3ª Edição. São Paulo – Prentice Hall, 2005. ZIVIANI, Nivio. Projeto de Algoritmos: com implementações em JAVA e C++. Cengage Learning Editores, 03/2012. VELOSO, Paulo Augusto Silva et al. “ Estrutura de Dados ”. 15. ed. Rio de Janeiro: Campus, 1999. Slide 10 Estejam sempre de olho no ONEDRIVE, BLACKBOARD e nos GRUPOS da turma, pois é importante para o BOM DESENVOLVIMENTO da disciplina. Slide 11 Linguagem de programação A linguagem que trabalharemos para programar o que necessitamos é o C, linguagem estruturada antiga, mas ainda muito utilizada em diversas áreas. Exemplos: Programação de microcontroladores/ microprocessadores. Robôtica. Worms, Exploits e outros são criados em C. Slide 12 A origem da linguagem ◦ A linguagem de programação C foi originalmente projetada para ser implementada no sistema operacional UNIX. ◦ C é o resultado de um processo de desenvolvimento que começou com uma linguagem mais antiga, chamada BCPL. ◦ A linguagem BCPL influenciou uma linguagem chamada B, inventada por Ken Thompson. ◦ Na década de 70, B levou ao desenvolvimento da linguagem C. ◦ Com a popularidade dos microcomputadores, um grande número de implementações de C foi criada. ◦ Para remediar a falta de padrão da linguagem C, o ANSI (American National Standards Institute) estabeleceu, em 1983, um comitê para criar um padrão definitivo da linguagem C. 20/02/2018 Slide 13 Uma característica importante da linguagem C é que, diferentemente de algumas outras linguagens (por exemplo, Pascal), ela faz distinção entre letras maiúsculas e minúsculas. Isto significa, por exemplo, que duas variáveis com nomes: minhaVar e MinhaVar são diferentes. 20/02/2018 Slide 14 Conceitos básicos Palavras Chaves ou identificadores: Existem algumas palavras que já são utilizados pela própria linguagem C (por exemplo, while, for, if, ...) ou por bibliotecas de rotinas (por exemplo, abs, cos) e, portanto, não podem ser utilizadas pelo programador. 20/02/2018 Slide 15 Conceitos básicos Palavras Chaves ou identificadores: 20/02/2018 Slide 16 Conceitos básicos Comentários: //Este é um comentário de apenas uma linha /*Este é um comentário de mais de uma linha, assim você pode explicar melhor o código*/ 20/02/2018 Slide 17 Exemplo 01 #include <stdio.h> /* Imprime a mensagem Olá Mundo! na sua tela! */ int main() { printf (“Ola mundo!\n"); return (0); } 20/02/2018 Slide 18 20/02/2018 Slide 19 A linha #include <stdio.h>diz ao compilador que ele deve incluir o arquivo- cabeçalho stdio.h. Neste arquivo existem declarações de funções úteis para entrada e saída de dados (std = standard, padrão em inglês; io = Input/Output, entrada e saída ==> stdio = Entrada e saída padronizadas). Toda vez que você quiser usar uma destas funções deve-se incluir este comando. O C possui diversos Arquivos-cabeçalho. 20/02/2018 Slide 20 Quando fazemos um programa, uma boa ideia é usar comentários que ajudem a elucidar o funcionamento do mesmo. No caso acima temos um comentário: /* Imprime a mensagem Olá Mundo! na sua tela! */ O compilador C desconsidera qualquer coisa que esteja começando com /* e terminando com */. Um comentário pode, inclusive, ter mais de uma linha. 20/02/2018 Slide 21 A linha int main() indica que estamos definindo uma função de nome main. Todos os programas em C têm que ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves { }. O código que estiver dentro das chaves será executado sequencialmente quando a função for chamada. A palavra int indica que esta função retorna um inteiro. 20/02/2018 Slide 22 A única coisa que o programa realmente faz é chamar a função printf(), passando a string (uma string é uma sequência de caracteres, como veremos brevemente) "Ola mundo!\n“ como argumento. É por causa do uso da função printf() pelo programa que devemos incluir o arquivo- cabeçalho stdio.h. A função printf() neste caso irá apenas colocar a string na tela do computador. O \n é uma constante chamada de constante barra invertida. No caso, o \n é a constante barra invertida de "new line" e ele é interpretado como um comando de mudança de linha, isto é, após imprimir Ola mundo! o cursor passará para a próxima linha. É importante observar também que os comandos do C terminam com ; . 20/02/2018 Slide 23 Na maioria dos computadores, a execução do programa se passa tão rápido que você pode nem perceber que ele rodou. É por esta razão que o Dev-C++ já incluiu no código de novos projetos a chamada da função system() com o argumento "PAUSE" que provoca uma parada antes do término do programa para que o usuário do sistema de janelas possa ver o resultado do programa. Se você quiser, use o system("PAUSE"). Mas lembre-se de contar para o compilador onde estão as definições necessárias para usar esta função inserindo o #include <stdlib.h> no início do arquivo fonte, na linha seguinte ao #include <stdio.h>.20/02/2018 Slide 24 Tipos Primitivos Caractere Definido por char Ocupa 8 bits (1 byte) Faixa de valores: -128 à 127 Exemplo: char letra; letra = ‘A’; Inteiro Definido por int; Ocupa 16 bits (2 bytes) Faixa de valores: -32768 à 32767 Exemplo: int num; num = -73; 20/02/2018 Slide 25 Tipos Primitivos Ponto flutuante e ponto flutuante de precisão dupla Definido por float e double Ocupam: float 32 bits (4 bytes) e double 64 bits (8 bytes) faixa mínima de um valor em ponto flutuante 1E-37 a 1E+37 Exemplo: float a; a=2.34; double x,y; x=2.38, y=3.1415; 20/02/2018 Slide 26 Exemplo 02 #include <stdio.h> main() { char c; int i; float f; double d; printf("char %c \n",sizeof(c)); printf("int %d \n",sizeof(i)); printf("float %f \n",sizeof(f)); printf("double %lf \n",sizeof(d)); } 20/02/2018 Slide 27 20/02/2018 Slide 28 Código Significado \f Alimentação de formulário ("form feed") \n Nova linha ("new line") \t Tabulação horizontal ("tab") \” Aspas \’ Apóstrofo \0 Nulo (0 em decimal) \\ Barra invertida \v Tabulação vertical \a Sinal sonoro ("beep") \N Constante octal (N é o valor da constante) \xN Constante hexadecimal (N é o valor da constante) \b Retrocesso ("back") 20/02/2018 Slide 29 #include <stdio.h> #include <stdlib.h> int main () { /* Declaracao de Variaveis */ int Dias; float Anos; printf ("Entre com o número de dias: "); /* Entrada de Dados */ scanf ("%d",&Dias); Anos=Dias/365.25; /* Conversao Dias->Anos */ printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); system("pause"); return(0); } 20/02/2018 Slide 30 As variáveis em C podem receber um valor no mesmo momento em que elas são declaradas: 20/02/2018 Slide 31 int ehPrimo = 1; float preco = 150.00; char sexo = 'F'; Tipos de dados Nome das variáveis Valor de inicialização Constante ◦ identificadores do tipo “const” não podem ter seu valor modificado pelo programa. 20/02/2018 Slide 32 Exemplo 01: const int n = 10; const float salarioMinimo = 380.00; Exemplo 02: #include <stdio.h> #define PI 3.14 Converter o pseudocódigo abaixo para a linguagem C: 1. algoritmo "Soma_de_dois_numeros " 2. var numero1,numero2,soma: inteiro 3. inicio 4. escreva ("Informe um número: ") 5. leia (numero1) 6. escreva ("Informe outro número:") 7. leia (numero2) 8. soma := numero1 + numero2 9. escreva ("O resultado da soma dos números informados é :" , soma) 10. fimAlgoritmo Slide 33 Converter o pseudocódigo abaixo para a linguagem C: 1. algoritmo "Informe_palavra" 2. var 3. palavra: caracter 4. inicio 5. escreva (" Informe uma palavra: ") 6. leia (palavra) 7. escreva (“A palavra digitado foi:", palavra) 8. fimalgoritmo 20/02/2018 Slide 34 20/02/2018 Slide 35 E-mail: guibson7@outlook.com.br OneDrive: https://goo.gl/oxzLcf
Compartilhar