Студопедия — Оператор цикла FOR
Студопедия Главная Случайная страница Обратная связь

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

Оператор цикла FOR






Задача 1. Найти произведение положительных, сумму и количество отрицательных из 10 введенных целых значений.

USES Crt;

VAR

X: INTEGER; S, K, P: INTEGER; I: BYTE;

Begin

P:=1; S:=0; K:=0;

FOR I:=1 TO 10 DO Begin

WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);

IF X>0 Then P:=P*X; { произведение положительных }

IF X<0 Then Begin

S:=S+X; { сумма отрицательных }

K:=K+1; { количество отрицательных }

End;

End;

WriteLn(‘ Произведение положительных значений = ‘,p);

WriteLn(‘ Сумма отрицательных значений = ‘,s);

WriteLn(‘ Количество отрицательных значений = ‘,k);

END.

Задача 2. Из N целых чисел найти минимальное значение.

USES Crt;

VAR MI, X: INTEGER; I,N: BYTE;

BEGIN

WriteLn('Введите количество значений'); ReadLn(n);

WriteLn('Введите первое значение'); ReadLn(mi);

FOR I:=2 TO N DO Begin

WriteLn(‘Введите ‘,I,’ -е значение’); ReadLn(x);

IF X<MI Then MI:=X;

End;

WriteLn(‘Минимальное значение = ‘,MI);

END.

Задача 3. Из N целых чисел найти минимальное среди положительных и максимальное среди отрицательных значений.

USES Crt;

VAR

MI, MA, N, I, X: INTEGER; FL, FL1: BYTE;

BEGIN

WriteLn('Введите количество значений'); ReadLn(N);

FL:=0; FL1:=0;

FOR I:=1 TO N DO Begin

WriteLn('Введите ',I,' значение'); ReadLn(X);

IF (FL=0) AND (X<0) Then Begin

MA:=X; FL:=1;

End;

IF (FL1=0) AND (X>0) Then Begin

MI:=X; FL1:=1;

End;

IF (X<0) AND (X>MA) Then MA:=X;

IF (X>0) AND (X<MI) Then MI:=X;

End;

IF FL=1 Then WriteLn('максимальное среди отрицательных = ',ma)

Else WriteLn('отрицательных нет');

IF FL1=1 Then WriteLn('минимальное среди положительных = ',mi)

Else WriteLn('положительных нет');

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. Найти среднее арифметическое минимального и максимального элементов из 10 введенных.

2. Напечатать лучший результат заплыва среди 8 участников.

3. Из n введенных чисел найти максимальное значение среди положительных элементов.

4. В группе определить самого высокого мальчика и самую маленькую девочку.

5. В ЭВМ вводятся результаты соревнований по прыжкам в высоту. Число участников произвольно. Напечатать сообщение о победителе.

Оператор цикла WHILE

Задача 1. Дано целое число а и натуральное (целое неотрицательное) число n. Вычислить а в степени n. {Введем целую переменную k, которая меняется от 0 до n, причем поддерживается такое свойство: b = (a в степени k).}

USES Crt;

VAR

A, N, B, K: INTEGER;

BEGIN

ClrScr;

Write(‘ Введите два значения ‘); ReadLn(A,N);

K:= 0; B:= 1;

While K <> N DO Begin

K:= K + 1; B:= B * A;

End;

Write(‘ A в степени N = ’,B);

END.

 

Другое решение той же задачи:

USES Crt;

VAR

A, N, B, K: INTEGER;

BEGIN

ClrScr; { Чистка экрана }

Write(‘ Введите два значения ‘); ReadLn(A,N);

K:= N; B:= 1;

{A в степени N = B * (A в степени K)}

While K <> 0 DO Begin

K:= K - 1; B:= B * A;

End;

Write(‘ A в степени N = ’,B);

END.

Задача 2. Даны натуральные числа а, b. Вычислить произведение а*b, используя в программе лишь операции +, -, =, <>.

USES Crt;

VAR

A, B, C, K: INTEGER;

BEGIN

Write(‘ Введите два значения ‘); ReadLn(A,B);

K:= 0; C:= 0;

While K <> B DO Begin

K:= K + 1; C:= C + A;

End;

{C = A * K и K = B, следовательно, C = A * B}

Write(‘ A*B= ‘,C);

END.

Задача 3. Дано натуральное (целое неотрицательное) число A и целое положительное число D. Вычислить частное Q и остаток R при делении A на D, не используя операций DIV и MOD. (Согласно определению, А = Q * D + R, 0 <= R < D.)

