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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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.
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)
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.
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
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.
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!
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Aplicações:
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
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
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
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).
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;
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;
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
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
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!
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.
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
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
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
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
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
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
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;
}
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;
}
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;
}

IES GF - Linguagem de Programação Estruturada - Parte 1

  • 1.
    Linguagem de ProgramaçãoEstruturada (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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.2 Introdução a Linguagem C Aplicações:
  • 22.
    Linguagem de ProgramaçãoEstruturada 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çãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 24.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 25.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 26.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 27.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 28.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 29.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 30.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 31.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.3 Comparação Linguagem C e outras Linguagens
  • 32.
    Linguagem de ProgramaçãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C
  • 42.
    Linguagem de ProgramaçãoEstruturada MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C 1.4 Compiladores Linguagem C
  • 43.
    Linguagem de ProgramaçãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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çãoEstruturada 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; }