Как найти максимальное число последовательности паскаль

0 / 0 / 0

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

Сообщений: 2

1

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

07.10.2011, 21:35. Показов 14724. Ответов 1


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

Даны две задачи.
1) Дана последовательность (любая) чисел. Определить минимальное и максимальное число в этой последовательности.
2) Вводится последовательность чисел ( любая ). Определить максимально длинную последовательность нулей в этой последовательности чисел.
Суть вопроса такова. Можно ли расписать эти задачи простейшим образом (без массивов и тд), используя в основном только оператор цикла? (младшего брата озадачили)



0



VALIDOL4IK

11 / 2 / 7

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

Сообщений: 60

08.10.2011, 23:24

2

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Первую задачу можно сделать через цикл For. Сейчас напишу пример.

Добавлено через 21 минуту

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Program For_Max_Min;
Var
  a,i,n,max:integer; (*Задаем все переменные целочисленного типа*)
Begin 
  Writeln ('Введите 1 число'); (*Вводим с клавиатуры первое число*)
  Readln (a);  (*Считываем его*)
  max:=a; (*Присваиваем max введенное число, по принципу пусть введенное число а и есть максимальное число*)
  n:=5; (*В данное строке мы задаем сколько ещё значений мы будем вводить, одним словом размерность цикла*)
  For i:=2 to n do (*Сам цикл, в данной строке i - это второе значение, а n до какого значения, то есть на можно будет ввести еще 4 числа *)
    begin  (*Составной оператор цикла*)
    Writeln ('Введите еще числа'); (*В данной строке мы вводим еще числа, их количество зависит от n*)
     Readln (a);
  If a>max Then (*Проверяем каждое введенное число, если оно больше чем введенное в начале программы, которому мы присвоили значение maх, то именно это число теперь и будет максимальным*)
     max:=a; (*Что мы в данной строке и доказываем, присваивая полученное число переменной max*)
    end; 
  Writeln ('Максимальное значение  = ', max); (*Выводим полученное максимальное число*)
End.

Примечание: для того чтобы сделать обратную программу, чтобы узнать минимальный элемент цикла, мы меняем пару строк.

Pascal
1
2
Var
  a,i,n,min:integer; (*Задаем все переменные целочисленного типа, далее используем переменную min*)
Pascal
1
 If a<min Then (*Меняем знак на противоположный*)



0



Задача 1

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

Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – максимальное число.

Решение:

Считаем сначала максимальным числом самое маленькое из возможных, т.е. ноль. Потом, перебираем все числа – если встретилось число большее, чем максимальное в данный момент, то оно и становится максимальным.

Var a, i, max, n: integer;
begin
  Read(n);
  max:=0;
  for i:=1 to n do
  begin
    read(a);
    if a>max then max:=a;
  end;
Writeln(max);
end.

Нахождение МИНИМАЛЬНОГО числа.
Задача 2

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

Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число – минимальное число.

Решение:

Считаем сначала минимальным числом самое большое из возможных, т.е. 30000. Потом, перебираем все числа – если встретилось число меньшее, чем минимальное в данный момент, то оно и становится минимальным.

Var a, i, min, n: integer;
begin
  Read(n);
  min:=30000;
  for i:=1 to n do
  begin
    read(a);
    if a>min then min:=a;
  end;
Writeln(min);
end.

Нахождение МАКСИМАЛЬНОГО числа КРАТНОГО 7.
Задача 3

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 7. В последовательности всегда имеется число, кратное 7. Программа получает на вход количество чисел в последовательности, а затем сами числа.

Количество чисел не превышает 1000. Введённые числа не превышают 30 000.

Программа должна вывести одно число – максимальное число, кратное 7.

Решение:

Считаем сначала максимальным числом самое маленькое из возможных, т.е. ноль. Потом, перебираем все числа – если встретилось число кратное 7 (остаток от деления на 7 равен нулю), И большее, чем максимальное в данный момент, то оно и становится максимальным.

