Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

00-Disciplina de Programação Apresentação

Fazer download em pptx, pdf ou txt
Fazer download em pptx, pdf ou txt
Você está na página 1de 104

Disciplina de Programação

UFCD 0782
UFCD 0783
UFCD 0784

2019/2020
Prof Célia
Reis
Disciplina de
Programação
UFCD 0782 - Programação em C/C++ - estrutura básica e conceitos fundamentais
UFCD 0783- Programação em C/C++ - ciclos e decisões
UFCD 0784 - Programação em C/C++ - funções e estruturas

2019/2020
Prof Célia
Reis
Plano anual

Data previsto terminar


UFCD Descrição Horas Segmentos de 50 minutos

Programação em C/C++ - 27/11/2019


0782 estrutura básica e conceitos 50 60
fundamentais
28/02/2020
Programação em C/C++ - ciclos
0783 50 60
e decisões

27/05/2020
Programação em C/C++ -
0784 50 60
funções e estruturas

  Total 150 180  


Conteúdos UFCD 0782

 Estrutura de um programa em C/C+ • Cadeia de carateres e


+
entrada e saída de dados
 Função main ()
formatados
 Estrutura de um programa
– Cadeia de carateres
 Dados em C/C++
– Função Scanf ()
 Variáveis e consoantes
– Códigos de formatação para
 Declaração de variáveis
a função scanf ()
 Tipos de dados
– Códigos de modificação para
 Função printf () a função scanf ()
 Constantes – Operador de endereço &
 Variáveis – Função strlen()
 Formatação – Directiva #define
 Sequências de escape – Funções getche() e getch()
 Carateres gráficos – Funções getchar() e putchar(
 Valores de virgula flutuante )
Conteúdos UFCD 0783

 Operadores e expressões em C/C+


+ • Estruturas repetitivas em C/C++
 Operadores aritméticos – Implementação com a
 Operador de atribuição instrução while
– Implementação com a instrução
 Operadores +,-,/ e *
do while
 Operador unário - • Estruturas repetitivas complexas
 Operador módulo % – Estruturas matriciais
 Operador de incrementos ++ – Condições de controlo
 Operador de documentos – • Estruturas alternativas em C/C+
+
 Expressões aritméticas
– Instrução if e if else
 Precedências dos operadores – Condições e operadores lógicos
 Operadores de atribuição +=, -=, – Alternativas múltiplas
*=, /= e %= – Instruções break, contine e go to
 Operadores cast
 Operadores relacionais
 Expressões relacionais
Conteúdos UFCD 0784
 Funções • Apontadores
 Estrutura e argumentos de uma função – Definição e declaração de apontadores
 Variáveis locais – Operador indireto (*)
 Tipos de funções – Atribuição de valores a variáveis
 Funções recursivas apontadores
 Classes de armazenamento – Operações com apontadores
 Matrizes – Apontadores para matrizes
 Declaração de matrizes – Apontadores para strings
 Armazenamento de dados numa matriz – Apontadores para funções apontadores
 Leitura de dados de uma matriz como argumento de uma função
 Matrizes unidireccionais • Estruturas
 Matrizes multidimensionais – Definição e declaração de uma estrutura
 Matrizes como argumento de funções – Inicialização de uma estrutura
 Cadeias de carateres (string) – Matrizes de estruturas
 Strings constantes – Apontadores para estruturas
 Strings variáveis – Estruturas em lista ligada
 Matriz de strings • Uniões
 Leitura de strings – Definição e declaração de uniões
 Escrita de strings – Uniões de estruturas
 Função printf ()
 Bom trabalho 
Disciplina de Programação
UFCD 0782 - Programação em C/C++ - estrutura básica e conceitos
fundamentais

AULA 1, 2 e 3

2019/2020
Prof Célia
Reis
Sumário:

 Noções básicas de algoritmia


Programa de computador

 Um programa de computador consiste numa sequencia de


passos a serem executados.
 Se computadores cozinhassem em vez de processar dados, um
programa típico poderia ser:
Lógica de programação

 Lógica de Programação é a técnica de


