Escolar Documentos
Profissional Documentos
Cultura Documentos
EMENTA
Algoritmos e dados
• Tipos de dados;
• Variáveis e constantes;
• Operações básicas e operadores;
• Esquema genérico de um algoritmo em pseudo-código.
Bibliografia de Apoio
• FORBELLONE, André L. V.; Eberspächer, Henri F. Lógica de
Programação - A Construção de Algoritmos e Estruturas
de Dados 2a. Edição. Makron Books. 2000.
• FARRER, H. e outros. Algoritmos Estruturados Editora Guanabara. 1985.
ALGORITMO –
• sequência de passos finitos com o objetivo de solucionar um problema.
LINGUAGEM DE PROGRAMAÇÃO
• Linguagem de máquina Comunicação através de um
fenômeno físico. Foram escolhidos dois símbolos básicos [0
(zero) / 1 (um)].
• Linguagem de baixo nível Linguagem de Montagem,
também conhecida como assembly.
• Linguagem de alto nível próxima do ser humano com alto
poder de expressividade. (Ex. C, Pascal, Java).
Auxiliadora Freire Fonte: Guimarães, A de M - Algoritmos e estruturas de dados
Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 13
Yuri Lacerda (http://sites.google.com/site/yurilacerda/disciplinas/algoritmos-e-programao-i)
Algoritmo
LINGUAGEM DE PROGRAMAÇÃO
Algoritmo
10 para calcular
A média das
8 a média de
notas é: 9
entrada duas notas saída
2 momento: A <- B A B
20 20
3 momento:
B <- AUX
Auxiliadora Freire Fonte: Guimarães, A de M - Algoritmos e estruturas de dados
Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 22
Yuri Lacerda (http://sites.google.com/site/yurilacerda/disciplinas/algoritmos-e-programao-i)
Conceitos Básicos
Exemplo – SOMA DE DOIS NÚMEROS INTEIROS
Algoritmo “SomaDeInteiros”
var
x, y, soma: inteiro
inicio
escreva(“Primeiro Numero:”)
leia(x)
escreva(“Segundo Numero:”)
leia(y)
soma <- x + y
escreva(“A soma é: ”, soma)
fimalgoritmo
algoritmo “CalculaArea”
const
pi: real
var
r: real
Inicio
pi <- 3,14159265
escreva(“Calculo da area”)
escreva(“Informe o raio:”)
leia(r)
escreva(“A area da circunferencia eh:”, pi * r * r)
fimalgoritmo
13 - Criar um algoritmo que, dado um número de conta corrente com três dígitos, retorne o seu
dígito verificador, o qual é calculado da seguinte maneira:
Exemplo: número da conta 235
Somar o número da conta com o seu inverso: 235 + 532 = 767
Multiplicar cada dígito pela sua ordem posicional e somar estes resultados:
7 * 1 = 7 - 6 * 2 = 12 - 7 * 3 = 21 ------ 7 + 12 + 21 = 40
Digito verificar = último dígito da soma 0
• Utilizando Visualg
http://ultradownloads.uol.com.br/download/Visualg/
• /* comentários */
/* isto é um comentário */
#chamada de biblioteca
main ()
{
declaração de variável;
comandos;
return(0);
}
Ch = getche()
Ch = getch(c)
c = getchar()
putchar(c)
int main ()
{
char Ch;
Ch=getch(); /* não é padrão ANSI */
putchar(Ch);
return(0);
}
int main ()
{
char Ch1,Ch2,c;
printf("entre com um valor: ");
Ch1=getche(); /* mostra o que esta sendo digitado */
• Exemplo: scanf("%d",&Dias);
int main()
{
int x;
scanf("%d",&x);
printf("%d",x);
system("PAUSE");
return EXIT_SUCCESS;
}
#include <stdio.h>
#include <conio.h>
/* Este programa usa conio.h */
int main2 ()
{
char Ch;
return(0);
}
FUNÇÕES:
Funções:
Funções:
Funções:
O valor de retorno é:
menor que zero se s1 for menor que s2;
igual a zero se s1 e s2 são iguais;
maior que zero se s1 for maior que s2.
#include <stdio.h>
#include <cstdlib>
int main ()
{
char nome[100];
printf ("Digite um nome: ");
gets (nome);
printf ("\n\nVoce digitou %s\n",nome);
system("pause");
return(0);
}
int main ()
{
char nome[100];
int s;
printf ("Digite um nome: ");
gets (nome);
printf ("\n\nVoce digitou %s\n",nome);
s = strlen (nome);
printf ("\n\n%s Tem %d caracteres\n",nome,s);
system("pause");
return(0);
}
int main ()
{
char nome[100],nome1[100];
printf ("Digite um nome: ");
gets (nome);
printf ("\n\nVoce digitou %s\n",nome);
strcpy (nome1,nome);
printf ("\n\n Copia ....%s\n",nome1);
system("pause");
return(0);
}
int main ()
{
char nome[100],nome1[100] ,str2[100];
...........
int main ()
{
.............
if (strcmp(nome,nome1))
printf ("\n\nNomes diferentes\n ");
else printf ("\n\nNomes são iguais.\n");
.......
}
SOMA ++
++n incrementa antes de usar o valor
n++ incrementa após usar o valor
Ex. n = 5;
x = n++ /* atribue 5 a x */
x = ++n /* atribue 6 a x */
SUBTRAÇÃO --
--n decrementa antes de usar o valor
n-- decrementa após usar o valor
Ex. n = 5;
x = n-- /* atribue 5 a x */
x = --n /* atribue 4 a x */
#include <stdio.h>
#include <cstdlib>
“LER/IMP” algoritmo “LER/IMP” int main ()
Inicio {
Escreva num escreva (“numero =“, num); printf ("valor do numero %d\n",n);
fimalgoritmo system("pause");
return(0);
}
Auxiliadora Freire Fonte: Guimarães, A de M - Algoritmos e estruturas de dados
Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 59
Yuri Lacerda (http://sites.google.com/site/yurilacerda/disciplinas/algoritmos-e-programao-i)
Algoritmo
• SENTENÇAS E BLOCOS