
ucastro
Membros-
Total de itens
26 -
Registro em
-
Última visita
Tudo que ucastro postou
-
Não entendo uma coisa de chave estangeira. Suponhamos que temos duas tabelas: Tabela Pai Clientes cli_codigo Chave primária cli_nome depto_codigo Chave estrangeira tipo int Tabela filho Departamento depto_codigo Chave primária depto_nome Imagine se eu tiver 400 departamentos e que já estão todos cadastrados na tabela filho. Agora vou começar a inserir os Clientes na tabela Pai , mas surge um problema toda vez que eu chego no campo depto_codigo como é que eu vou saber qual é o número do departamento. Vou ter que ficar toda vez consultando a tabela filho Departamento para saber o número? Não tem como fazer a chave estrangeira por nome de departamento não? Imagina então se eu fizer outros relacionamentos com a tabela cliente como tabelas filhos telefone, banco.... Vou ter que ficar consultando tabela por tabela para saber os números das pastas filhos para inserir na chave estrangeira na pasta pai.
-
A saida do script do python não sai acento. Veja o script: #!/usr/bin/env python # -*- coding: utf-8 -*- lista = ["joão", "maria", "josé", "ana"] print (lista) E veja a execução do comando: ucastrobr@ucastrobr-desktop:~$ ./exemplo1.py ['ana', 'jo\xc3\xa3o', 'jos\xc3\xa9', 'maria'] Uso o Ubuntu e queria usar acento, e já está com o código # -*- coding: utf-8 -*- e o arquivo foi salvo como utf8. O que pode ser feito?
-
(Resolvido) Como baixar o Tquickrep para Delphi 7
pergunta respondeu ao ucastro de ucastro em Delphi, Kylix
É eu segui a orientação sua do outro post e instalei a versão atualizada e bingo!! Muito obrigado pela orientação. -
Sou iniciante e não consigo achar esse Tquickrep. Já instalei o Pacote Quick Report instalando o pacote dclqrt70.bpl da pasta Bin do Delphi e nada. Quando abro a aba Quick Report só aparece a opção TQRchart e nada de Tquickrep. Meu Delphi é trial. Alguém pode me ajudar? Não esqueçam que já está instalado o pacote Quick Report só quero saber do Tquickrep.
-
Comprei um livro passo a passo de visual basic 2005, posso baixar o express 2008 para estudá-lo? Ou o melhor é baixar o 2005?
-
Obrigado novamente Jhonas. Seguindo sua dica ficou beleza. writeln('Os primeiros 12 números serão multiplicados por 2, e os últimos 12 números subtraídos por 5 '); for I:=1 to 12 do writeln(C[I,1]), ' ' , (C[I,2]); end. 2 -4 4 -3 6 -2 8 -1 10 0 12 1 14 2 16 3 18 4 20 5 22 6 24 7
-
Tem um exercício que pede a seguinte questão: Ler duas matrizes A e B, cada uma com uma dimensao para 12 elementos. Construir uma matriz C de duas dimensoes. A primeira coluna da matriz C deve ser formada pelos elementos da matriz A multiplicados por 2 e a segunda coluna deve ser formada pelos elementos da matriz B subtraidos de 5. Fiz mas só consigo que funcione a segunda colu na onde os números devem ser subtraídos por 5, a primeira nem aparece. Veja o resultado: Escreva 12 números 1 Escreva 12 números 2 Escreva 12 números 3 Escreva 12 números 4 Escreva 12 números 5 Escreva 12 números 6 Escreva 12 números 7 Escreva 12 números 8 Escreva 12 números 9 Escreva 12 números 10 Escreva 12 números 11 Escreva 12 números 12 Escreva mais 12 números 1 Escreva mais 12 números 2 Escreva mais 12 números 3 Escreva mais 12 números 4 Escreva mais 12 números 5 Escreva mais 12 números 6 Escreva mais 12 números 7 Escreva mais 12 números 8 Escreva mais 12 números 9 Escreva mais 12 números 10 Escreva mais 12 números 11 Escreva mais 12 números 12 Os primeiros 12 números serão multiplicados por 2, e os últimos 12 números subtraidos por 5 -4-3-2-101234567 Observação: Vejam que só aparece os resultados da segunda coluna, não sei onde está o erro. O algoritmo: program operacao; uses crt; var A,B:array[1..12]of integer; C:array[1..12,1..2]of integer; I,J:integer; begin clrscr; for I:=1 to 12 do begin Write('Escreva 12 números ');readln(A[I]); end; for I:=1 to 12 do begin Write('Escreva mais 12 números ');readln(B[I]); end; begin For J:=1 to 2 do For I:=1 to 12 do if J=1 then C[I,J]:=A[I]*2 else C[I,J]:=B[I]-5; end; writeln('Os primeiros 12 números serão multiplicados por 2, e os últimos 12 números subtraidos por 5 '); for I:=1 to 12 do write(C[I,J]); end.
-
Corrigir falha de média pascal Resolvido!
pergunta respondeu ao ucastro de ucastro em Outras Linguagens de Programação
Está correto sua resposta. Ok Obrigado!!! -
Corrigir falha de média pascal Resolvido!
uma questão postou ucastro Outras Linguagens de Programação
Tem um algorítmo onde é para ler 4 notas bimestrais e ler o nome de três alunos e calcular a média de cada um, também a média geral de todos e colocar os nomes em ordem alfabética. Na hora de imprimir (escrever o resultado) a média geral não não está dando certo. Veja como fica: Digite o nome do:1 aluno:Ricardo Sua:1 Nota:10 Sua:2 Nota:9 Sua:3 Nota:8 Sua:4 Nota:7 Digite o nome do:2 aluno:Pedro Sua:1 Nota:7 Sua:2 Nota:6 Sua:3 Nota:5 Sua:4 Nota:4 Digite o nome do:3 aluno:Pâmela Sua:1 Nota:6 Sua:2 Nota:5 Sua:3 Nota:4 Sua:4 Nota:3 O aluno:Pedro Sua média:5.5 O aluno:Pâmela Sua média:4.5 O aluno:Ricardo Sua média:8.5 Média geral da turma:1.5 Segue o algoritmo: Program cal_media; uses crt; var nota:array[1..3,1..4]of real; nomes:array[1..3] of string; media:array[1..3] of real; x:string; a:real; i,j,atual,proximo:integer; soma_nt,soma_md,media_gp:real; Begin clrscr; For I:=1 To 3 Do Begin soma_md:=0; soma_nt:=0; Write('Digite o nome do:',i,' aluno:');readln(nomes[i]); For j:=1 To 4 Do Begin Write('Sua:',j,' Nota:');Readln(nota[i,j]); soma_nt:= soma_nt + nota[i,j]; end; media[i]:=soma_nt/4; soma_md:=soma_md+media[i]; end; For atual:=1 To 2 Do Begin For proximo:=atual+1 To 3 Do Begin If nomes[atual]>nomes[proximo]Then Begin x:=nomes[atual]; nomes[atual]:=nomes[proximo]; nomes[proximo]:=x; a:=media[atual]; media[atual]:=media[proximo]; media[proximo]:=a; end; end; end; For i:=1 To 3 Do Begin Writeln('O aluno:',nomes[i]); Writeln('Sua média:',media[i]:2:1); Writeln; end; media_gp:=soma_md/3; Write('Média geral da turma:',media_gp:2:1); writeln; end. ONDE ESTÁ O ERRO? -
Pascal qual o erro de sintaxe que não compila. Resolvido!
pergunta respondeu ao ucastro de ucastro em Outras Linguagens de Programação
Obrigado novamente!! Só erro bobo!! -
md8.pas(36,11) Fatal: Syntax error, "DO" expected but "identifier O" found Fatal: Compilation aborted Recebo esta mensagem quando tento compilar um programa com o nome md8.pas. É um programa sobre pesquisa sequencial de 10 nomes. Segue o algoritmo: program beagle; uses crt; var Nome:array[1..10]of string; I:integer; Pesquisa:string; Resp:string; Acha:boolean; begin clrscr; for I:=1 to 10 do begin writeln('Escreva nome',I:2,'o.: ');readln(Nome[I]); end; Resp:='Sim'; while Resp='Sim' do begin writeln; write('Entre com o nome a ser pesquisado: ');readln(Pesquisa); I:=1; Acha:=false; while I<=1O and Acha=false do if Pesquisa=Nome[I] then Acha:=True else I:=I+1; if Acha=true then Write(Pequisa,' foi localizado na posição ',I) else Write(Pesquisa,' Não foi localizado'); writeln; write('Deseja continuar?'); write(Resp); end; end. Mais uma pergunta ,tem um usuário visitante vendendo video-aulas 6 horas de pascal e 5 horas de Delphi além de outras linguagens de programação. Para aprender qual o melhor curso online a fazer em VBnet depois que pegar uma melhor noção de lógica de programação ou compensa comprar tipo essas video-aulas? Porque agosto farei o curso técnico de informática no Senac e está programado Visual Basic e queria ir no curso já sabendo bastante. Então por enquanto queria algo meio barato para ir aprendendo.
-
(Resolvido) Queria saber o porque de um algoritmo Pascal.
pergunta respondeu ao ucastro de ucastro em Lógica de Programação
Ok!! Jhonas obrigado!! -
Tem um exercício que pede para fazer o seguinte: Ler duas matrizes do tipo vetor A com 20 elementos e B com 30 elementos. Construir uma matriz C, sendo esta a junção das duas outras matrizes. Desta forma, C deverá ter a capacidade de armazenar 5O elementos. Tinha feito mas não dava certo. Até que pesquisando vi que teria que colocar B[i-20] e daí funcionou. Vejam o algoritmo abaixo e expliquem de modo simples porque tem de ser B[i-20] e não B. program JuncaoDeVetores; uses crt; var A:array[1..20]of integer; B:array[1..30]of integer; C:array[1..50]of integer; i:integer; begin clrscr; write('Escreva 50 números'); for i:=1 to 20 do readln(A[i]); for i:=1 to 30 do readln(B[i]); for i:=1 to 50 do begin if i<=20 then C[i]:=A[i] else C[i]:=B[i-20]; {A princípio tinha colocado B[i] e não dava certo} end; for i:=1 to 50 do begin writeln(C[i]:5); end; writeln; writeln('Pressione [Enter] para prosseguir.'); readln; end.
-
(Resolvido) Cálculo de fatorial de duas matrizes em Pascal
pergunta respondeu ao ucastro de ucastro em Lógica de Programação
É costume de fazer um português estruturado depois acaba esquecendo que não é 'programa' e sim 'program'. Valeu a força!! Além do que percebi que onde se encontra na última linha: for i:=1 to 15 do writeln('Fatorial de ', i,' = ', b[i]); O correto é não é 'i' e sim a porque quero o fatorial dos números que digitei. Bom ao poucos vou aprendendo. -
Tenho um exercício para fazer onde pede: Ler uma matriz A do tipo vetor com 15 elementos. Construir uma matriz B de mesmo tipo, sendo que cada elemento da matriz B seja a fatorial do elemento correspondente da matriz A. Fiz e ficou assim: programa matriz; uses crt; var a,b:array[1..15]of integer; i,FAT:integer; Begin clrscr; writeln(' Digite 15 números'); for i:=1 to 15 do readln(a[i]); for i:=1 to 15 do begin b[i]:= 1; for FAT:=1 to a[i] do b[i]:= b[i]* FAT; end; for i:=1 to 15 do writeln('Fatorial de ', i,' = ', b[i]); End. Só que na hora de compilar dá o seguinte erro: Fatal: Syntax error, "BEGIN" expected but "identifier PROGRAMA" found Fatal: Compilation aborted Onde está o erro? Alguém pode me ajudar?
-
Dúvida pascal RESOLVIDO
pergunta respondeu ao ucastro de ucastro em Outras Linguagens de Programação
Obrigado Rafael!!! Agora ficou perfeito segue como ficou abaixo. program Par_ou_impar; uses crt; var A, B :array[1..10] of integer; I:integer; begin { *** Entrada dos Dados ***} clrscr; for I := 1 to 10 do begin write('Informe o valor ', I,'= ');readln(A[I]); end; { *** Teste Par ou Ímpar ***} for I:= 1 to 10 do if (A[I] mod 2 = 0) then B[I]:= A[I]* 5 else B[I]:= A[I]+ 5; writeln; { *** Apresentação das matrizes ***} for I := 1 to 10 do writeln(A[I]:2,' ', B[I]:2 ); writeln; writeln('Tecle <ENTER> para encerrar: '); readln; end. -
Tem um exercício para eu fazer que manda efetuar a leitura de 10 elementos de uma matriz A. Construir também uma matriz B onde se o índice for par, o valor deverá ser multiplicado por 5, sendo ímpar, deverá ser somado com 5. Ao final , mostrar o conteúdo das duas matrizes. Bem segue o modo como fiz: program indice_par_ou_impar; uses crt; var A,B:array[1..10]of real; I:integer; Begin clrscr; for I:=1 to 10 do begin writeln('Escreva os 10 valores: ');readln(A[I]); end; for I:=1 to 10 do begin if I mod 2=0 then B[I]:=A[I]*5 else B[I]:=A[I]+5; end; for I:=1 to 10 do begin Writeln(A[I]:6:0,B[I]:6:0); end; end. O problema está no resultado que quando digito por exemplo só números pares não multiplica todos os números por 5, não sei qual a razão. Segue o resultado do programa. Escreva os 10 valores: 2 Escreva os 10 valores: 4 Escreva os 10 valores: 6 Escreva os 10 valores: 8 Escreva os 10 valores: 2 Escreva os 10 valores: 4 Escreva os 10 valores: 6 Escreva os 10 valores: 8 Escreva os 10 valores: 2 Escreva os 10 valores: 4 2 7 4 20 6 11 8 40 2 7 4 20 6 11 8 40 2 7 4 20
-
Consegui fazer usando "for to do" ou "para até faça" mas sem a função exp e ln. Por isso queria uma sujestão de como fazer com a função exp e ln. Veja abaixo como ficou sem a função. program potenciacao; uses crt; var base,potencia:integer; begin clrscr; for base:=1 to 10 do begin potencia:=base*base; writeln(base:6,' elevado ao quadrado =',potencia:6); end; end.
-
Obrigado Graymalkin'pela citação: ele não quer o cubo do número, ele quer o resultado da multiplicação sucessiva por 3 até que o produto seja maior ou igual a 250. Fiz as seguintes alterações: program sucessivo; uses crt; var N1,contador:real; Begin clrscr; writeln('Digite um número menor que 50');readln(N1); contador:=3; while N1<=50 do begin writeln(N1:5:0,'x',contador:5:0,'=',N1*contador:5:0); repeat contador:=contador+1; until N1*contador<=250; end; end. Funciona agora corretamente, o único problema é que não encerra a programação pára no último número antes ou igual 250 e não finaliza não adianta colocar tipo writeln; write('Aperte tecla <ENTER> para encerrar');readln; Alguém tem alguma dica de como posso encerrar o programa?
-
Estou tentando aprender lógica de programação e no livro pede para realizar um exercício. Ler um número N qualquer menor ou igual a 50 e apresentar o valor obtido da multiplicação sucessiva de N por 3 enquanto o produto for menor que 250 l(N*3;N*3*3;N*3*3*3;etc). Não estou conseguindo nem montar um algoritmo decente veja abaixo. Precisava de alguma ajuda. program sucessivo; uses crt; var Contador,N2:integer; begin clrscr; write('Digite um número menor que 50: ');readln(Contador); while Contador<=50 do Begin Contador:=Contador+1; N2:=Contador*Contador*Contador; Writeln('O cubo de ',Contador,' é de ',N2); while N2> 250 do readln; end; end.
-
Resolvido! Pascal sequência números ímpares
pergunta respondeu ao ucastro de ucastro em Outras Linguagens de Programação
Obrigado! Eu estou começando a aprender programação por isso da dificuldade. Só vou fazer um curso técnico em maio, por isso já estou tentando aprender lógica de programação e Pascal. Agradeço a todos do fórum pela ajuda. -
Resolvido! Pascal sequência números ímpares
uma questão postou ucastro Outras Linguagens de Programação
Estou quebrando a cabeça em fazer esse programinha. Sei que é fácil mas não sei onde estou falhando. Segue abaixo o algoritmo que estou usando: program serie1; uses crt; var IMPAR:integer; Begin clrscr; IMPAR:=1; While IMPAR < 21 do writeln(IMPAR); IMPAR:=IMPAR+2; end. Dá primeira vez que testei funcionou beleza, mas depois tentei reconfigurar de writeln para write e não funcionou mais, só dá como resultado 1111111111111.... -
Resolvido! Pascal onde está o erro?
pergunta respondeu ao ucastro de ucastro em Outras Linguagens de Programação
Que mancada a minha, valeu pela força!!! -
Fiz um programa para identificar 4 números de leitura se é divisível por 2 ou 3. Mas o programa só dá o resultado de três números. Veja : Escreva o valor do primeiro número: 1 Escreva o valor do segundo número: 2 Escreva o valor do terceiro número: 3 Escreva o valor do quarto número: 4 O número: 2 é divisível por 2 O número: 3 é divisível por 3 O número: 4 é divisível por 2 Tecle <ENTER> para encerrar. Observaram que falta um número para dar o resultado. Veja como está o algoritmo do pascal abaixo e se conseguem achar o erro: program divisivel; uses crt; var N1,N2,N3,N4:integer; Begin Clrscr; write('Escreva o valor do primeiro número: ');readln(N1); write('Escreva o valor do segundo número: ');readln(N2); write('Escreva o valor do terceiro número: ');readln(N3); write('Escreva o valor do quarto número: ');readln(N4); if N1 mod 2=0 then writeln('O número: ',N1,' é divisível por 2'); if N1 mod 3=0 then writeln('O número: ',N1,' é divisível por 3'); if N2 mod 2=0 then writeln('O número: ',N2,' é divisível por 2'); if N2 mod 3=0 then writeln('O número: ',N2,' é divisível por 3'); if N3 mod 2=0 then writeln('O número: ',N3,' é divisível por 2'); if N3 mod 3=0 then writeln('O número: ',N3,' é divisível por 3'); if N4 mod 2=0 then writeln('O número: ',N4,' é divisível por 2'); if N4 mod 3=0 then writeln('O número: ',N4,' é divisível por 3'); writeln; write('Tecle <ENTER> para encerrar.');readln; end.
-
OK! Obrigado.