O documento apresenta o plano de ensino para a disciplina de Linguagem de Programação Estruturada em C. O plano descreve os sete módulos que compõem o conteúdo programático, incluindo conceitos básicos da linguagem C, variáveis, estruturas sequenciais, condicionais, de repetição, funções e vetores. Também define os objetivos gerais e específicos, estratégias de trabalho, avaliação e bibliografia de referência.
1. Linguagem de Programação Estruturada (C)
Prof. Ramon Mayor Martins , M.Sc. Eng.
mayor@linuxmail.org
Parte 1
São José – 2015 – 2
IES - Instituto de Ensino Superior da Grande Florianópolis
2. Linguagem de Programação Estruturada
PLANO DE ENSINO
CURSO: Ciência da Computação
SÉRIE: 2ª semestre
DISCIPLINA: Linguagem de Programação Estruturada
CARGA HORÁRIA SEMANAL: 4,5 horas-aula
CARGA HORÁRIA SEMESTRAL: 90 horas-aula
3. Linguagem de Programação Estruturada
PLANO DE ENSINO
I - EMENTA
• Conceitos básicos: compiladores, sistema operacional, organização de computadores.
• Representação interna dos tipos básicos.
• Ambientes de programação: edição, compilação, execução de programas.
• Declaração de tipos em linguagem procedural, declaração de constantes, comandos de entrada/saída,
comandos de atribuição, operadores aritméticos, operadores lógicos, operadores relacionais,
comandos condicionais, comandos de repetição, técnicas de rastreamento de programas.
• Vetores e variáveis estruturadas.
II – OBJETIVOS GERAIS
Desenvolver o raciocínio lógico aplicado à solução de problemas em nível computacional.
III – OBJETIVOS ESPECÍFICOS
A disciplina deve capacitar o aluno no uso de uma linguagem de programação como ferramenta de
programação na implementação de soluções que envolvam os elementos básicos da construção de
algoritmos e programas de computador, conforme abordado na disciplina Lógica de Programação e Algoritmos.
4. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
5. Linguagem de Programação Estruturada
PLANO DE ENSINO
V – ESTRATÉGIAS DE TRABALHO
Aulas expositivas e recursos audiovisuais.
VI – AVALIAÇÃO
Provas bimestrais e trabalhos práticos.
VII – MATERIAIS
Os materiais para consulta constarão no blog: www.classestopics.blogspot.com
6. Linguagem de Programação Estruturada
PLANO DE ENSINO
VII – BIBLIOGRAFIA
Básica
DEITEL, H. M. - C - Como Programar - Makron Books - 2011
JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002
SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006
7. Linguagem de Programação Estruturada
PLANO DE ENSINO
VII – BIBLIOGRAFIA
Básica
DEITEL, H. M. - C - Como Programar - Makron Books - 2011
JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002
SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006
Complementar
BACKES, André – Linguagem C Completa e descomplicada – Elsevier - 2012
DAMAS, Luís – Linguagem C – 10a ed. - LTC - 2007
FEOFILOFF, Paulo – Algoritmos em Linguagem C - Campus/Elsevier - 2008
MIZRAHI, Victorine – Treinamento em Linguagem C – 2a ed. - Prentice Hall - 2008
OLIVEIRA, Ulysses – Programando em C – Vol II – Ciência Moderna - 2010
8. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
9. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
10. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• Em 1968, Edsger W. Dijkstra, através do artigo "A Case against the GO TO Statement"
critica o uso excessivo do comando de desvio incondicional GOTO nos programas desenvolvidos na época.
• Em 1972 , novamente Dijkstra, escreve sobre os conceitos da Programação Estruturada no
"Capítulo I- Notes on Structured Programming" do livro " Structured Programming“
• As Linguagens Estruturadas são tambem chamada de Linguagens Convencionais, Procedurais ou Imperativas
• Para a resolução de problemas relativamente mais simples e diretos, a programação estruturada
é muito eficiente.
1.1 O que é Linguagem Estruturada
11. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• A programação estruturada é uma forma de programação de computadores que estabelece uma
disciplina de desenvolvimento de algoritmos, independentemente da sua complexidade e da
linguagem de programação na qual será codificado
• Facilita a compreensão da solução através de um número restrito de mecanismos de codificação.
• Mecanismos:
• Estruturas Básicas de Controle,
• Modularização,
• Tipos Abstratos de Dados
1.1 O que é Linguagem Estruturada
[Ref. Devmedia]
• 1.1.1 - Elementos Chaves da Programação Estruturada
12. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1)Estruturas Básicas de Controle
• sequência,
• condição
• repetição.
Controle Sequencial: o mais simples. Os comandos são escritos na seqüência, e assim são executados: A;B;C...
Controle de Decisão: Permitem especificar uma escolha entre comandos alternativos.
Exemplo: SE-SENAO-ENTAO Representação básica:
Controle de Iteração: permitem especificar repetição de certos comandos Exemplo: ENQUANTO
1.1 O que é Linguagem Estruturada
• 1.1.1 - Elementos Chaves da Programação Estruturada
13. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
2) Modularização
Subprogramas = blocos estruturados de códigos (procedimentos, funções ou módulos);
A comunicação entre os blocos se faz utilizando variáveis globais e pela passagem de dados através de
parâmetros;
Os dados são processados nos blocos e migram de um bloco para outro.
Ex: funções, bibliotecas.
3) Tipos Abstratos de Dados
Modelo matemático, acompanhado das operações definidas sobre o modelo
1.1 O que é Linguagem Estruturada
• 1.1.1 - Elementos Chaves da Programação Estruturada
14. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
15. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Histórico:
• Desenvolvido por Dennis Ritchie e Ken Thompson entre 1969 e 1973 na AT&T Bell Labs.
• Criada para auxiliar no desenvolvimento do Sistema Operacional UNIX (com isso permitiu que fosse criado o
Primeiro sistema operacional implementado em uma linguagem diferente do Assembly)
• Possui características da Linguagem B (Baseada na Linguagem BCPL)
• No final dos anos 70, a Linguagem C começou a substituir a Linguagem BASIC como a linguagem de
Programação mais utilizada.
• Na década de 80 foi adaptada para uso no PC IBM – iniciando sua popularidade.
16. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Histórico:
• Ainda na década de 80 , Bjarne Stroustrup e o Laboratório Bell trabalham no C++ , projeto para adicionar
recursos de programação orientada a objetos.
• A Linguagem C++ é utilizada na confecção do Windows, enquanto a C permanece popular no mundo UNIX
• No final dos anos 80, a linguagem C sofre uma padronização pela ANSI (Instituto Norte-americano de padrões)
17. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
• A Linguagem C é uma imperativa e procedural, para implementação de sistemas
• linguagem de nível médio, pois pode-se trabalhar em um nível próximo ao da máquina ou como uma
linguagem de alto nível como outras existentes.
• Compilável
• fornece acesso de baixo nível - (possível a inclusão de código Assembly no meio do programa C)
• Criada com o objetivo de facilitar a criação de programas extensos com menos erros
• Extremamente simples
• Possui funcionalidades como: funções matemáticas, manuseamento de arquivos, através
da inclusão de bibliotecas.
• Possui ponteiros, que dão maior flexibilidade à linguagem.
18. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
• Possui recursos de estruturas (Struct) que permitem que dados relacionados sejam combinados
e manipulados como um todo.
• Com o C podemos escrever programas concisos, organizados e de fácil entendimento
Outras Características:
-Portabilidade
-Embaracação
-Geração de códigos executáveis compactos e rápidos
-Facilidade de uso
-Linguagem estruturada
-Confiabilidade
-Simplicidade
19. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
Portabilidade: pode ser compilada em diferentes arquiteturas, seja de hardware ou de software.
É possível usar C no Mac ou PC, com Linux ou Windows.
Modularidade: um programa em C é dividido em vários blocos de programação distintos
Linguagem Imperativa: em C você usa funções que modificam o estado do programa.
Elas são divididas em blocos e você as chama diretamente.
20. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Porque Linguagem C?
"Em outras palavras: a escolha de C é a única escolha sã. [...]
Eu cheguei à conclusão de que qualquer programador que preferiria que o projeto fosse feito em C++
ao invés de C provavelmente é um programador que eu quero longe,
assim ele não vem e estraga qualquer projeto em que eu esteja envolvido".
Linus Torvalds
C influenciou a maioria das linguagens mais utilizadas hoje em dia.
Por exemplo: Java, Javascript, Shell e PHP, por exemplo, além de todas as linguagens que são
C-*(C++, C#, Objective-C, etc).
Linguagem C está em tudo!
21. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Aplicações:
22. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
23. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
24. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
25. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
26. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
27. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
28. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
29. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
30. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
31. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
32. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
33. Linguagem de Programação Estruturada
PLANO DE ENSINO
Compiladores
É um grupo de programas que de posse de um codigo fonte escrito em uma linguagem de alto ou médio nível
traduz para uma linguagem de baixo nível (Assembly, código de máquina).
O primeiro compilador foi escrito por Grace Hopper em 1952, para a linguagem de programação A-0 para o
UNIVAC (o primeiro computador).
34. Linguagem de Programação Estruturada
PLANO DE ENSINO
Diferença entre Compilador e Interpretador:
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto,
ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido.
Cada execução do programa precisa ser novamente traduzido e interpretado.
Vantagens e Desvantagens:
Compilador:
-Processo de correção ou alteração do código requer que ele seja novamente recompilado.
-O código compilado é mais rápido de ser acessado;
-Compila o código somente se estiver sem erros
Interpretador:
-Correções e alterações são mais rápidas de serem realizadas;
-Código não precisa ser compilado para ser executado;
-Consomem menos memória
-Execução é mais lenta
-Necessita sempre ser lido o código original para ser executado;
35. Linguagem de Programação Estruturada
PLANO DE ENSINO
Diferença entre Compilador e Interpretador:
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto,
ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido.
Cada execução do programa precisa ser novamente traduzido e interpretado.
Vantagens e Desvantagens:
Compilador:
-Processo de correção ou alteração do código requer que ele seja novamente recompilado.
-O código compilado é mais rápido de ser acessado;
-Compila o código somente se estiver sem erros
Interpretador:
-Correções e alterações são mais rápidas de serem realizadas;
-Código não precisa ser compilado para ser executado;
-Consomem menos memória
-Execução é mais lenta
-Necessita sempre ser lido o código original para ser executado;
36. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
GCC sim
Compilador utilizado pelo projeto
GNU.
É padrão ANSI C e nativo do
sistema Linux,.
Não é preciso instalar
compiladores de terceiros.
Seu único problema é a falta de
uma interface, que prejudica
quem é principiante na
linguaguem
37. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Code Blocks sim
Code :: Blocks é uma
ferramenta livre C, C ++ e
Fortran IDE
38. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Dev-C++ sim
Criado pela Bloodshed,
Tem suporte a projeto
Apesar de compilar a linguagem C, seu
código é escrito em um código
totalmente diferente - o Delphi!
39. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
C++ Builder não
O C++ Builder é um dos melhores compiladores
que tem, com possibilidade de criação de
projetos extensos.
Desenvolvido pela Borland
Ele segue o padrão ISO ou ANSI C, mas também
tem muitas bibliotecas não padrão, fazendo
muitas vezes com que o programa perca a
portabilidade e o código escrito no C++ Builder
não rode em outros compiladores, mesmo que a
linguagem C seja a mesma.
40. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Visual C++ não
O visual C++ é um compilador
profissional da Microsoft que compõe
o pacote Visual Studio, com vários
recursos, como incremento de código,
depurador de erros avançado e outras
ferramentas que aumentam a
produtividade do programador. O
problema é que por ser da Microsoft
tem o preço elevado e só compensará
se você for usar esta linguagem para
desenvolvimento profissional em
aplicações Windows. Tem uma versão
trial no site oficial
41. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
42. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
43. Linguagem de Programação Estruturada
PLANO DE ENSINO
APARATO EXPERIMENTAL
Software
DEV C++ : http://www.bloodshed.net/devcpp.html
Como instalar? http://chortle.ccsu.edu/bloodshed/howtogl.html
Referências na Web
CPPReference.com : http://en.cppreference.com/w/
Cplusplus.com : http://www.cplusplus.com/reference/
Cprogramming.com : http://www.cprogramming.com/tutorial/c++-tutorial.html
44. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
45. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
46. Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO
• MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturada
o 1.2 Introdução a Linguagem C
o 1.3 Comparação Linguagem C e outras Linguagens
o 1.4 Compiladores Linguagem C
o 1.5 Método para a construção de programas em C
o 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL
• MÓDULO 3: ESTRUTURA SEQUENCIAL
• MÓDULO 4: ESTRUTURA CONDICIONAL
• MÓDULO 5: ESTRUTURA DE REPETIÇÃO
• MÓDULO 6: FUNÇÃO
• MÓDULO 7: VETORES
47. Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void)
{
printf("Hello World");
return 0;
}
48. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void)
{
printf("Hello World");
return 0;
}
49. Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void)
{
printf("Hello World");
return 0;
}