Паскаль как найти заданное число

Функция random для генерации случайного числа

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

Рассмотрим получение случайных чисел:

  • вещественных
  • целых

 Будем использовать среду программирования PascalABC.NET.

Решим также задачу с использованием случайного числа.

Выполним присваивание

a:=random;

a:=random;

При использовании такого выражения и переменной типа integer возникает ошибка.

Делаем вывод

Функция random выдает значение типа real в диапазоне [0; 1)

a:=random;a:=random;

Значит для использования функции random и получения вещественного числа будет использовать переменную типа real.

Для получения целого числа воспользуемся присваиванием

a:=random(10); 

В данном случае будут случайно сгенерированы первые 10 неотрицательных чисел в промежутке от 0 до 9.

a:=random(10);

Чтобы получить целое число из промежутка [a; b], воспользуемся формулой:

Пусть нужно получить случайное число из промежутка [-2; 10]

Формула примет такой вид:

 -2 + random(10-(-2)+1) = -2 + random(13)

Если random(13) сгенерирует 0, то будет получена левая граница промежутка -2 + 0 = -2, если random(13) сгенерирует 12, то будет получена правая граница -2+12 = 10.

a:=-2+random(13);

Для получения случайного числа из промежутка также можно  воспользоваться функцией random с двумя аргументами — левой и правой границами промежутка (в среде Free Pascal работать не будет).

a:=random(-2,12);

Задача. Получить 30 случайных чисел из промежутка [-2;12] и вывести их на экран.

Воспользуемся циклом for с счетчиком x от 1 до 30, сгенерируем и выведем на экран 30 случайных чисел.

a:=random(-2,12);

Итоги

Как использовать функцию random для генерации случайного числа

  • Вещественное число
  • Целое число

Напишите в комментариях, какие числа будут получены с помощью таких присваиваний?

Программа получения массива случайных чисел.

Dragon1256

1

03.04.2012, 22:15. Показов 7494. Ответов 1

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

я это сделала, а у меня что то нее выходит

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program minim;
Var a: array[1..100] of real;
      i, n, s: integer;
Begin
  Write ('введите размер массива');
  Readln (n);
  For i:=1 to n do
    begin
       write('a[',i,']=');
       readln (a[i]);
    end;
  writeln('какое число надо найти?');
  readln(s);
  if s then
   writeln('присутствует')
   else  writeln('нет');
   end.

у меня вылазиет ожидалось логическое выражение после s

Pascal
1
2
3
4
  then
   writeln('присутствует')
   else  writeln('нет');
   end.

gralgar

03.04.2012, 23:27

2

if s then
что означает это выражение?
я думал только логические типы данных в это выражение можно вставлять. Поясни.

Добавлено через 10 минут
если только одно число надо найти, то прога будет выглядеть так:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program minim;
uses crt;
Var a: array[1..100] of real;
i, n, s,j: integer;
Begin
clrscr;
Writeln ('vvedite razmer massiva');
Readln (n);
For i:=1 to n do
begin
write('a[',i,']=');
readln (a[i]);
end;
writeln('kakoe chislo nado naiti');
readln(s);
for i:=1 to n do
if s=a[i] then j:=i;
if j=0 then writeln('net takogo chisla')
   else writeln('chislo v ycheike a[',j,']');
readkey;
end.

(латиницу разберешь, читаемо)

IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

03.04.2012, 23:27

Помогаю со студенческими работами здесь

Поиск элемента, меньшего заданного, в упорядоченном массиве
Добрый день. Мне необходимо найти в массиве первый элемент, который меньше заданного, и, очень…

Поиск индекса заданного элемента в отсортированном массиве
1. Заполнить статический массив значениями 90, 76, 54, 23, 56, 12, 48. Результат в виде таблицы…