Var a, i, max, n: integer;
begin
  Read(n);
  max:=0;
  for i:=1 to n do
  begin
    read(a);
    if (a>max) and (a mod 7 = 0) then max:=a;
  end;
Writeln(max);
end.

Нахождение МАКСИМАЛЬНОГО числа, ОКАНЧИВАЮЩЕЕСЯ на 6.
Задача 4

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, оканчивающееся на 6. В последовательности всегда имеется число, оканчивающееся на 6. Программа получает на вход количество чисел в последовательности, а затем сами числа.

Количество чисел не превышает 1000. Введённые числа не превышают 30 000.

Программа должна вывести одно число – максимальное число, оканчивающееся на 6.

Решение:

В начале, максимальное число считается самым маленьким из всех возможных. Т.е. нулю. Затем перебираем числа в массиве. Если нам встретилось число, ОКАНЧИВАЮЩЕЕСЯ на 6 (Т.е. остаток от деления на 10 равен 6), И это число больше, чем наше максимальное в данный момент, то у нас становится новое максимальное – это число.

Var a, i, max, n: integer;
begin
  Read(n);
  max:=0;
  for i:=1 to n do
  begin
    read(a);
    if (a>max) and (a mod 10 = 6) then max:=a;
  end;
Writeln(max);
end.

ЕГЭ по информатике — Задание 27 (Цепочки чисел)

Привет! Продолжаем готовится к ЕГЭ по информатике. Сегодня решим неско…

Категория: Информатика  Подкатегория: ЕГЭ

Дата: 27-02-2023 в 16:00:04
2

program nam1;
var
  i,n,j:integer;
  max, a:real;
begin
  readln(n);   {вводим количество элементов}
  readln(max);  {вводим первый элемент, предполагая что он максимальный}
  for i:=2 to n do  {начинаем перебирать их начиная со второго, т.к. первый уже введён}
    begin
      readln(a);   {вводим n элементов}
      if a>max then
        max:=a;
    end;
  writeln('Максимальное число=',max);
end.

На занятии происходит знакомство с логическим типом Boolean в Паскале. Рассматривается алгоритм того, как находится минимальное и максимальное число в Паскале

Сайт labs-org.ru предоставляет лабораторные задания по теме для закрепления теоретического материала и получения практических навыков программирования на Паскале. Краткие теоретические сведения позволят получить необходимый для этого минимум знаний. Решенные наглядные примеры и лабораторные задания изложены по мере увеличения их сложности, что позволит с легкостью изучить материал с нуля. Желаем удачи!

Содержание:

  • Логический тип данных Boolean в Паскале
  • Минимальное и максимальное число в Паскале.
    [Название файла: task_bool4.pas]

Мы уже научились писать программы, основанные на линейных алгоритмах, в Паскале. И даже уже составляем нелинейные алгоритмы — с ветвлением — в которых используются логические выражения, которые принимают значения true или false.

Значения логического типа:

TRUE

FALSE

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

1
2
3
4
5
6
var 
  A: integer;
begin
  A := 5;
  write(A > 0); {Будет выведено True}
end.

Для записи результата логического выражения используется специальная логическая переменная, которая имеет в Паскале тип boolean и может также принимать одно из двух значений — true или false.

Посмотрим, как работает та же самая задача с логической переменной:

1
2
3
4
5
6
7
8
var 
  A: integer;
  b: boolean;
begin
  A := 5;
  b:=A > 0; 
  write(b);{Будет выведено True}
end.

Пример: Рассмотрим пример работы с типом boolean в pascal:

1
2
3
4
5
6
var a:boolean;
begin
a:=true;
if a=true then writeln ('истина')
  else writeln('ложь');
end.

Для создания сложных условий используются специальные логические операции: and, or, not и xor.

Задача Boolean 1. Дано целое положительное число. Проверить истинность высказывания: «оно является четным»

[Название файла: task_bool1.pas]

Рассмотрим пример с использованием логической операции XOR:

