Programação Didática com Linguagem C
3.5/5
()
Sobre este e-book
Organizado em onze capítulos, nos quais apresenta exercícios e aplicações práticas sobre o tema, o livro aborda conceitos básicos de algoritmos e programação, estruturas sequenciais, condicionais e iterativas, arranjos e números pseudoaleatórios, strings, ponteiros, subprogramação, estruturas, arquivos e recursividade.
Relacionado a Programação Didática com Linguagem C
Ebooks relacionados
Trilhas Python: Programação multiparadigma e desenvolvimento Web com Flask Nota: 5 de 5 estrelas5/5Programação Para Internet Nota: 0 de 5 estrelas0 notasProgramação Funcional: Uma introdução em Clojure Nota: 4 de 5 estrelas4/5Aprenda A Programar Computadores Nota: 0 de 5 estrelas0 notasAprenda a programar com Python: Descomplicando o desenvolvimento de software Nota: 5 de 5 estrelas5/5Arquitetura de software distribuído: Boas práticas para um mundo de microsserviços Nota: 0 de 5 estrelas0 notasApp Inventor: Seus primeiros aplicativos Android Nota: 0 de 5 estrelas0 notasDesbravando SOLID: Práticas avançadas para códigos de qualidade em Java moderno Nota: 5 de 5 estrelas5/5Código Limpo Em Php Nota: 0 de 5 estrelas0 notasLógica De Programação Com Visualg Nota: 0 de 5 estrelas0 notasDesenvolvimento De Software Ii C# Programação Em Camadas Nota: 0 de 5 estrelas0 notasLaboratório Técnico Nota: 0 de 5 estrelas0 notasFundamentos De Programação Java Nota: 0 de 5 estrelas0 notasIntrodução à programação em C: Os primeiros passos de um desenvolvedor Nota: 4 de 5 estrelas4/5Programação em C# Para Iniciantes Nota: 5 de 5 estrelas5/5Introdução à computação: Da lógica aos jogos com Ruby Nota: 0 de 5 estrelas0 notasRuby: Aprenda a programar na linguagem mais divertida Nota: 0 de 5 estrelas0 notasAlgoritmos em Java: Busca, ordenação e análise Nota: 5 de 5 estrelas5/5Orientação a Objetos: Aprenda seus conceitos e suas aplicabilidades de forma efetiva Nota: 5 de 5 estrelas5/5Apostila Técnica Linguagem C# Modo Console Nota: 0 de 5 estrelas0 notasPostgreSQL: Banco de dados para aplicações web modernas Nota: 5 de 5 estrelas5/5Orientação a Objetos em C#: Conceitos e implementações em .NET Nota: 5 de 5 estrelas5/5Construindo APIs REST com Node.js: Caio Ribeiro Pereira Nota: 5 de 5 estrelas5/5Python Progressivo Nota: 5 de 5 estrelas5/5Desbravando Java e Orientação a Objetos: Um guia para o iniciante da linguagem Nota: 5 de 5 estrelas5/5Fundamentos De Banco De Dados Nota: 0 de 5 estrelas0 notasComeçando com o Linux: Comandos, serviços e administração Nota: 4 de 5 estrelas4/5Java 9: Interativo, reativo e modularizado Nota: 0 de 5 estrelas0 notasMySQL: Comece com o principal banco de dados open source do mercado Nota: 4 de 5 estrelas4/5Cangaceiro JavaScript: Uma aventura no sertão da programação Nota: 3 de 5 estrelas3/5
Computadores para você
Inteligência artificial: O guia completo para iniciantes sobre o futuro da IA Nota: 5 de 5 estrelas5/5Dominando A Eletrônica Nota: 5 de 5 estrelas5/5Falando Aos 52 Computadores Do Carro Moderno Nota: 0 de 5 estrelas0 notasMarketing Do Instagram (guia Para Iniciantes 2023) Nota: 0 de 5 estrelas0 notasIntrodução a Data Science: Algoritmos de Machine Learning e métodos de análise Nota: 0 de 5 estrelas0 notasProgramação Python Ilustrada Para Iniciantes E Intermediários: Abordagem “aprenda Fazendo” – Passo A Passo Nota: 0 de 5 estrelas0 notasJavaScript: Um Guia para Aprender a Linguagem de Programação JavaScript Nota: 5 de 5 estrelas5/5Python De A A Z Nota: 0 de 5 estrelas0 notasDescomplicando Passo A Passo Deep Web Nota: 5 de 5 estrelas5/5Youtube: Aprenda A Viver Do Youtube: Guia Completo Nota: 5 de 5 estrelas5/5A Fórmula Do Afiliado Profissional Nota: 0 de 5 estrelas0 notasPython - 20% Que Eu Preciso Saber Para Ter 80% De Resultados Nota: 0 de 5 estrelas0 notasAutocad & Desenho Técnico Nota: 0 de 5 estrelas0 notasLógica de programação com Portugol: Mais de 80 exemplos, 55 exercícios com gabarito e vídeos complementares Nota: 0 de 5 estrelas0 notasIntrodução e boas práticas em UX Design Nota: 5 de 5 estrelas5/5Instratégico Nota: 0 de 5 estrelas0 notasIntrodução Aos Comandos Elétricos Nota: 5 de 5 estrelas5/5A Bíblia Do Swing Trader Nota: 0 de 5 estrelas0 notasFundamentos De Banco De Dados Nota: 0 de 5 estrelas0 notasExcel Para Iniciantes Nota: 0 de 5 estrelas0 notasLer e escrever bem: um aprendizado importante para vencer no ENEM e na vida Nota: 0 de 5 estrelas0 notasComo Criar Um Ebook De Alta Conversão Nota: 4 de 5 estrelas4/5Computação em Nuvem Nota: 5 de 5 estrelas5/5Power Bi Black Belt Nota: 0 de 5 estrelas0 notasGanhe Dinheiro Criando Um Jogo Para Celular Nota: 0 de 5 estrelas0 notasPython Progressivo Nota: 5 de 5 estrelas5/5O plano de marketing em 4 etapas: Estratégias e passos chave para criar planos de marketing que funcionem Nota: 0 de 5 estrelas0 notas
Avaliações de Programação Didática com Linguagem C
2 avaliações0 avaliação
Pré-visualização do livro
Programação Didática com Linguagem C - Dennis Giovani Balreira
PREFÁCIO
Cada vez mais, aplicativos de computadores estão extremamente presentes em nossas vidas, algo observável ao utilizarmos smartphones, redes sociais e jogos eletrônicos, por exemplo. Todas estas aplicações foram programadas, isto é, foram construídas por programadores em alguma linguagem de programação. Os princípios básicos de programação usados para a construção dos exemplos dados são os mesmos dos aplicados nesse curso. Por esse motivo, é fundamental que esses conceitos sejam compreendidos de uma forma didática, possibilitando aos leitores que não tenham qualquer conhecimento da área possam acompanhá-los. Espera-se que o leitor consiga utilizar o conhecimento adquirido com este material para se aprimorar na área, seja para aprender sobre programação ou para se aprofundar na linguagem C.
É importante que o material seja seguido sequencialmente, uma vez que o conteúdo é cumulativo. Sugere-se fortemente que o leitor tenha acesso a um computador e ambiente de programação, para que possa entender e programar os exemplos e exercícios propostos.
Como programação é um conteúdo que necessita de um grande enfoque prático por parte do estudante, os exercícios foram cuidadosamente elaborados de forma a auxiliar a fixação do conteúdo. Todos eles possuem respostas elaboradas pelo próprio autor, a fim de garantir um mesmo estilo com foco na legibilidade e organização de código. Mesmo com tantos livros no mercado sobre este assunto, inclusive de linguagem C, este foi elaborado com ênfase na didática e praticidade. Dessa forma, o autor canaliza seus anos de experiência e paixão pelo ensino para entregar um material que ensina o essencial da linguagem para que o aluno possa se tornar um bom programador e utilizar esse conhecimento na academia, na indústria ou em algum projeto pessoal. O enfoque teórico nunca é deixado de lado, permitindo que o aluno no futuro possa eventualmente aprender com facilidade outras linguagens de programação que compartilham os mesmos paradigmas.
Assim, este livro apresenta um equilíbrio entre objetividade – ao focar apenas nos detalhes teóricos mais relevantes com exemplos práticos – e compreensibilidade – ao fornecer resolução de todos os exercícios práticos sugeridos. Espera-se que o leitor tenha um ótimo aprendizado e consiga aprimorar seus conhecimentos nesta área de raciocínio tão única que é a programação.
CAPÍTULO 1
INTRODUÇÃO A ALGORITMOS E PROGRAMAÇÃO
Este capítulo aborda os princípios básicos de programação estruturada em linguagem C. Falaremos a respeito de conceitos básicos para que o leitor consiga se situar no curso. Primeiramente é introduzido o conceito de algoritmo e programa, passando por linguagens de programação e paradigmas de programação. Além disso, é explicado o processo de geração de um programa e seus ambientes de desenvolvimento. Ao final do capítulo é apresentado o primeiro programa em linguagem C.
1.1 Conceitos de algoritmo e programa
Um algoritmo pode ser definido como uma sequência finita de passos para resolver um problema, correspondendo ao como fazer
determinada tarefa. Suponha, por exemplo, que temos o seguinte enunciado: deseja-se fazer um omelete, mas acabaram os ovos em casa. Um possível algoritmo em linguagem natural (língua portuguesa) para resolver o problema seria o seguinte:
1 Algoritmo Faz Omelete:
2 Objetivo: fazer um omelete.
3 Entrada: 2 ovos, 1 pitada de sal, 2 fatias de queijo.
4 Saida: omelete.
5
6 Inicio Algoritmo Faz Omelete:
7 Bater dois ovos;
8 Picar o queijo;
9 Ligar o fogao;
10 Colocar os ovos batidos na frigideira;
11 Acrescentar o sal;
12 Acrescentar o queijo picado;
13 Se omelete esta cozido, entao:
14 Desligar fogo;
15 Fim Algoritmo Faz Omelete.
Algoritmo 1.1 Algoritmo Faz Omelete
Observe que, além de existirem diversas soluções para o problema (os ingredientes poderiam ser outros, bem como a ordem de mistura dos ingredientes ou até mesmo usar o fogão ou outro aparelho para cozinhar), existem diversas maneiras de escrever este algoritmo. Quão detalhada deve ser a expressão omelete está cozido
? Como exatamente o queijo deve ser picado? Claro que para este contexto é possível entender sem problemas e inferir o que não está explicitamente detalhado, parecendo ser uma preocupação irrelevante. Entretanto, quando estamos trabalhando com computadores, os comandos devem ser exatos para que possam ser interpretados corretamente.
Por esse motivo é necessário definir determinadas regras para construir algoritmos sem ambiguidade e com rigor formal. Essas formalidades são descritas no contexto de computação por meio de linguagens de programação, que serão discutidas na seção seguinte.
Um programa pode ser definido como um conjunto de instruções que descrevem uma tarefa a ser realizada por um computador. Em outras palavras, programas são algoritmos codificados em uma linguagem de programação a fim de gerar instruções a serem executadas por um computador. Apesar de muitas vezes serem considerados como sinônimos, o termo software costuma designar não somente um programa, mas também sua documentação e seus dados de configuração associados.
Algoritmos devem possuir início, meio e fim, utilizando uma sequência de instruções precisas.
É desejável que um algoritmo especifique sua identificação, objetivos, entradas e saídas. Também se espera que sua construção priorize a legibilidade, sendo definido apenas um comando por linha e aplicando indentação (recuo da margem esquerda) para tornar evidente as hierarquias dos comandos. Além disso, é importante utilizar espaços, tabulações e linhas em branco. Observe que o Algoritmo 1.1 condiz com as normas apresentadas.
1.2 Linguagens de programação e Linguagem C
Linguagens de programação são linguagens formais que possuem um conjunto de instruções a serem interpretadas pelo computador, usadas para implementar programas. Assim, temos um equilíbrio entre linguagens naturais, que gera ambiguidade e dificulta a interpretação pelo computador, e nível de máquina, que requer conhecimentos específicos do programador para cada hardware, além de ser pouco intuitivo.
Como existem inúmeras linguagens de programação, escolher qual aprender depende de diversos fatores, não sendo uma tarefa fácil. Este documento opta por ensinar a linguagem C, uma das linguagens mais versáteis disponíveis, sendo muito relevante até os dias de hoje. A principal motivação para começar a programar na linguagem C é que ela permite que o programador controle e acesse diretamente diversos conceitos, possibilitando aprender todos os conhecimentos fundamentais de programação a fim de se obter um bom desempenho nos programas. Claro que toda essa flexibilidade tem seu custo, já que a linguagem C não costuma ser amigável
com o programador. Muitas vezes a linguagem vai permitir que programadores cometam erros sem avisá-los, ao passo que outras linguagens teriam barrado o acesso e alertado o programador. Por isso se diz que quem aprende a programar em C consegue facilmente aprender a programar em qualquer outra linguagem, quando o contrário nem sempre é verdadeiro.
1.3 Processo de geração de um programa
O processo geral de geração de um programa pode ser resumido nas etapas abaixo:
• Especificação do problema: compreender o problema, identificando objetivos, entradas e saídas esperadas.
• Desenvolvimento do algoritmo: criação do algoritmo, explicitando as instruções para que o problema seja resolvido.
• Teste do algoritmo: execução do algoritmo com dados de entrada distintos, observando se o seu comportamento de saída é o esperado.
• Desenvolvimento do programa: conversão do algoritmo em um programa por meio de uma linguagem de programação.
• Compilação: tradução do programa para uma linguagem de máquina, para que suas instruções possam ser compreendidas pelo processador e gerem o executável.
• Teste e Depuração: utilização de ferramentas de teste/depuração a fim de garantir que o programa foi construído corretamente.
• Execução: uso do programa propriamente dito.
Note que apenas as quatro etapas finais necessitam de computador para serem feitas.
1.4 Ambiente integral de desenvolvimento (IDE)
Um Ambiente Integral de Desenvolvimento (IDE) é um programa de computador que contém características e ferramentas para auxiliar no desenvolvimento de programas. IDEs costumam vir com um editor de textos que facilita a escrita do código. Além disso, muitos possuem um compilador embutido, fazendo com que a compilação seja imperceptível ao usuário, facilitando o processo. Atualmente existem diversos IDEs para o caso da linguagem C, como por exemplo Code::Blocks, Eclipse, NetBEans, Microsoft Visual Studio e DevC++. Uma boa alternativa sugerida é a IDE Code::Blocks, que além de ser multiplataforma, também possui opção para instalação com o compilador embutido. Além disso, existem diversos sites que possuem uma própria ferramenta e compilador on-line com suporte à linguagem C que podem ser utilizados como alternativa para programadores que não possam baixar e instalar uma IDE no computador.
1.5 Primeiro programa
Finalmente, após termos encerrado os conceitos introdutórios, chegamos ao primeiro programa em C.
1 #include
2
3 int main ()
4 {
5
6 printf(Hello World!
);
7
8 return 0;
9 }
Programa 1.2 Programa hello-world.c
Vamos passar linha por linha do código a seguir. Não se preocupe em entender todo o programa, pois ele possui aspectos que só serão trabalhados mais adiante, onde esses conceitos ficarão mais claros.
#include
int main() {: esta linha de código e a seguinte marcam o início do programa em si. Todas as instruções que o programa contiver serão realizadas sequencialmente a partir deste bloco, iniciado pelo símbolo {. Todo programa em C deve ter a função main para que seja executado.
printf(Hello World!
);: o comando printf é responsável por imprimir (o verbo imprimir nesse contexto é sinônimo de escrever na tela) no console alguma mensagem para o usuário, que neste caso é Hello World!
. Este comando é a razão de termos chamado a biblioteca stdio.h, pois é considerado um comando de saída de dados (está colocando na tela alguma informação para o usuário).
return 0;}: esta linha e a linha seguinte ({) finalizam o código e fecham o bloco.
Utilizando o IDE ou a ferramenta desejada, digite o código acima, compilando-o e executando-o em seguida. O resultado da execução do programa, conforme visto acima, deve ser o seguinte:
> Hello World!
Este resultado deverá aparecer no console/linha de comando