desenvolver algoritmos (sequências lógicas)
para atingir determinados objectivos.
 Utiliza regras baseadas na Lógica
matemática e em outras teorias básicas da
Ciência da Computação.
 As sequencias lógicas são depois adaptadas
para a Linguagem de Programação utilizada
pelo programador para construir
determinado software.
Sequência lógica

 Sequência de instruções, que devem ser seguidas


para se cumprir uma determinada tarefa.
 Passos executados até atingir um objetivo ou a
solução de um problema
Instruções

 Conjunto de regras ou normas definidas para a


realização de qualquer coisa.
 Em informática, é o que indica a um computador
uma ação elementar a executar.
Fases da programação

Definição do problema

Planificação da resolução

Implementação - Codificação

Testes e depuração

Documentação

Manutenção
Fases da programação

 Definição do problema
 Definir o problema que se pretende resolver.
 A definição deve ser feita da forma mais clara possível.
 Não se pode seguir para a fase seguinte sem sem ter
um enunciado preciso de todos os aspectos do
problema a resolver.
Fases da programação

 Planificação da resolução
 Abordar o problema da forma mais adequada possível
à obtenção da solução
 É nesta fase que surgem os algoritmos
 Um algoritmo é um conjunto ou sequência finita e
ordenada de acções que conduzem à solução de um
determinado problema.
Fases da programação

 Implementação – codificação
 Após a definição do algoritmo passa-se à sua
codificação.
 A codificação consiste em transpor as indicações de
um algoritmo para uma determinada linguagem de
programação.
Fases da programação

 Testes e depuração
 Após obtido o código do programa é necessário testa-lo
com diversos tipos de dados e em diferentes situações.
 Tem como objectivo a detecção de erros, falhas ou
omissões.
Fases da programação

 Documentação
 Visa tanto programadores como utilizadores
 Para os programadores a documentação, pode em
grande parte, ser incluída no próprio código do
programa e visa facilitar a compreensão e a eventual
retoma de alterações.
 Para os utilizadores a documentação visa facilitar a
aprendizagem relativa ao modo de operar com o
programa.
Fases da programação

 Manutenção
 Possíveis alterações que sejam necessárias fazer ou
aperfeiçoamentos que se revelem úteis de introduzir.
 Esta fase tende a ocupar uma percentagem cada vez
maior no trabalho dos profissionais de programação.
Algoritmos e Algoritmia
 Um algoritmo é um conjunto ou sequência finita e ordenada de
acções que conduzem à solução de um determinado problema.
 Em matemática, constitui o conjunto de processos (e símbolos que
os representam) para efectuar um cálculo.
 Os algoritmos podem repetir passos (fazer iterações) ou
necessitar de decisões (tais como comparações ou lógica) até que
a tarefa seja completada.
 Um algoritmo correctamente executado não irá resolver um
problema se estiver implementado incorrectamente ou se não for
apropriado ao problema.
Algoritmos e Algoritmia

 Um algoritmo não representa, necessariamente, um


programa de computador, mas sim os passos
necessários para realizar uma tarefa.
 A implementação de um algoritmo pode ser feita
por um computador, por outro tipo de autómato ou
mesmo por um ser humano.
 Diferentes algoritmos podem realizar a mesma
tarefa usando um conjunto diferenciado de
instruções em mais ou menos tempo, espaço ou
esforço do que outros
Algoritmos e Algoritmia

 Um algoritmo correctamente formulado


permite-nos chegar sempre aos mesmos
resultados, desde que os dados ou
condições de partida sejam os mesmos.
 A algoritmia, ou seja, a formulação de
algoritmos, permite-nos separar duas
fases distinta na resolução de problemas:
 a fase de concepção ou formulação do algoritmo
 a fase da implementação do algoritmo numa linguagem
ou ferramenta de programação.
Algoritmos em linguagem
informal, pseudocódigo e
Representação esquemática de
Início Início
fluxogramas
algoritmos como sequências
de acções

Acção 1 Acção 1

