Найти простые числа - QBasic

Узнай цену своей работы

Формулировка задачи:

Помогите перевести задачки задача 1
Листинг программы
  1. program prostiechisla;
  2. uses Crt;
  3. type
  4. SetOfNum = set of 1..255;
  5. var
  6. n1,next,I: word;
  7. BeginSet,PrimerSet: SetOfNum;
  8. K:integer;
  9. begin
  10. ClrScr;
  11. Write(‘введите K’);
  12. Readln(K);
  13. BeginSet:=[2..K];
  14. PrimerSet:=[1];
  15. next:=2;
  16. While BeginSet <> [] do
  17. begin
  18. n1:=next;
  19. while n1 <= K do
  20. begin
  21. Exclude(BeginSet,n1);
  22. n1:=n1+next;
  23. end;
  24. Include(PrimerSet,next);
  25. repeat
  26. inc(next)
  27. until (next in BeginSet) or (next > K)
  28. end;
  29. Writeln(Простые числа из первых' ,K,' чисел');
  30. for i:=1 to K do
  31. if i in PrimerSet then Write(i:4);
  32. Readln;
  33. end.
задача 2
Листинг программы
  1. Program chislairyada;
  2. var x, y, z : real;
  3. n, i : integer;
  4. begin
  5. repeat
  6. writeln('Введите переменную ряда x, |x|<1, x=');
  7. readln(x);
  8. write('Введите число членов ряда n=');
  9. readln(n);
  10. until (abs(x)<1) and (n>0);
  11. y:=1; z:=1;
  12. for i:=2 to n do
  13. begin
  14. z:=z*x;
  15. y:=y+z/i;
  16. end;
  17. writeln('Сумма первых n членов ряда y =', y);
  18. end.
задача 3
Листинг программы
  1. end.
  2. readln;
  3. if k>0 then write(‘Последовательность меняет знак’,k,’раз’)
  4. else write(‘не меняет’);
  5. until new=0;
  6. readln(new);
  7. ld:=new;
  8. write(‘введите число’);
  9. o
  10. if new*old<0 then k:=k+1
  11. repeat
  12. k:=0;
  13. readln(new);
  14. write(‘введите число’);
  15. readln(old);
  16. write(‘введите число’);
  17. ClrScr;
  18. begin
  19. k:integer;
  20. Var old, new:real;
  21. Uses Crt;
  22. Program znak;
задача 4
Листинг программы
  1. Program stroki;
  2. Uses Crt;
  3. Var S1,S2,work:string;
  4. i,j,L:word;
  5. begin
  6. ClrScr; //очистка экрана
  7. Work:=’ABCDEFGHIKLMNOPQRSTUVWXYZ’;
  8. S1:=’’;
  9. S2:=’’;
  10. L:=length(work);
  11. for i:=1 to 20 do
  12. for j:=1 to i do
  13. begin
  14. S1:=S1+work[i];
  15. End;
  16. For i:=21 to L do
  17. For j:=1 to I do
  18. Begin
  19. S2:=S2+work[i];
  20. End.
  21. Readln;
  22. Write(s2);
  23. Write(s1);
  24. End;
задача 5
Листинг программы
  1. Program dvmassiv;
  2. Uses crt;
  3. Const
  4. M=4;
  5. K=5;
  6. T=6;
  7. Var
  8. i, j, n:byte;
  9. a: array [1..m] of array [1..k] of integer;
  10. b: array [1..m] of array [1..t] of integer;
  11. c: array [1..m] of array [1..k+t] of integer;
  12. begin
  13. ClrScr;
  14. Randomize;
  15. Begin
  16. Write(‘Первый массив’);
  17. For i:=1 to m do
  18. For j:=1 to k do
  19. A[i,j]:=random(100*1)-50;
  20. Write(a[i,j]:6,’ ‘);
  21. End;
  22. Begin
  23. Write(‘Второй массив’);
  24. For i:=1 to m do
  25. For j:=1 to t do
  26. B[i,j]:=random(100*1)-50;
  27. Write(b[i,j]:6,’ ‘);
  28. End;
  29. Begin
  30. Write(‘Третий массив’);
  31. For i:=1 to m do
  32. For j:=1 to k do
  33. C[i,j]:=a[i,j];
  34. Begin
  35. For i:=1 to m do
  36. For j:=k to k+t do
  37. C[i,j]:=b[i,j];
  38. End;
  39. End;
  40. Write(c[i,j]:6,’ ‘);
  41. For i:=1 to m-1 do
  42. For j:=1 to (k+t)-i do
  43. If c[1,j]>c[1,j+1] then
  44. Begin
  45. N:=c[1,j];
  46. C[1,j]:=c[1,j+1];
  47. C[1,j+1]:=n;
  48. End;
  49. For i:=1 to m do
  50. For j:=1 to k+t do
  51. Write(‘Конечный массив’);
  52. Writeln;
  53. Write(c[i,j]:6,’ ‘);
  54. Readln;
  55. Readkey;
  56. End.

Решение задачи: «Найти простые числа»

textual
Листинг программы
  1. Dim S1 As String, S2 As String, work(26) As String
  2. Dim i As Integer, j As Integer, L As Integer
  3. Cls
  4. For i = 1 To 26
  5.     work(i) = Chr(64 + i)
  6. Next
  7. S1 = ""
  8. S2 = ""
  9. L = UBound(work)
  10. For i = 1 To 20
  11.     For j = 1 To i
  12.         S1 = S1 + work(i)
  13.     Next j
  14. Next i
  15. For i = 21 To L
  16.     For j = 1 To i
  17.         S2 = S2 + work(i)
  18.     Next j
  19. Next i
  20. Print S2
  21. Print S1
  22. End

Объяснение кода листинга программы

В этом коде на языке QBasic происходит поиск простых чисел.

  1. Сначала в цикле For с 1 по 26 создается строка work, которая будет содержать все буквы английского алфавита от A до Z в виде символов.
  2. Затем в цикле For с 1 до 20 создаются две пустые строки S1 и S2.
  3. Далее в цикле For с 21 по количество букв в строке work (L) вторая строка S2 заполняется символами алфавита, начиная с буквы B (индекс 2) и до конца алфавита (индекс 26).
  4. Первая строка S1 заполняется в цикле For с 1 по i (от 1 до 20) путем добавления к ней символов алфавита от A до i-th (не включая i) с помощью цикла For j = 1 To i.
  5. В конце кода выводятся на экран обе строки S1 и S2. Этот код выводит на экран все буквы алфавита от B до Z (простые числа от 2 до 20) и все буквы алфавита от A до 20 (простые числа от 2 до 19).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.6 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы