Умножение, деление, сложение, вычитание вещественных чисел в Pascal.

С вещественными числами можно производить операции умножения, сложения, вычитания, а также операцию деления. Причем операция деления отличается от операции Div. Деление вещественных чисел - это обычное математическое деление, в результате которого ...

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

Функции Copy, Pos, процедуры Delete, Insert.

Функция Copy позволяет копировать из строки часть символов. Функция имеет 3 параметра. Copy (st, index, count). St-строка из которой копируют, Index-номер символа, с которого начинается копирование, Count-количество символов, которое будет ...

Циклы и массивы

Отображение на экране значений двумерного массива.

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

Подпрограммы, определенные пользователем.

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

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

 Нахождение максимального элемента массива.




program massiv5;
uses crt;
const N=10;
type x=array [1..N] of integer;
var a:x;
i:integer;
max:integer;
imax:integer;
begin
clrscr;
randomize;
for i:=1 to N do
begin
a[i]:= -50+random(101);
write (A[i]:5)
end;
writeln;
imax:=1;
max:=A[1];
for i:=2 to N do
if max<a[i] then
begin
max:=a[i];
imax:=i
end;
writeln (‘Максимальный элемент в массиве=’,max:5);
writeln (‘Его индекс=’,imax:5);
readln
end.



В строке №7 записываем переменную для хранения величины максимального элемента.

В строке №8 записываем переменную для хранения индекса максимального элемента.

В строке №11 мы включаем функцию Randomize. Эта функция позволяет генерировать случайные числа в программе. В данном случае нам необходимо каждому элементу массива [1..N] (всего 10 элементов) присвоить какое-нибудь значение. В программе «massiv3» значения для всех элементов массива мы вводили с клавиатуры. В этой задаче мы ничего вводить не будем. Функция Randomize сама создаст значения для каждого элемента массива. В массиве у нас 10 элементов ([1..N], const N=10), соответственно будет сгенерировано 10 случайных чисел.

В строке №12 включаем цикл. Переменная «I» будет изменяться в цикле от 1 до «N»

В строке №14 очередному элементу массива мы присваиваем случайное число, которое лежит в диапазоне от – 50 до + 50. (Сначала пишется минимальное число – 50, затем знак +, затем слово RANDOM, затем в скобках указывается общее количество возможных чисел в диапазоне; в диапазоне от – 50 до + 50 получается 100 чисел + число  0, всего 101)
Строка №15. Если мы запустим программу на данном этапе, у нас выведется на экран 10 различных чисел со значением от – 50 до + 50.

В строке №18 в переменную для хранения индекса (номера)  максимального элемента мы записали число 1, т.е. будем считать, что первый элемент массива – максимальный.

В строке №19 в переменную для хранения величины максимального элемента записываем значение первого элемента массива (например, если первое сгенерированное число будет 13, то его и будем считать максимальным).

В строке №20 задаем цикл. В него мы не включаем 1-ый элемент. А затем, в строке №21 мы проверяем условие. Мы сравниваем все значения элементов  массива (т.е. все сгенерированные числа) начиная со 2-го и до 10-го с  1 - ым числом. И если очередное число в массиве больше чем 1-ое число, то в переменную для хранения максимального числа записываем это очередное число (строка  №23), а в переменную для хранения индекса максимального числа записываем индекс этого очередного числа. После выполнения цикла в переменной max должно остаться максимальное число, а в переменной «imax» должен остаться номер этого числа.

maksimaljnihyj ehlement massiva

maksimaljnihyj ehlement massiva.

После запуска программы в верхней строке у нас вывелось 10 сгенерированных чисел.
Во второй строке вывелось максимальное число из всех этих сгенерированных чисел.
В-третей строке вывелся номер по порядку, где стоит это максимальное число.


Если в массиве несколько маскимальных элементов и нужно вывести на экран индексы всех этих элементов, то программа будет выглядет так:





program massiv5;
uses crt;
const N=10;
type x=array [1..N] of integer;
var a:x;
i:integer;
max:integer;
imax:integer;
begin
clrscr;
randomize;
for i:=1 to N do
begin
a[i]:= -5+random(3);
write (A[i]:5)
end;
writeln;
imax:=1;
max:=A[1];
for i:=2 to N do
if max<a[i] then
begin
max:=a[i];
imax:=i;
end;
writeln('Максимальный элемент в массиве=',max);
write('Его индекс ');
for i:=1 to N do
if max=a[i] then
begin
write (i,', ');
end;
readln
end.




maxelemmas

maxelemmas.


Предыдущая статья : Randomize и Random в Pascal.

Оглавление : Уроки Паскаль.

Следующая статья : Вычисление суммы положительных элементов массива.


Комментарии  

 
+3 # Юрий 23.03.2012 16:40
Здравствуйте! А почему в окне программы после знаков равенства во фразах "Максимальный элемент в массиве=" и "Его индекс=" такое большое расстояние до чисел?Это потому, что для чисел в этих местах отведено по 5 знакомест и заполняются они с конца?
Ответить
 
 
+3 # Administrator 23.03.2012 17:11
Да, совершенно верно. Хотя для переменных целого типа не обязательно указывать формат вывода.
Ответить
 
 
0 # Юрий 23.03.2012 17:56
А сколько знакомест отводит компилятор для переменной целого типа по умолчанию? Сначала я подумал, что резерв места будет равен размеру, который занимает тип данных в памяти компьютера, но... для Longint и Cardinal, например - это 4 байта. Многовато места получается... Может быть я невнимательно прочёл материал предыдущих уроков?
Ответить
 
 
+6 # Administrator 25.03.2012 07:57
Для каждой переменной Вы указываете тип данных в разделе описания переменных. Для целых чисел это может быть INTEGER, BYTE, LONGINT и др. Каждый из этих типов занимает от 1 до 4-х байт в памяти. Какой тип указать для переменной, должен выбирать сам программист. Если Вы уверены, что в переменную во время выполнения программы не попадет число менее 0 и более 255, то для данной переменной целесообразно указать тип BYTE. Например, в примере из этого урока, переменная "i" может принимать значения только от 1 до 10, поэтому для экономии памяти можно указать для нее тип BYTE. Вообще, можно в переменную большого типа записать маленькое число (например, число 7 в переменную LONGINT). Однако для числа 7 нужно всего лишь 3 бита в памяти (7d=111b). Но так как LONGINT занимает 32 бита, остальные 29 битов будут тоже заняты. Просто на их месте запишутся нули.
Ответить
 
 
+13 # Иван 04.05.2012 19:04
Спасибо Вам большое за такой замечательный сайт! Все очень четко, просто, а главное понятно объяснено. Это огромная помощь в подготовке к экзаменам. Вы большие молодцы! :-)
Ответить
 
 
+4 # Виталий 11.05.2012 22:56
Доброго времени суток.
А как быть, если есть несколько максимальных чисел? Как сделать так, чтобы все максимальные индексы выводились?
Ответить
 
 
+5 # Administrator 12.05.2012 09:32
После того как найден максимальный элемент массива, сравниваем его со всеми элементами массива, и если находим такой же элемент, выводим его индекс на экран.
Пример дописал в конце этой статьи.
Ответить
 
 
0 # Виталий 12.05.2012 11:46
Спасибо. Не ожидал, что так быстро получу ответ!
Ответить
 
 
-1 # Shige 06.06.2012 12:40
Здравствуйте. Хотелось бы задать пару вопросов. Вот мы нашли максимальный и минимальный элементы.
Теперь надоп оделить максимальный элемент на минимальный и вывести результат.Не подскажите как это записать в паскале?
Ответить
 
 
-2 # Administrator 07.06.2012 05:25
Вопрос не понял, уточните ,пожалуйста.
Ответить
 
 
-2 # нуна 12.02.2013 14:57
объясните пожалуйста что значит случайные числа?????????? ??????????????? ????
Ответить
 
 
-1 # Петросян 16.02.2013 13:00
randomize врубает мини Дискорда, живущего в каждом паскале
Ну а если серьезно, random("число") сгенерирует несколько случайных чисел от нуля до "число-1" (количество этих чисел зависит от ,к примеру, количества возможных чисел "ячеек" массива). После каждого перезапуска программы будут генерироваться разные числа. Randomize(обяза телен) активирует возможность использования функции random.
Ответить
 
 
-1 # M*** 28.02.2015 19:30
Ввести массивы А и В. В массив С скопировать те элементы массива А, которые встречаются в массиве В по крайней мере 2 раза, и те элементы массива В, которые встречаются в массиве А ровно 1 раз. Из массива А удалить все элементы стоящие левее максимального элемента. Массивы А, В и С отсортировать по убыванию, используя сортировку методом пузырька.
Ответить
 
 
0 # Nastya 12.06.2016 14:20
Помогите пожалуйста. Задан массивы действительных чисел а1,а2,…,а20.Сдв инуть циклическим сдвигом все его элементы так, чтобы максимальный элемент стоял на первом месте.на с++
Ответить
 
 
-2 # Сайнаа 12.11.2016 00:26
Вычислить произведение положительных элементов двумерного массива
Ответить
 
 
0 # Serg 06.10.2021 11:19
:-) ;-)
Ответить
 
 
0 # Serg 06.10.2021 11:21
const int n = 20;
int[] a = new int[n];
Random r = new Random();
for (int i = 0; i < a.Length; i++)
a = r.Next(-100, 100);
Console.WriteLi ne("Исходный массив:");
for (int i = 0; i < n; ++i)
Console.Write(" \t" + a);
Console.WriteLi ne();
int p = 1;
for (int i = 0; i < a.Length; i++)
{
if (a < 0)
{
p *= a;
}
}
Console.WriteLi ne("Произведени е положительных элементов массива: " + p);
Console.ReadKey ();
Ответить
 
 
0 # Kaitlyn 04.06.2025 06:48
Hi there just wanted to give you a quick heads up.
The text in your article seem to be running off the screen in Opera.

I'm not sure if this is a format issue or something to do with internet browser compatibility
but I figured I'd post to let you know. The design look great though!
Hope you get the issue resolved soon. Many thanks

Feel free to surf to my page; Paito
Sydney Lotto: https://catdoll.shop/
Ответить
 
 
0 # Tyler 08.08.2025 22:18
Good day! I just want to offer you a huge thumbs up for the great information you have right here on this post.
I will be coming back to your blog for more soon.

My homepage - Data SGP 2025: http://159.223.40.145/
Ответить
 
 
0 # Sam 12.09.2025 03:58
Trending Questions Is HTP addictive? What happens if you combine Strattera and
Adderall? Is white round pill gpi a325? How many
25mg Xanax equals 2mg Xanax? Can you enlist in the french
foreign legion with a marijuana charge?

my page; lisinopril 28 mg 81.7sviagra 40 81.7s: https://casino.zonder-cruks.com/
Ответить
 
 
0 # Geneva 12.09.2025 05:28
You can use viagra 60 mg cost: https://yeovilhospital.co.uk if you have herpes.
Ответить
 
 
0 # Yong 12.09.2025 05:54
using Viagra in regural base is not good.


Feel free to surf to my homepage ... penis enlargement surgery cost mumbai: https://www.gambling.com/uk/online-casinos
Ответить
 
 
0 # Glinda 12.09.2025 14:21
'V' Is for viagra used by female: https://yeovilhospital.co.uk.
The Remixes was created in 2007.
Ответить
 
 
0 # Blanche 12.09.2025 15:15
Trending Questions Is there a holistic way to lower blood pressure?

Blood pressure measures the smount of pressure on the wall of?

Are digital blood pressure monitors accurate? What is the medical term
meaning idiopathic high blood pressure?

Visit my web blog; penis enlargement san diego: https://yeovilhospital.co.uk
Ответить
 
 
0 # Tabitha 12.09.2025 23:42
Trending Questions What are the duties of an health prefect?
Who does leprosy affect the most? Benefits of
being a blood donor? Why is it important to include nutrient-dense foods in your daily eating?


Feel free to surf to my blog: doxycycline 250: https://yeovilhospital.co.uk/uk-gb/
Ответить
 

Добавить комментарий

   ГлавнаяПаскальМассивы в ПаскальНахождение максимального элемента массива.