Реализовать бинарный поиск заданного элемента в массиве
Помогите, напишите бинарный поиск элемента в массиве (особенно чтобы он работал, когда все элементы…

Быстрый поиск индекса заданного элемента в упорядоченном массиве
Пусть отсортированный по возрастанию массив из n элементов a. Требуется максимально быстро найти…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

2

Паскаль.Найти четное число.

Получил заданние, не знаю как приступить даже(((
В паскале нужно написать программку…
Имеется ли среди заданных чисел A, B, C хотя бы одно чётное?

6 ответов

320

26 мая 2008 года

m_Valery

1.0K / / 08.01.2007

Получил заданние, не знаю как приступить даже(((
В паскале нужно написать программку…
Имеется ли среди заданных чисел A, B, C хотя бы одно чётное?

  1. Для каждой задачи создавай отдельную тему.
  2. Дай теме нормальное название,а подробности о своих ощущениях
    лучше опускай,это не интересно никому.Тебе помощь нужна ведь ? Или поддержка в твоей расстерянности ? Мне личным сообщением пришли новое название темы.

17K

26 мая 2008 года

ALEX_

40 / / 19.04.2007

Код:

var a,b,c:integer;
begin
writeln(«Введите А,В,С»);
readln(a,b,c);
if (a mod 2 =0) or (b mod 2 =0) or (c mod 2=0) then
writeln(«Хотя бы одно число четное»)
else
writeln(«Ни одного четного»);
readln;
end.

1.6K

26 мая 2008 года

Vov4ick

476 / / 01.02.2007

Можно их перемножить и проверить результат на чётность. Но прямой метод быстрее и без переполнений, хотя переполнение на чётность и не повлияет.

а в пасике нет функции odd???:cool:

1.6K

27 мая 2008 года

Vov4ick

476 / / 01.02.2007

а в пасике нет функции odd???:cool:

А в каком ЯВУ она есть? Есть функция получения остатка от деления, в том числе на два. Для гурманов в ЯВУ никто не мешает сделать

Код:

asm{
test что надо,1
jz чётно
} end

Вообще клавиша F1 рулит. ;-)

431

28 мая 2008 года

sherry

207 / / 16.10.2006

Да чего тут мудрить? Решение в 2 строчки ведь!
TRUE — присутствует, FALSE — не присутствует

Код:

VAR
  a,b,c: integer;
BEGIN
  readln(a,b,c);
  writeln(not(Odd(a) and Odd(b) and Odd(c)));
  readln;
END.

Pascal задача. Найти максимальное число из трех

Pascal задачи

Вводятся три целых числа. Определить какое из них наибольшее.Пусть a, b, c – переменные, которым присваиваются введенные числа, а переменная max в конечном итоге должна будет содержать значение наибольшей переменной.Разбор задачи на Pascal

Алгоритм решения задачи на языке программирования Паскаль

1) Сначала предположим, что переменная a содержит наибольшее значение. Присвоим его переменной max

2) Если текущее значение m меньше, чем у b, то следует присвоить m значение b. Если это не так, то не изменять значение max.

3)Если текущее значение max меньше, чем у c, то присвоить m значение c. Иначе ничего не делать.

Решение задачи с использованием Паскаль

Решение задачи с использованием Паскаль

var
a,b,c,max: integer;
begin
writeln(‘Введите первое число’);
readln(a);
writeln(‘Введите второе число’);
readln(b);
writeln(‘Введите третье число’);
readln(c);
max := a;
if max < b then max := b;
if max < c then max := c;
writeln(‘Наибольшее число — ‘ , max);
end.

Pascal задачи
Все задачи на Паскаль

Репост статьи

24 ноября 2022 г.

Комментарии могут оставлять только зарегестрированные пользователи!



Комментарии

Ваш комментарий будет первым !

Напиши программу, которая принимает натуральное число n, а затем n чисел от 1 до 100. выведи максимальное из них, которое заканчивается на 1. если такого числа нет, напечатай «нет».

Pascal задача.Даны натуральные числа n, m. Получите сумму m последних цифр числа n.

Проще всего задача поиска максимального из трех, четырех и более чисел, решается перегрузкой функции нахождения максимума из двух.

Аналогичные функции можно написать для поиска минимального из чисел. Для этого достаточно сменить знак сравнения в функции с двумя аргументами(в первой из рассмотренных).

Для реализации сначала нужно написать функцию, которая находит максимальное из двух чисел.

Функция определения максимального из двух чисел

function Max(x1, x2 : integer) : integer;
begin
  if x1 > x2 then
    Max := x1
  else
    Max := x2;
end; 

Теперь у нас есть код, который возвращает наибольшее из двух чисел. Для того, чтобы расширить количество аргументов до трех, достаточно написать ещё одну функцию, которая будет дважды вызывать предыдущую.

Функция поиска наибольшего из трех чисел

function Max(x1, x2, x3 : integer) : integer;
begin
  Max := Max(Max(x1, x2), x3);
end;

А что если нужно сравнить четыре, пять и больше чисел, и найти максимальное из них?

Без проблем, мы можем писать столько перегруженных функций, сколько нам нужно.

Максимум из четырех чисел

function Max(x1, x2, x3, x4 : integer) : integer;
begin
  Max := Max(Max(x1, x2, x3), x4);
end; 

Эта функция использует вызов двух предыдущих.

Программа для поиска и вывода максимальных чисел

все приведенные выше функции должны быть размещены в том же порядке над телом основной программы

В зависимости от количества аргументов, компилятор выбирает какую из функций вызывать.

begin
  writeln(Max(1, 4));
  writeln(Max(9, 2, 7));
  writeln(Max(8, 3, 6, 5));
  readln;
end. 

Если предполагается сравнивать много чисел, то лучше всего представить их в виде массива, и искать минимальный или максимальный элемент в массиве.

Смотрите также:

Понравилась статья? Поделить с друзьями:
  • Радиус описанной около треугольника формула как найти
  • Как найти плановые начисления в зуп
  • Ошибка запуска консольного приложения precomp042 exe как исправить
  • Строительно дорожные работы как найти
  • Как найти hdmi на ноутбуке