Verdadeiro
Acção 2 Falso
Condição

Acção 3
Acção 3

Fim Fim

Sequência linear
Sequência não
linear
Algoritmos em linguagem
informal, pseudocódigo e
fluxogramas
 Exemplos de um algoritmo:
 Problema:
 Substituir uma lâmpada fundida
 1 – Preparar uma lâmpada nova.
 2 – Retirar a lâmpada fundida.
 3 – Colocar a lâmpada nova.
 4 – Ligar o interruptor.

 Sequências como a anterior representam


algoritmos formulados em linguagem
informal. È utilizada a nossa linguagem
natural e não uma linguagem convencional
com maior rigor.
Algoritmos em linguagem
informal, pseudocódigo e
fluxogramas
 Os algoritmos pensados para programas de
computador exigem uma formulação com
maior rigor e para isso existem linguagens
formais. As linguagens de programação
podem considerar-se linguagens formais.
 Em algoritmia são utilizadas linguagens e
formas de representação das instruções
como:
 Pseudocódigo
 Fluxogramas
 Outros diagramas.
Algoritmos em linguagem
informal, pseudocódigo e
fluxogramas
 Considere-se o seguinte algoritmo (em linguagem informal):
 Calcular a área de um rectângulo
 1 – Obter os valores do comprimento e da largura.
 2 – Calcular: área = comprimento x largura.
 3 – Apresentar o valor da área.

 No algoritmo são utilizadas três operações


básicas:
 Input ou entrada de dados
 Processamento interno (cálculos)
 Output ou saída de dados.
Algoritmos em linguagem
informal, pseudocódigo
Para uma formulação e podem ser
mais precisa dos algoritmos
utilizadas palavras convencionais para representar as operações
fluxogramas
em causa e variáveis para representar os dados. Por exemplo:
 Operações: Ler; Escrever.
 Variáveis: Comp; Larg; Area.
 Reformulando o algoritmo anterior:
Já utiliza palavras e sinais
Variáveis Area, Comp, Larg: Inteiros convencionais logo pode
Início considerar-se linguagem
formal
Ler (Comp, Larg);

Area <- Comp x Larg;

Escrever (Area) È considerado


pseudocódigo, uma vez
Fim
que se assemelha a uma
linguagem de
programação
Algoritmos em linguagem
informal, pseudocódigo e
fluxogramas Fluxograma
Início ou fim
s
Subalgoritmo

Entrada ou
saída de dados Selecção
múltipla
Processamento
interno

Decisão
comentários

Conector

Linha de fluxo
Algoritmos em linguagem
informal, pseudocódigo e
início
fluxogramas início

Ler(NotaExame
)
Ler(Com, Larg)

Falso
NotaExam >= 10
Area < Comp * Larg

Verdadeiro

Escrever(Area) Escrever(“Aprovado”) Escrever(“Reprovado”)

Fim

Fim
Noção de algoritmo

 Um algoritmo pode ser definido como uma sequência


finita de passos (instruções) para resolver um
determinado problema.
 Existem diversas formas de representação de algoritmos, mas não há um
consenso em relação à melhor delas.

 De entre as formas de representação de algoritmos mais conhecidas


podemos citar:

 Descrição Narrativa;

 Fluxograma Convencional;

 Pseudocódigo, também conhecido como Linguagem Estruturada ou


Portugol.
Exemplo de um pneu furado:

 Como trocar um pneu furado:

 Verificar se o pneu está furado


 Ir buscar os acessórios na bagageira
 Luxar ligeiramente as porcas com chave
 Colocar o macaco para suspender o carro
 Retirar as porcas
 Retirar o pneu furado
 Ir buscar o pneu suplente à bagageira
 Colocar o pneu suplente no eixo
 Colocar as porcas manualmente
 Apertar as porcas com a chave
 Tirar o macaco para baixar o carro
 Dar o aperto final nas porcas
 Arrumar os acessórios
 Arrumar o pneu suplente