USES Crt;

VAR

A, D, R, Q: INTEGER;

BEGIN

ClrScr;

Write(‘ Введите два значения ‘); ReadLn(a,d);

R:= A; Q:= 0;

While Not (R < D) DO Begin

R:= R - D; {R >= 0}

Q:= Q + 1;

End;

WriteLn(‘ Частное = ’,Q);

WriteLn(‘ Остаток = ’,R);

END.

Задача 4. Каждый год урожайность повышается на 5%. Через сколько лет урожай удвоится?

USES Crt;

VAR

YR, KL: BYTE; YRG: REAL;

Begin

ClrScr;

Write('Введите урожайность '); ReadLn(YR);

YRG:=YR;

While (YRG <2*YR) Do Begin

YRG:=YRG+0.05*YRG;

KL:=KL+1;

End;

WriteLn('Новый урожай ',YRG:5:0);

Write('Через ',KL,' лет урожай удвоится');

END.

Задача 5. Деду M лет, а внуку N лет. Через сколько лет дед станет вдвое старше внука. И сколько при этом лет будет деду и внуку.

USES Crt;

VAR

M,N: BYTE; Kl: BYTE;

BEGIN

ClrScr;

Write('Введите количество лет деда '); ReadLn(m);

Write('Введите количество лет внука '); ReadLn(n);

KL:=0;

While (M>2*N) DO Begin

M:=M+1; N:=N+1; KL:=KL+1;

End;

WriteLn(M,' лет деду');

WriteLn(N,' лет внуку');

WriteLn('Через ',KL,' лет дед вдвое станет старше внука');

END.

Задача 6. Поле засеяли цветами двух сортов на площади S1 и S2. Каждый год площадь цветов первого сорта увеличивается вдвое, а площадь второго сорта увеличивается втрое. Через сколько лет площадь первых сортов будет составлять меньше 10% от площади вторых сортов.

USES Crt;

VAR

S1,S2:WORD; KL:BYTE;

BEGIN

ClrScr;

Write('Введите площадь, которую засеяли цветами 1-го сорта '); ReadLn(S1);

Write('Введите площадь, которую засеяли цветами 2-го сорта '); ReadLn(S2);

KL:=1;

While (S1>0.1*S2) DO Begin

S1:=S1*2; S2:=S2*3; KL:=KL+1;

End;

WriteLn('Площадь, которую засеяли цветами 1-го сорта ',S1);

WriteLn('Площадь, которую засеяли цветами 2-го сорта ',S2);

WriteLn('Через ', kl,' лет');

END.

Задача 7. Составить программу перевода числа из 10 системы счисления в 2 систему счисления.

Для этой задачи представлено два решения.

A)

USES Crt;

VAR

DES, OST, I, DW:INTEGER;

BEGIN

ClrScr;

Write('Введите десятичное число '); ReadLn(DES);

I:=1;

While (DES>=2) DO Begin

OST:=DES mod 2;

DES:=DES div 2;

DW:=DW+OST*I;

I:=I*10;

End;

DW:=DW+DES*I;

Write('Двоичная запись числа ',DW);

END.

B)

USES Crt;

Const A=10;

VAR

DES, OST, I:INTEGER;

DW:Array[1..100] OF INTEGER;

BEGIN

ClrScr;

Write('Введите десятичное число '); ReadLn(des);

I:=1;

While (des>=2) DO Begin

OST:=DES mod 2;

DES:=DES div 2;

DW[I]:=OST;

I:=I+1;

End;

DW[I]:=DES;

FOR I:=I DownTo 1 DO

Write(DW[I]);

END.

.....................................................................................................................................

Практические задания

.....................................................................................................................................

1. Составить программу, печатающую квадраты всех натуральных чисел от 0 до заданного натурального n.

2. Дано натуральное n, вычислить n! (0!=1, n! = n * (n-1)!).

3. Последовательность Фибоначчи определяется так: a(0)= 1, a(1) = 1, a(k) = a(k-1) + a(k-2) при k >= 2. Дано n, вычислить a(n).

4. К старушке на обед ходят кошки. Каждую неделю две кошки приводят свою подружку. В доме у старушки 100 мисок. Через какое время появятся лишние кошки, и сколько кошек при этом останется голодными.

5. Известна сумма номеров страниц, определить номер страницы.

6. Лягушка каждый последующий прыжок делает в два раза короче предыдущего. Достигнет ли она болота и за сколько прыжков. Длину первого прыжка задайте самостоятельно.

 







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



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

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

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

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