·

Engenharia de Produção ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 113 CONCEITOS BÁSICOS Prof Eduardo Isaia Filho 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 213 NESTE CAPÍTULO VOCÊ VAI APRENDER O que é um algoritmo e para que ele serve O histórico da linguagem C e por que ela foi escolhida Qual a estrutura básica de um programa em C Como declarar constantes e variáveis conforme seus tipos INTRODUÇÃO Neste capítulo serão apresentados os conceitos introdutórios para a construção de um algoritmo em linguagem C Também serão apresentados a estrutura básica de um programa o conceito de dados e os tipos de variáveis Você será introduzido ao universo da programação e ao final do semestre estará capacitado a construir programas em linguagem C É importante lembrar que programar envolve dedicação e tempo portanto reserve tempo na sua semana para praticar os conceitos apresentados neste capítulo pois apenas a leitura não irá ajudálo a entender como desenvolver programas Este capítulo é fundamental para sua disciplina Algoritmos e Programação é a base para seu curso sendo essa de fundamental importância para sua carreira acadêmica e profissional Vamos nessa então Um excelente semestre a todosas Todo programa de computador começa a partir de um algoritmo ou seja através da organização lógica das instruções que resolvem o problema Um programa de computador é resultado da atividade intelectual de um programador Para isso são necessários alguns conhecimentos prévios em abstração modelagem de problemas e lógica de programação 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 313 CONCEITO DE ALGORITMO Um algoritmo é uma sequência de passos finitos que visam solucionar um determinado problema Resolvemos algoritmos todo o tempo mas o fazemos de forma tão automática que nem nos damos conta por exemplo trocar uma lâmpada fazer um bolo preparar um café passado escovar os dentes trocar um pneu entre outros Todas as atividades do nosso dia a dia que possuem uma sequência de passos finitos para serem resolvidas podem ser consideradas um algoritmo Se utilizarmos o exemplo do preparo de um café passado teremos os seguintes passos 1 passo reservar os utensílios filtro de café chaleira e recipiente para colocar o café passado 2 passo reservar o pó de café e a água 3 passo aquecer a água 4 passo colocar o pó de café no filtro e 5 passo despejar a água aquecida no filtro Se você seguir esses passos ao final você provavelmente terá um café passado O que pode ser observado é que alguns desses passos podem ser alterados em sua ordem por exemplo se reservarmos os ingredientes antes dos utensílios não teremos alteração no produto final Porém se colocássemos a água no filtro com café antes de aquecêla o resultado seria indesejado Um algoritmo computacional pode ser definido como uma sequência lógica de instruções ou comandos que devem ser seguidos para se obter a solução de um problema Da mesma forma um algoritmo do dia a dia deve seguir uma sequência de passos lógicos que devem ser ordenados de forma clara para solucionar o problema 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 413 CONSTRUÇÃO DO ALGORITMO Para construir um algoritmo temos que saber claramente qual o problema que desejamos solucionar ou seja qual o objetivo do algoritmo Para isso precisamos analisar o problema identificando três elementos básicos entrada processamento e saída A entrada são os elementos que são necessários para dar início à solução do problema o processamento é a manipulação dos elementos de entrada para obtenção da saída e a saída é o resultado esperado Se considerarmos o exemplo do café passado apresentado anteriormente podemos identificar Entrada filtro de café chaleira recipiente para colocar o café passado pó de café e água Processamento aquecer a água colocar o pó no filtro e despejar a água no filtro Saída o café passado Se considerarmos os algoritmos computacionais podemos descrever esses elementos em Entrada de dados são os dados que o algoritmo deverá receber Processamento de dados são as fórmulas e a disposição lógica em que os dados de entrada serão organizados para obterse a solução do problema Saída de dados é a apresentação do objetivo ou seja o resultado esperado Por exemplo se desejamos fazer um algoritmo para fazer a soma de dois números quaisquer podemos nesse caso identificar Entrada de dados perguntar ao usuário dois números quaisquer Processamento de dados calcular a soma dos números informados Saída de dados apresentar o resultado da soma Sempre que formos construir um algoritmo devemos nos concentrar nesses três elementos pois eles sempre estarão envolvidos Porém nem sempre estarão nesta ordem podendo variar de algoritmo para algoritmo 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 513 G000005VD001T001mp4 FORMALIZAÇÃO DE UM ALGORITMO Construir um algoritmo consiste em detalhar os dados que serão processados e as instruções que vão operar sobre esses dados Essa construção pode ser feita por diferentes formas de representações e diferentes linguagens de programação mas é importante formalizarmos a descrição dos algoritmos segunda uma convenção pré definida para que todas as pessoas envolvidas no processo possam entendêla Para isso é necessário definir o conjunto de regras que regulam a escrita do algoritmo sintaxe e o conjunto de regras que definem a interpretação dessa escrita semântica Nesta disciplina foi escolhida a linguagem de programação C como sendo a balizadora da construção dos algoritmos 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 613 INTRODUÇÃO À LINGUAGEM C A linguagem C foi criada por Dennis Ritchie na década de 70 e resultou de um processo evolutivo de linguagens que durante alguns anos teve seu padrão baseado na versão 5 do sistema operacional UNIX Com a popularização dos microcomputadores várias versões de C foram criadas gerando muitas discrepâncias entre elas Para resolver essa situação em 1983 o ANSI American National Standards Institute estabeleceu um comitê para definir um padrão que guiasse todas as implementações da linguagem C A popularização da linguagem C devese a vários fatores dentre os quais destacamse o conjunto de operadores e tipos de dados disponíveis a portabilidade podendo ser usada em máquinas de portes e de sistemas operacionais diferentes as características de linguagens de alto nível aliadas às características de linguagens de baixo nível A linguagem C é uma linguagem de propósitos gerais estruturada e compilada o compilador lê o códigofonte do programa inteiro e o converte em um código executável Ela é utilizada para a construção de sistemas operacionais compiladores interpretadores aplicativos para dispositivos móveis gerenciadores de bancos de dados entre outros ESTRUTURA BÁSICA DE UM PROGRAMA EM C Um programa em linguagem C consiste em uma ou mais funções A função principal denominada main indica onde o programa inicia A estrutura básica de um programa em C é apresentada a seguir include nome da biblioteca main declaração de variáveis bloco de comandos 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 713 As bibliotecas são arquivos contendo várias funções que podem ser incorporadas aos programas escritos em C A diretiva include faz com que as funções inseridas na biblioteca especificada possam ser utilizadas no programa As bibliotecas mais usadas são stdioh conioh stringh e mathh A diretiva include pode ser usada de duas formas include nome da biblioteca include nome da biblioteca A diferença entre se usar e é somente a ordem de procura pelo arquivo especificado nos diretórios Usase para informar o nome do arquivo com o caminho completo ou se o arquivo estiver no diretório de trabalho Quando o arquivo estiver no caminho padrão do compilador como é o caso de arquivos como stdioh e stringh por exemplo usase os símbolos e Os parênteses ao lado da palavra main indicam que ela é uma função enquanto as chaves delimitam o seu início e o seu fim O bloco de comandos que estiver entre as chaves é executado sequencialmente quando a função for chamada Uma boa prática de programação do padrão ANSI é declarar a função main como int mainvoid e no seu final antes de fechar a chave que delimita o corpo da função incluir a instrução return 0 essa prática evita que ao executar os programas alguns compiladores emitam uma mensagem do tipo A função deve retornar um valor Compiladores como o DevC não emite essa mensagem por isso optouse por utilizálo e não adotar essa prática nos exemplos da disciplina É importante salientar que a linguagem C é case sensitive ou seja é sensível a letras maiúsculas e minúsculas e todos os programas devem obrigatoriamente ser escritos em letras minúsculas 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 813 IDENTIFICADORES NOMES Em linguagem C os nomes utilizados para referenciar variáveis constantes e funções definidas pelo usuário são chamados de identificadores A criação de um identificador deve seguir as seguintes regras podem ser formados por letras números e underline sublinhado baixo devem iniciar com uma letra ou com o underline letras minúsculas e maiúsculas são consideradas caracteres distintos não podem ser palavras reservadas da linguagem C podem conter qualquer tamanho porém apenas os 32 primeiros caracteres são significativos Além disso é importante criar identificadores considerando a sua aplicação para facilitar a leitura do códigofonte e consequentemente o trabalho do programador por exemplo o peso de uma pessoa pode ser armazenada em uma variável chamada pesopessoa enquanto uma função que irá calcular a média de um aluno pode ter como identificador calcularmedia TIPOS DE DADOS O objetivo da maioria dos programas é manipular dados transformando os dados de entrada em dados de saída resultados Um dado é um atributo que descreve entidades ou características por exemplo o nome de uma pessoa sua idade seu peso ou o número de páginas de um livro Quando vamos desenvolver um programa precisamos previamente identificar o tipo do dado que está sendo manipulado Isso é necessário pois os dados serão armazenados na memória principal do computador e um espaço de memória específico tamanho deve ser reservado a cada tipo de dado Os tipos de dados básicos em linguagem C são int os dados do tipo int pertencem ao conjunto de números inteiros relativos ou seja são aqueles que não possuem componentes decimais ou fracionários podendo ser positivos nulo ou negativos Exemplos quantidade de alunos em uma turma idade de uma pessoa entre outros Na linguagem C um int pode variar de 32767 a 32767 com tamanho máximo de armazenamento de memória de 16 bits float os dados do tipo float pertencem ao conjunto dos números reais representado em ponto flutuante portanto podem ter componentes decimais ou 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 913 representado em ponto flutuante portanto podem ter componentes decimais ou fracionários e ser positivos nulo ou negativos Exemplos o salário de uma pessoa a temperatura a altura de um prédio entre outros Na linguagem C um float pode variar de 34 E38 a 34 E38 com tamanho máximo de armazenamento de memória de 32 bits double assim como um float o double representa um número real representado em ponto flutuante com maior precisão Na linguagem C um double pode variar de 17 E308 a 17 E308 com tamanho máximo de armazenamento de memória de 64 bits char os dados do tipo caracter são compostos por um único caractere alfanumérico 09 AZ az ou caracter especial Exemplos resposta a uma pergunta no caso de S ou N seleção entre alternativas no caso da respostas ser A B C D ou E o sexo de uma pessoa no caso de M ou F Na linguagem C um char ocupa tamanho máximo de armazenamento de memória de 8 bits void vazio sem valor A linguagem C não possui tipo de dado lógico que pode assumir verdadeiro ou falso pois considera qualquer valor diferente de 0 zero como verdadeiro e também não possui um tipo especial para armazenar cadeias de caracteres strings que são armazenadas em um vetor de caracteres 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 1013 DECLARAÇÃO DE VARIÁVEIS Uma variável pode ser definida como um local na memória principal utilizado para armazenar o conteúdo de um determinado dado e que pode receber muitos valores diferentes durante a execução do programa Contudo em um dado instante ela só pode apresentar um valor único O conceito de variável foi criado para permitir que através do nome identificador os programas possam armazenar localizar e manipular as informações na memória dos computadores São portanto formadas por três atributos um nome identificador um tipo de dado e um valor Na linguagem C as variáveis são declaradas após a especificação de seus tipos como pode ser observado nos exemplos a seguir float total int idade cont A primeira linha da declaração de variáveis do exemplo cria uma variável chamada total que irá armazenar valores do tipo float real na segunda linha são criadas duas variáveis para armazenar valores do tipo int inteiro idade e cont Cada uma dessas variáveis armazenará um único valor por vez As variáveis podem ser inicializadas no momento da sua declaração ou seja podese dar um valor inicial à variável já na sua declaração e esse valor será armazenado em memória Para isso colocase o sinal de atribuição seguido do valor desejado como no exemplo apresentado a seguir em que cont é inicializada com 0 e resposta com S É importante destacar que os dados atribuídos a variáveis do tipo caractere são envolvidos por aspas simples int cont 0 char resposta S O local em que as variáveis são declaradas definem o seu escopo que pode ser global ou local As variáveis de escopo global denominadas variáveis globais são declaradas fora de qualquer função inicializadas automaticamente com 0 zero e podem ser usadas em qualquer ponto do programa As variáveis locais são declaradas dentro de uma função não são inicializadas automaticamente e valem enquanto essa função estiver ativa As variáveis de escopo local têm preferência em relação às de escopo global 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 1113 DEFINIÇÃO DE CONSTANTES Uma constante irá representar um valor fixo previamente definido pelo programador e inalterável no programa Uma das formas de definir constantes em C é a partir da diretiva define seguida do nome da constante e do valor que ela representará no programa No exemplo a seguir apresentase a declaração da constante pi cujo valor é definido como 3141516 Dessa forma o programador usará pi no programa ao invés de usar 3141516 define pi 3141516 INFOGRÁFICO 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 1213 21032022 1400 T001 httpssitesgooglecomulbrabrg000005gs001t001 1313 REFERÊNCIAS ASCENCIO Ana F G CAMPOS Edilene A V Fundamentos da Programação de Computadores 2 ed São Paulo Prentice Hall 2007 DEITEL Paul DEITEL Harvey C como programar 6ed São Paulo Pearson Prentice Hall 2011 FORBELLONE André Luís EBERSPACHER Henri Lógica de Programação a construção de algoritmos e estruturas de dados 3 ed São Paulo Prentice Hall 2005 GOODRICH Michael T TAMASSIA Roberto Projeto de Algoritmos Porto Alegre Bookman 2004 CRÉDITOS Coordenação e Revisão Pedagógica Claudiane Ramos Furtado Design Luiz Specht Diagramação Marcelo Ferreira Ilustrações Marcelo Germano Revisão ortográfica Ane Arduim Produzido por Núcleo de Audiovisual e Tecnologias Educacionais NATE ULBRA EAD Universidade Luterana do Brasil Todos os direitos reservados