exemplo2

 Exemplo do cálculo da média das notas de um aluno:

 Cálculo da média de um aluno:

 Obter as suas 2 notas de provas

 Calcular a média aritmética ((nota 1+nota2)/2)

 Se a média for maior que 9,5

 o aluno foi aprovado,

 senão ele foi reprovado


pseudocódigo

 Um algoritmo é constituído por um conjunto de expressões


simbólicas que representam ações (escolher, atribuir, etc.),
testes de condições (estruturas condicionais) e estruturas
de controlo (ciclos e saltos na estrutura sequencial do
algoritmo) de modo a especificar o problema e respetiva
solução.

 Este tipo de linguagem formal (que se assemelha a uma


linguagem de programação) costuma designar-se por
pseudocódigo.
pseudocódigo

 Exemplo
Calcular a área de um retângulo:

Variáveis Area, Comp, Larg: inteiros


Início
Ler (Comp, Larg)
Area <- Comp*Larg
Escrever (Area)
Fim
Características de um
algoritmo

 Entradas
Quantidades inicialmente especificadas (por exemplo,
através de instruções de leitura).

 Saídas
Uma ou mais saídas (habitualmente por instruções de
escrita).
A execução deve terminar sempre num número finito
de passos.
Disciplina de Programação
UFCD 0782 - Programação em C/C++ - estrutura básica e conceitos
fundamentais

AULA 4, 5 e 6

2019/2020
Prof Célia
Reis
Sumário:

 Estrutura de um programa em
C/C++
 Função main ()
 Estrutura de um programa
Programar, o que é?

 Programar é dar ordens para que os computadores façam o que você


quer que eles façam.
 
 Programação é o processo de escrita, teste e manutenção de um
programa de computador. O programa é escrito em uma linguagem de
programação, embora seja possível, com alguma dificuldade, escrevê-lo
diretamente em linguagem de máquina. Diferentes partes de um
programa podem ser escritas em diferentes linguagens.

 O primeiro passo é pensar como o computador pode resolver


determinado problema, isso é o chamado algoritmo .
 Um algoritmo nada mais é do que uma sequência de passos para se
realizar alguma coisa.

  
 O exemplo clássico para entender este conceito é pensar em uma receita de
bolo.
 Nela, temos ingredientes e uma ordenação de passos para fazer algo, no caso,
um bolo.
 A tradução dessa sequência de passos em uma sequência de códigos é chamada
de programa, o algoritmo concretizado.

 Geralmente, assume-se que um algoritmo deve satisfazer os seguintes


requisitos:
 Ser um conjunto finito de instruções simples e precisas, que são descritas com
um número finito de símbolos;
 Sempre produzir resultado em um número finito de passos;
 Poder, a princípio, ser executado por um ser humano com apenas papel e lápis;
 Não requerer inteligência do ser humano além do necessário para entender e
executar as instruções.
Criar o primeiro projeto em
visualstudio

 https://www.youtube.com/watch?v=s_1wzmXV5jI
Primeiro programa C#
 Escrever um programa
que mostre: Console.
 o teu nome,
 a morada,
 a escola onde estudas,
 o ano letivo;
Algoritmo
Algoritmo
Algoritmo
Algoritmo
Algoritmo
Aplique a sintaxe do comando se/senão para
resolver o seguinte exercício

 [0 – 5[  avaliação=Muito Fraco
 [5 – 9.5[  avaliação=Fraco
 [9.5 – 14[  avaliação=Suficiente
 [14 – 18[  avaliação=Bom
 [18 – 20]  avaliação=Muito Bom
 >20  “ERRO!!! A NOTA DEVE ESTAR ENTRE 0 E 20”
 https://pt.slideshare.net/apbertoletti/lp-aula06?next_
slideshow=1

 https://pt.slideshare.net/apbertoletti/lgica-de-progra
mao-40797831
Referencias

 http://
pt.wikibooks.org/wiki/Categoria:Livro/In
trodução_à_programação
 Azul, A. Augusto, Linguagens de
Programação. Programação e Sistemas
de Informação, Porto Editora, 2010

Você também pode gostar