Студопедия — if <условие верно> and (a[i] < min) then
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

if <условие верно> and (a[i] < min) then

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, MIN.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

Паскаль:

const N=20;

var a: array [1..N] of integer;

i, j, min: integer;

Begin

for i:=1 to N do

readln(a[i]);

End.

Решение:

1) даже если вы хорошо владеете программированием, сначала лучше (прежде всего, для себя) написать алгоритм на русском языке

2) здесь требуется найти минимальный элемент из всех, которые имеют чётное значение и не делятся на 3

3) делимость одного целого числа на другое проверяется с помощью операции взятия остатка (в Паскале – операция mod): первое число делится на второе, если остаток от деления равен 0

4) тогда условие, определяющее отбор нужных элементов, запишется в виде

(a[i] mod 2 = 0) and (a[i] mod 3 <> 0)

5) стандартный цикл поиска минимального элемента, удовлетворяющего условию, выглядит так:

for i:=1 to N do

if <условие верно> and (a[i] < min) then

min:= a[i];

6) остается один вопрос: каким должно быть начальное значение переменной min? его нужно выбрать таким, чтобы для первого же «подходящего» элемента выполнилось условие a[i] < min, и это «временное» начальное значение было бы заменено на реальное

7) к счастью, диапазон входных чисел ограничен (от 0 до 1000), поэтому можно выбрать любое значение, больше 1000, например, 1001 или 9999[2]

8) таким образом, решение задачи на естественном языке выглядит так:

Записываем в переменную min значение 1001.
Затем в цикле просматриваем все элементы массива, с первого до последнего. Если остаток от деления очередного элемента на 2 равен 0 и остаток от его деления на 3 не равен нулю и значение элемента меньше, чем значение переменной
min, записать в переменную min значение рассматриваемого элемента массива. Затем переходим к следующему элементу.
После окончания работы цикла выводим значение переменной
min.

9) аналогичное решение на Паскале:

min:=1001;

for i:=1 to N do

if (a[i] mod 2=0) and (a[i] mod 3<>0) and (a[i]<min) then

min:=a[i];

writeln(min);

 

Программа целиком:

Program MyProg;

const N=20;

var a: array [1..N] of integer;

i, j, min: integer;

Begin

for i:=1 to N do

readln(a[i]);

min:=1001;

for i:=1 to N do

if (a[i] mod 2=0) and (a[i] mod 3<>0) and (a[i]<min) then

min:=a[i];

writeln(min);

End.

Очень важно разобраться в программе: что и зачем выполняется!!!!

 

Возможные проблемы: · не забудьте сказать, что нужно вывести после окончания работы программы · если вы достаточно хорошо владеете русским языком для того, чтобы понятно излагать свои мысли, с точки зрения тактики рекомендуется писать алгоритм на русском языке – по крайней мере, тут не снизят за пропущенную точку с запятой · просмотрите внимательно диапазон, в котором находятся исходные числа; дело в том, что во многих языках, например, в Паскале и в Си, остаток от деления отрицательного числа на положительное – число отрицательное, например (-7) mod 3 = -1, поэтому определять, например, нечётность элемента массива с помощью условия a[i] mod 3 = 1 нельзя (не будет работать для отрицательных чисел), нужно использовать условие a[i] mod 3 <> 0

 


[1] По традиции нумерация элементов массива в Паскале обычно начинается с единицы, далее N обозначает размер массива (количество элементов).

[2] Вообще говоря, в данной задаче не требуется находить номер минимального элемента, поэтому сначала можно записать в переменную min число 1000 – проверьте, что программа все равно выдаст верное значение.




<== предыдущая лекция | следующая лекция ==>
Действие жидкостных приборов давления основано на уравновешивании измеряе­мого давления или разности давлений весовым давлением столба жидкости. | Условия организации и проведения выставки-конкурса.

Дата добавления: 2015-09-07; просмотров: 392. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

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

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Билиодигестивные анастомозы Показания для наложения билиодигестивных анастомозов: 1. нарушения проходимости терминального отдела холедоха при доброкачественной патологии (стенозы и стриктуры холедоха) 2. опухоли большого дуоденального сосочка...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия