Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise e Estrutura de Dados - EDD Linguagem de Programação C Parte 1 Prof. Thiago Araújo Introdução à Programação Unidade de Entrada Unidade de Saída Unidade de Processamento Central Memória Linguagem de Máquina Linguagens de Comunicação A linguagem de comunicação entre as unidades O código ASCII ASCII Programas de Computadores Um programa de computador é, na realidade, um conjunto de instruções que podem ser executadas pelo computador, de tal forma que a execução de subconjuntos destas instruções permitem a realização de ações mais genéricas. Lógica de Programação A Lógica de Programação pode ser entendida como o conjunto de raciocínios utilizados para o desenvolvimento de algoritmos (e, portanto, de programas). Lógica de Programação Um senhor, infelizmente bastante gordo, está numa das margens de um rio com uma raposa, uma dúzia de galinhas e um saco de milho. O senhor pretende atravessar o rio com suas cargas, num barco a remo que só comporta o senhor e uma das cargas. Evidentemente, o senhor não pode deixar em uma das margens, sozinhos, a raposa e a galinha, nem a galinha e o milho. A questão é escrever um algoritmo que oriente o senhor a realizar o seu intento. Naturalmente, na primeira viagem, ele não pode levar a raposa (neste caso, as galinhas comeriam o milho), nem o milho (caso em que a raposa devoraria as galinhas). Logo, na primeira viagem ele deve levar as galinhas. Como ele estará presente na chegada, na segunda viagem ele pode levar a raposa ou o milho. Mas, e a volta para apanhar terceira carga? A solução é ele voltar com as galinhas e, aí, atravessar o milho, já que não há problema em que a raposa e o milho fiquem juntos. Escrevendo as instruções na sequência em que elas devem ser executadas, teremos o seguinte algoritmo. Linguagem de alto nível Linguagem mais próxima ao humano Interpretador Compilador Linguagem C Variável - é uma posição de memória cujo conteúdo pode ser modificado durante a execução de um programa. •Identificador - A referência a uma variável no programa é feita através do seu identificador Palavras Reservadas em C Tipo de Dado •O tipo de dado associado a uma variável é o conjunto dos valores que podem ser nela armazenados. A linguagem C dispõe dos tipos de dados discriminados na tabela a seguir. Declaração de variáveis int Quant; float Num, Soma, Media; •A ideia é que Quant seja utilizada para armazenar a quantidade de números; Num para armazenar os números (um de cada vez); Soma para armazenar a soma dos números; e Media para armazenar a média procurada. Constantes const float NumAvogadro = 6.023E+23; •O que caracteriza uma constante (e daí sua denominação, emprestada da matemática) é o fato de que o conteúdo de uma constante não pode ser modificado durante a execução do programa Operadores Operadores Aritméticos Expressões Lógicas Comandos de Entrada e Saída •Biblioteca <stdio.h> (printf() e scanf()) •printf(“MENSAGEM”, ARGUMENTOS); MENSAGEM = Mensagens que serão exibidas ARGUMENTOS = Podem conter identificadores de variáveis, expressões aritméticas ou lógicas e valores constantes. Comandos de Entrada e Saída Primeiro programa em C Impressões de Códigos Especiais Exemplo: Ponto Flutuante Leitura de Dados scanf(“Tipo de Dado”, “Argumento”) – nos permite ler dados a partir da entra padrão do teclado. •%d indicativo de tipo de dado, nesse caso inteiro •&m operador utilizado para pegar a posição de memória da variável m. Exemplo: Exemplo If/else Estrutura condicional para fluxos alternativos dentro de um sistema, através de uma decisão que será testada através de uma expressão lógica. Exemplo IF/ELSE Switch Utilizada quando um variável pode ser igual a diferentes valores, fazendo o teste sobre ela de forma mais simples e legível. Switch While Uma maneira possível de executar um laço é utilizando o comando while. Ele permite que o código fique sendo executado numa mesma parte do programa de acordo com uma determinada condição. - ele é executado desde que a condição seja verdadeira - testa a condição antes de executar o laço Vetores Em diversas situações os tipos básicos de dados (int, float, char, ....) não são suficientes para representar a informação que se deseja armazenar. Exemplo, uma palavra: “AULA”. Existe a possibilidade de construção de novos tipos de dados a partir da composição (ou abstração) de tipos de dados primitivos. Esses novos tipos têm um formato denominado ESTRUTURA DE DADOS, que define como os tipos primitivos estão organizados. Vetores Em diversas situações os tipos básicos de dados (int, float, char, ....) não são suficientes para representar a informação que se deseja armazenar. Exemplo, uma palavra: “AULA”. Existe a possibilidade de construção de novos tipos de dados a partir da composição (ou abstração) de tipos de dados primitivos. Esses novos tipos têm um formato denominado ESTRUTURA DE DADOS, que define como os tipos primitivos estão organizados. Vetores Em diversas situações os tipos básicos de dados (int, float, char, ....) não são suficientes para representar a informação que se deseja armazenar. Exemplo, uma palavra: “AULA”. Existe a possibilidade de construção de novos tipos de dados a partir da composição (ou abstração) de tipos de dados primitivos. Esses novos tipos têm um formato denominado ESTRUTURA DE DADOS, que define como os tipos primitivos estão organizados. Vetores Em diversas situações os tipos básicos de dados (int, float, char, ....) não são suficientes para representar a informação que se deseja armazenar. Exemplo, uma palavra: “AULA”. Existe a possibilidade de construção de novos tipos de dados a partir da composição (ou abstração) de tipos de dados primitivos. Esses novos tipos têm um formato denominado ESTRUTURA DE DADOS, que define como os tipos primitivos estão organizados. Importante!! •Os vetores não são inicializados automaticamente. •Declarar mais elementos do que defino causa erro de sintaxe. •Omitindo o tamanho do vetor ele terá o mesmo número de elementos digitados. Matrizes (Vetores Multidimensionais) •Como os vetores, as matrizes são estruturas de dados homogêneas. Podem ser construídas dos diversos tipos básicos primitivos (float, int, char). •A Principal diferença em relação aos vetores (unidimensionais): possui uma ou mais dimensões adicionais, mas na maioria dos casos: utiliza-se matrizes bidimensionais. •São utilizadas quando os dados homogêneos necessitam de uma estruturação com mais de uma dimensão. Matrizes Matrizes Importante!! •Os vetores não são inicializados automaticamente. •Declarar mais elementos do que defino causa erro de sintaxe. •Omitindo o tamanho do vetor ele terá o mesmo número de elementos digitados. Vetores de Caractere •Uma cadeia de caracteres é uma sequência de caracteres (char) justapostos e são fundamentais no desenvolvimento de programas computacionais. •Entrada/Saída de caracteres em C: •getchar(); •putchar(); Vetores de Caractere •Uma cadeia de caracteres é uma sequência de caracteres (char) justapostos e são fundamentais no desenvolvimento de programas computacionais. •Entrada/Saída de caracteres em C: •getchar(); •putchar(); Vetores de Caractere •Uma cadeia de caracteres é uma sequência de caracteres (char) justapostos e são fundamentaisno desenvolvimento de programas computacionais. •Entrada/Saída de caracteres em C: •getchar(); •putchar(); Manipulando “Strings” •gets(s): lê a string s a partir do teclado; •puts(s): imprime uma string na tela seguida de nova linha. Perguntas Exercícios 1.Fazer um programa que leia o nome do usuário e o número de matricula e imprima. 2.Desenvolva um programa para ler e somar duas matrizes quadradas de dimensão 2. Imprima o resultado da soma. 3.Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores. IDE •Windows: Bloodshed Dev C/C++ •Linux: •Geany Ambos: •Netbeans, Eclipse, Sublime. Perguntas Exercícios 1.Faça um programa para ler dois números reais , faça a divisão entre o primeiro pelo segundo.(lembre-se não existe divisão por zero). 2.Faça um programa para ler dois números reais e verificar se ambos são maiores que zero. Caso positivo, informar “Valores são válidos”. Caso contrário, informar “Valores inválidos”. 3.Calculadora: Fazer um algoritmo para ler dois números e um dos símbolos das operações: +, -, *, /. Imprimir o resultado da operação efetuada sobre os números lidos. 4.Fazer um programa que leia o nome do usuário e o número de matricula e imprima. 5.Desenvolva um programa para ler e somar duas matrizes quadradas de dimensão 2. Imprima o resultado da soma. 6.Crie um programa em C que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e que seus valores.
Compartilhar