Пример: Запросить два целых: X, Y. Проверить истинность высказывания: «Только одно из чисел X и Y является нечетным»

1
2
3
4
5
6
7
8
9
10
11
program Boolean;
var
  x,y: integer;
  c :boolean;
 
begin
  write('Введите X, Y: ');
  read(x,y);
  c := (Odd(x)) xor (Odd(y)); 
  writeln('Только одна из переменных X и Y имеет нечетное значение - ', c); 
  end.

Рассмотрим еще одно решение задачи в Паскале с использованием логической переменной:

Задача Boolean 2. Даны три целых числа: A, B, C. Проверить истинность высказывания: «B находится между числами A и C».

[Название файла: task_bool2.pas]

Рассмотрим решение более сложной задачи с переменной логического типа:

Пример: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

Показать решение:

1
2
3
4
5
6
7
8
9
10
11
12
13
const a=348;
var
   d_n, s_n, e_n: integer;
   flag:boolean;
begin
flag:=false;
s_n:=a div 100;
d_n:=((a mod 100)div 10);
e_n:=a mod 10;
if (s_n<>d_n) and (d_n<>e_n) and (e_n<>s_n) then 
   flag:=true;
writeln(flag);
end.

Здесь каждый разряд получается путем использования операций деления нацело и взятия остатка от деления: s_n — это цифра сотого разряда, d_n — цифра десятого разряда, e_n — единицы.

Задача Boolean 3. Дано целое N > 0. С помощью операций деления нацело и взятия остатка от деления определить, имеется ли в записи числа N цифра «2». Если имеется, то вывести TRUE, если нет — вывести FALSE.

[Название файла: task_bool3.pas]

Задача Boolean 4. Дано целое положительное. Проверить истинность высказывания: «Данное число является нечетным трехзначным».

Минимальное и максимальное число в Паскале.

[Название файла: task_bool4.pas]

При организации поиска минимального или максимального числа среди ряда чисел всегда на помощь приходит старенький «бабушкин» алгоритм:

  • Представим ситуацию, что мы жарим пирожки, и уже нажарили целую большую горку; теперь надо выбрать из них самый большой, т.е. в нашем случае максимальный.
  • Берем верхний пирожок, т.е. первый, и говорим, что он пока самый большой и откладываем его в сторону.
  • Затем берем второй и сравниваем с самым большим, если этот второй пирожок оказывается больше — откладываем его на место «бывшего самого большого» и говорим, что теперь он самый большой.
  • Берем следующий и повторяем действия. Так осуществляем данную процедуру со всеми пирожками.

Иногда в качестве первоначального максимума назначается самое малое возможное число (в зависимости от контекста задачи). А в качестве минимума — напротив, самое большое возможное число. Например, если сказано, что необходимо найти максимальное / минимальное среди положительных чисел, меньших 1000, то:

или

max:=integer.MinValue;; // минимальное среди типа Integer
min:=integer.MaxValue;; // максимальное среди типа Integer

PascalABC.NET:

Можно использовать стандартные функции max() и min():

print(max(2,8)); // 8
print(min(2,8)); // 2

Рассмотрим теперь решение задачи на Паскале нахождения максимального числа:

Пример: В компьютер вводятся 10 чисел. Выводить максимальное из введенных чисел.

Показать решение:

Pascal PascalABC.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
var i, chislo, max:integer;
begin
// первое введенное число 
//сразу определяем как максимальное:
readln(max); 
for i:=2 to 10 do
begin
  readln (chislo);
  if chislo > max then 
    max:= chislo
end;
writeln(max)
end.
1
2
3
4
5
6
7
8
9
10
11
12
begin
// первое введенное число 
//сразу определяем как максимальное:
var maximum:=readInteger(); 
for var i:=2 to 10 do
begin
  var chislo:=readInteger();
  // используем стандартную функцию max():
  maximum := max(chislo,maximum); 
end;
writeln(maximum)
end.

Аналогично осуществляется поиск минимального из чисел.

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

