You are on page 1of 15

Algoritmo e Programação de

Computadores

Alexandre Ribeiro

(alexandre.mecatronica@gmail.com)

https://sites.google.com/site/alexandreribeiromecatronica
Apresentação
 Professor
 Disciplina
 Alunos
 Perguntas

2
Ementa
 Introdução a Linguagem C
 Variáveis e Operadores
 Comandos de Entrada, Saída e Estrutura Condicional
e Repetição.
 Vetor, Matriz e String
 Funções
 Ponteiros
 Vetores e Funções
 Estruturas
 Acesso a Hardware
 Programação orientada a objeto
 Programação em linguagem visual
Bibliografia
 Básicas
– KLANDER, Jamsa – Programando C/C++ - A Bíblia, Makron Books
– FARRER, H., C.G. Becker, E.C. Faria, H. F. Matos, M.A. Santos e
M.L. Maia (1989) “Algoritmos Estruturados”, LTC Editora, São
Paulo.
– SCHHILDT, Herbert - C Completo e Total, Makron Books do Brasil,
São Paulo.

 Complementar
– KERNIGHAN, B. C. e Ritchie, D. M., C a Linguagem de Programação,
Campus, 1989.
– GUIMARAES, Lajes - Algoritmos e estruturas de dados
– SEDGEWICK, Robert,. Algorithms in C. 3rd ed. Reading, Mass.: Addison-
Wesley, c1998-c2002. v. 1-2;
Introdução
 Programa
– Seqüência de instruções que descrevem
como executar determinada tarefa
 Circuitos eletrônicos: reconhecem e
executam diretamente um conjunto
limitado de instruções simples

 Linguagem de Máquina
Introdução
 Linguagem de Máquina
– Limitada e Simples. Por quê?
– Cada arquitetura de computador possui a sua
– Difícil e lento de programar  Só números
 Solução?
– Encontrar uma forma mais amigável de
instruir o computador
– Desenvolver um novo conjunto de instruções
– Linguagem de Montagem  Assembly
Introdução
 Assembly
– Os programas em Assembly são convertidos
para linguagem de máquina através do
programa Assembler
– Ainda é difícil de programar e específica do
computador
 Solução?
– Linguagens de Alto Nível
– Ex.: Pascal, C, Java, Visual Basic, ASP
Introdução
 Linguagens de Alto Nível
– compilação
– interpretação
 Compilação
– Cada instrução é traduzida para uma seqüência
de instruções em linguagem de máquina
– Obtém-se um novo programa, composto por
instruções de máquina
– Este novo programa é chamado de executável
– Ex.: Pascal, C, Visual Basic
Introdução
 Interpretação
– não gera novo código: o próprio programa
escrito em linguagem de alto nível é colocado
em execução
– durante a execução, o interpretador converte
cada instrução para a linguagem de máquina
específica do computador e então executa
– Ex.: Java, ASP
Histórico
 BCPL (Basic Combined Programming
Language)  Martin Richards
 B  Ken Thompson
 C  Dennis Ritchie, na década de 70
– ANSI C: padronizado pelo American National
Standards Institute
– C++ : linguagem orientada a objetos
– C# (C sharp): linguagem orientada a objetos que
permite programar na plataforma .NET
Recursos
 Aplicações
– Software Básico
– Complemento de Aplicativos (rotinas mais rápidas)
– Aplicações cliente-servidor
– Programas para Engenharia, Física, Química e
Matemática
– Rotinas de baixo nível para prover baixo tempo de
resposta
– Exemplos: Sistema operacionais, interpretadores,
editores de texto, planilhas eletrônicas,
compiladores, gerenciadores de banco de dados
Recursos
 Hardware
– Acesso a:
 portas
(serial, paralela)
 memória de vídeo
 memória RAM
 rede

 Software
– processos em multitarefa
– comunicação interprocessos (IPC)
Organização do Programa
 Uma função principal e, opcionalmente,
funções auxiliares
 Um único arquivo ou vários

Função Função Função 1


Principal Principal
OU Função 2
Função 1

principal.c principal.c auxiliar.c


Criando o Programa Executável

prog.c prog.obj

Bibliotecas
Pré-
aux1.c processamento prog.exe
aux1.obj
Link-
Edição edição
Compilação

aux2.c aux2.obj
Estrutura de um Programa
/* Comentários */
<definições de pré-processamento>
<protótipo de funções>;
<declarações de variáveis globais>;
main( ) {
<declarações de variáveis locais>;
<inicializações>;
<comandos, chamadas a funções>;
}
<código das funções>;