Определить количество простых чисел

Задача: 

Вводятся целые числа до первого числа, которое меньше двух. Определить, сколько простых чисел было введено.

Описание переменных: 
  • q - счетчик простых чисел;
  • n - очередное введенное число.
Алгоритм решения задачи: 

Пока введенное число больше 1, проверять его на простоту по следующему алгоритму:

  1. Если число делится на любой делитель от 2 до половины от себя, то оно не простое.
  2. Если число так и не разделилось ни на один из перебранных делителей, то оно простое, следовательно, увеличиваем счетчик простых чисел.
Программа на языке Паскаль: 

var
    n,i,q: integer;
    f: boolean;
begin
    q:=0;
    write('Number: ');
    readln(n);
    while n > 1 do begin
        f:=true;
        for i:=2 to n div 2 do
            if n mod i = 0 then
                f:=false;
        if f then
            q:=q+1;
        write('Number: ');
        readln(n);
    end;
    writeln(q,' prime numbers');
readln;
end.

Комментарии

Определить количество простых чисел в массиве.

Одномерный массив 8 элементов заполнить значениями с клавиатуры. Определить количество простых чисел в массиве.

можно ли все клетки таблицы

можно ли все клетки таблицы 10х2011 заполнить натуральными числами так, что бы сумма чисел в любом столбце и сумма чисел в любой строке были бы простыми числами

Число совершенно, если оно

Найти сумму квадратов всех натуральных чисел до 100.

Сумма квадтратов всех натуральных чисел до 100

var
    n, i:integer;
Begin
  n:=0;
  for i:=1 to 100 do
        n:=n+sqr(i);
  writeln('Сумма = ', n);
end.

Кривое определение простоты

Вместо for i:=2 to n div 2 лучше написать for i:=2 to round(sqrt(n))
Конечно, программа выдаст результат и так... Но для n=101 проверит 50 чисел вместо 10.
И стоит выделить блок "поиск простого числа" . Либо в функцию, либо комментарием - ведь программу будут читать неспециалисты :)

А если n=2? Программа выдает

А если n=2? Программа выдает 0 простых чисел. Нужно или переформулировать задачу "до первого числа, которое не больше двух", или исправить код.

Так проще ;)

uses crt;
var
 n,c: integer;
begin
 clrscr;
 writeln('input numbers: ');
 repeat
  readln(n);
  inc(c);
 until n<2;
 writeln('result: ',c); {или c-1 если не нужно считать число меньше 2-ух}
end.

Помогите пожалуйста составить

Помогите пожалуйста составить программу в паскале.Вводится 15 чисел. Определить сколько из них целые числа.