Задача Max 1. В танцевальном клубе участвуют 10 представительниц женского пола. Определите, может ли самая старшая из них быть матерью самой младшей (в таком случае разница в возрасте может составлять не менее 17 лет).

[Название файла: task_max1.pas]

Задача Max 2. Найти минимальное и максимальное из 10 введенных чисел и вывести сумму их порядковых номеров.

[Название файла: task_max2.pas]

Задача Max 3. Средняя продолжительность жизни лабораторной мыши – 10 лет. Найдите максимальный показатель продолжительности жизни у пяти белых мышей и у пяти мышей-альбиносов. У каких мышей показатель уровня жизни выше?

[Название файла: task_max3.pas]

Потренируйтесь в решении задач по теме, щелкнув по пиктограмме:

проверь себя

Поиск максимального (минимального) значения в
последовательности чисел

№1.
Напишите программу, которая в последовательности натуральных чисел определяет
максимальное число, кратное 8. Программа получает на вход количество чисел в последовательности,
а затем сами числа. В последовательности всегда имеется число, кратное 8.

Количество
чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

Программа
должна вывести одно число: максимальное число, кратное 8.

Пример работы программы:

Входные
данные

Выходные
данные

3
16
24
12

24

Решение на языке Паскаль

program Z_max1;

var i, n, x, max: integer;

begin

readln (n);

max:=0;

for i:=1 to n do

begin

readln (x);

if (x mod 8 =0) and (x
> max) then max:=x;

end;

writeln (max);

end.

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

Программа
получает на вход количество чисел в последовательности, а затем сами числа. В
последовательности всегда имеется число, оканчивающееся на 2.

Количество
чисел не превышает 1000. Введённые числа не превышают 30 000.

Программа
должна вывести одно число – максимальное число, оканчивающееся на 2.

Пример работы программы:

Входные
данные

Выходные
данные

4
3
22
6
12

22

2

Решение на языке Паскаль

program Z_max2;

var i, n, x, k, max: integer;

begin

readln (n);

max:=0;

for i:=1 to n do

begin

readln (x);

if (x mod 10 =2) and (x
> max) then

    begin

      max:=x;

      k:=i;

    end;

end;

writeln (max);

writeln (k);

end.

№3.
Напишите программу, которая в последовательности натуральных чисел определяет второй
по величине наибольший элемент.  Программа получает на вход количество чисел в
последовательности, а затем сами числа. Количество чисел не превышает 1000.
Введённые числа по модулю не превышают 30 000.

Программа
должна вывести одно число: максимальное число, кратное 8.

Пример работы программы:

Входные
данные

Выходные
данные

3
16
24
12

16

Решение на языке Паскаль

program Z_max3;

var i, n, x, max1, max2: integer;

begin

readln (n);

max1:=0; max2:=0;

for i:=1 to n do

begin

readln (x);

if x > max1 then begin max2:=max1; max1:=x; end

else if x > max2 then
max2:= x;

end;

writeln (max2);

end.

№1.
Напишите программу, которая в последовательности натуральных чисел определяет
минимальное число, кратное 5. Программа получает на вход числа, количество
чисел в последовательности неизвестно, окончанием ввода служит 0.
В последовательности всегда имеется число, кратное 5.

Количество
чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

Программа
должна вывести одно число: максимальное число, кратное 8.

Пример работы программы:

Входные
данные

Выходные
данные

3
15
25
12

15

Решение на языке Паскаль

program Z_min4;

var i, n, x, min: integer;

begin

readln (x);

min:=30001;

while x<>0  do

begin

if (x mod 5 =0) and (x
< min) then min:=x;

readln (x);

end;

writeln (min);

end.

Понравилась статья? Поделить с друзьями:

Не пропустите также:

  • Вечеринка гордо как найти
  • Как найти хозяина земельного участка снт
  • Как составить предварительный договор при покупке квартиры
  • Если потерялась кошка на даче как найти
  • Sql как найти таблицу по имени

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии