Лабораторная работа №6 Решение задачи с применением оператора цикл с параметром и перечисляемый тип.

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

Теория:

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

Создаваемый перечисляемый тип определяется в разделе типов TYPE:

<имя типа>=(значение1, значение2, значениеn);

<имя типа>-имя типа, определяемого программистом;

(значение1, значение2, . . . значениеn) являются константами определенного.

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

<мин. значение>. . .<макс. значение>;

Ограниченные типы определяются в разделе TYPE или VAR.

Задание:

 

1. Если среди чисел sin xn (п=1, 2...,30) есть хотя бы одно отрицательное число, то логической переменной t присвоить значение true , а иначе -значение false .

2. Дано 100 вещественных чисел. Определить, образуют ли они возрастающую последовательность .

3. Дана последовательность из 70 целых чисел. Определить, со скольких отрицательных чисел она начинается.

4. Дано 100 целых чисел. Определить, сколько из них принимает наибольшее значение.

5. Даны целые числа x1,x2,...,x55 вычислить величину

x1(x2+x3)(x4+x5+x6)(x7+x8+x9+x10)...(x+x47+...+x55).

6. Дана последовательность из 100 целых чисел. Определить количество чисел в наиболее длинной подпоследовательности из подряд идущих нулей.

7. Дано 200 вещественных чисел. Определить , сколько из них больше своих "соседей", т.е. предыдущего и последующего чисел.

8. Найти сумму десяти произвольных чисел. Результат отправить в переменную S.

9. Найти минимальное из п отрицательных чисел.

10. Найти максимальное из л отрицательных чисел.

11. Ввести п чисел. определить, сколько среди них положительных. Результат отправить в переменную к.

13. Имеются следующие описания:

type месяц=(янв, фев, март, апр, май, июн, июл, авг, сен, окт, ноя, дек);

var m, ml :месяц ;

k:l..maxint;n:1..12;

Присвоить переменной ml :

а)название месяца, следующего за месяцем т (с учетом того, что за декабрем идет январь);

б) название k -гo месяца после месяца m ;

14. Имеются следующие описания:

type страна=(Австрия, Болгария, Греция, Италия, Норвегия, Франция, ФРГ);

столица=(Вена, София ,Афины, Рим , Осло, Париж, Бон);

var st: страна; cap: столица;

По значению переменной st (названию страны ) присвоить переменной cap название столицы этой страны.

15. Имеются следующие описания:

var Р:(ада, бейсик, модула2, лисп ,паскаль,пл1, фортран);

A:(ada, basic,modula2,lisp,paskal, pll,fortran);

По Р - русскому названию языка программирования присвоить переменной А английское название.

4. Имеются следующие описания:

type название = (ноль, один, два, три, четыре, пять);

var :d:'0'..'5';

n:название;

По литере -цифре d присвоить переменной п название этой цифры.

16. Имеются следующие описания:
type нота = (до, ре, ми, фа, соль, ля, си);

интервал=(секунда, терция, кварта, квинта, секста, септима); var nl,n2: нота; i: интервал;

Определить i-интервал, образованный нотами n 1 и n 2( n 1 n2):секунда-это интервал из двух соседних (по кругу) нот (например, ре и ми, си и до),терция-интервал через ноту (например, фа и ля, си и ре) и т.д. 17 Имеются следующие описания: type сезон = (зима, весна, лето, осень);

месяц = (янв, фев, мар, апр, май, июн, июл, авг, сен, окт,ноя, дек);

var m: месяц; s: сезон; Определить s - сезон, на который приходится месяц т.

 

18. Имеются следующие описания:

type страна = (ГДР, Куба, Лаос, Монако, Непал, Польша);

континент = (Азия, Америка, Европа);

var s: страна; с: континент;

По s- названию страны определить с- название ее континента.

19. Имеются следующие описания:

type единица = (дециметр, километр, метр, миллиметр, сантиметр);

длина = real;

var s: страна;

р: единица;

Значение переменной х, означающее некоторую длину в единицах p, заменить на величину этой же длины в метрах.

20. Имеются следующие описания:
type цвет = (черный, серый, белый);
var с: цвет;

Напечатать значение переменной с.

21. Имеются следующие описания:
type letter = (a, b, с, d);

var x: letter;

Ввести заданное во входном файле значение типа letter (т. е. а, b , с или d ) и присвоить его переменной х.

22. Имеются следующие описания:

type падеж = (им , род, дат, вин, твор, предл);

слово = (степь, боль, тетрадь, дверь);

var w . слово;p: падеж;

Напечатать слово w в падеже р и единственном числе (например, при w=степь и р = твор надо напечатать слово степью).

23. Имеются следующие описания:

type курс = (С, В, Ю, 3,); { север, восток, юг, запад }

приказ = (вперед, вправо, назад, влево );

varKl,K2: курс; ПР: приказ;

Корабль сначала шел по курсу К1, а затем его курс был изменен согласно приказу ПР. Определить К2 - новый курс корабля.

24. Имеются следующие описания:
var d:28..31;

m: месяц;

Переменной d присвоить количество дней в месяце т ( год считать невисокосным).

25. Имеются следующие описания:
var у: 1901..2000;

m: месяц; d: 1..31;

t: boolean;

Переменной t присвоить значение true, если тройка у, т, d образует правильную дату, и значение false - иначе ( при 31 июня и т.п.).

26. Имеются следующие описания:
var d,dl: 1 ..31; m, ml: месяц;

у: 1901..2000;

yl: 1901..2001;

По дате d , т, у определить d 1, m 1, y 1 - дату следующего дня.

27. Имеются следующее описание:

var k: 1. .366; d: 1..31; m: месяц;

а) Определить k - порядковый номер того дня високосного года, который имеет дату d , т;

б) Определить d , т - дату k -гo по счету дня високосного года.

Контрольные вопросы:

  1. Дайте определение перечисляемому и ограниченному типу?
  2. Где описываются эти типы?
  3. Какие операции определены над перечисляемым типом?

 

 

Лабораторная работа №7 Решение задачи с применением операторов цикла итерационного типа.

 

Цель работы: Работа с оператором цикла с предусловием

Теория:

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

Цикл с предусловием записывается следующим образом:

WHILE <условие> DO <тело цикла>;

Условие-это выражение логического типа.

Цикл с постусловием

REPEAT

Оператор1;

. . .

оператор N

UNTIL <условие>;

В цикле с постусловием проверка условия производится после тела цикла, поэтому его называют циклом с постусловием.

 

Задание:

1. Дана непустая последовательность различных натуральных чисел, за которой следует 0. Определить порядковый номер наименьшего из них.

2.Вводится последовательность ненулевых чисел, 0-конец последовательности. Определить, является ли последовательность возрастающей.

3.Вводится последовательность ненулевых чисел, 0-конец последовательности. Определить, является ли последовательность закономерной.

4.Вводится последовательность ненулевых чисел, 0-конец последовательности. Подсчитать, сколько в ней отрицательных чисел, и сумму положительных чисел.

5.Дана последовательность ненулевых чисел, 0-конец последовательности. Определить, является ли она неубывающей.

6.Дана последовательность ненулевых чисел, 0-конец последовательности. Определить, сохраняет ли она знак.

7.Вводится последовательность ненулевых чисел; 0-конец последовательности. Подсчитать, сколько в ней пар соседних равных элементов.

8. На выставке собак, где были представлены разные породы, отбор животных производился по возрасту и высоте холки. Определить, сколько было боксеров 2-3-летнего возраста с высотой холки не менее 55 сантиметров.

9. В очереди за билетами стоят мужчины и женщины. Какое количество мужчин стоит в начале очереди до первой женщины.

10. Вычислить:

а) у= cosx+cosx2+cosx3+ ... + cosx30;

б)у=1!+2!+3!+...n!(n>1);

в) у- первое из чисел sin x, sin sin x, sin sin sin x,., меньшее по модулю 10-4.

Числа Фибоначчи (fn) определяются формулами

f0=f1=1; fn=fn-1+fn-2 при n=3,4,... то есть два первых числа равны единице, а каждый последующий член является суммой двух предыдущих.

а) определить f-40-е число Фибоначчи;

б) найти f -первое число Фибоначчи, большее т(т>1);

в) вычислить s-сумму всех чисел Фибоначчи, которые не превосходят 1000.

11. Дано натуральное число п.

а) определить n-ое число Фибоначчи;

б) найти сумму всех чисел Фибоначчи, которая не превосходит п;

в) вычислить сумму п чисел Фибоначчи.

13. Дана непустая последовательность натуральных чисел, за которой следует 0. Вычислить сумму тех из них, порядковые номера которых- числа Фибоначчи.

14. Не используя стандартные функции (за исключением abs ), вычислить с точностью eps >0:

а) у=ех=1+х/1 !+х2/2!+.. .+хn/n!+...;

б) y=sh x =x+x3/3!+x5/5!+...+x2n+1/(2n+l)!+...;

в) у= cosx = 1-х2/2!+х4/4!-.. .+(-1) nх2n /(2n)!+...;

г) у = ln (1+х)=х-х2/2+х3/3-...+(-1)n-1 хn/n +...(x<1);

д) у= arctg x =x-x3/3+x5/5-...+(-l)nx2n+1/(2n+l)+...(x<l).
Считать, что требуемая точность достигнута, если очередное слагаемое по модулю меньше eps,-вce последующие слагаемые можно уже не учитывать.

15. Напечатать таблицу значений функций sin x и cos x на отрезке [0,1] с шагом 0.1 в следующем виде (считать, что при печати на каждое вещественное число отводится по 6 позиций строки):

_х______ sin(x)_______ cos(x)_

0.0000 0.0000 1.0000

0.1000 0.0998 0.9950

1.0000 0.8415 0.5403

16. Дано не менее трех различных натуральных чисел, за которыми следует 0. Определить три наибольших числа среди них.

17. Дана непустая последовательность ненулевых целых чисел, за которой следует 0. Определить, сколько раз в этой последовательности меняется знак. (Например, в последовательности 1, -34, 8,14, -5 знак меняется 3 раза.)

18. Дана последовательность из не менее чем двух натуральных чисел, за которой следует 0. Вычислить сумму тех из них, порядковые номера которых- простые числа.

19. Дано натуральное число п найти количество цифр данного числа, больших а (а вводится с клавиатуры);

20. Найти сумму цифр заданного натурального числа п.

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

22. Получить таблицу температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта, используя для перевода формулу

 

23. Вычислить значения функции у=4х3-2х2+5 для значений х, изменяющихся от -3 до 1, с шагом 0.1.

24. Дано натуральное число п. Вычислить значения функции

для х= 1; 1.1; 1.2; ...;1+0.1n.

25. Даны натуральные число п, действительное числа а1, ... , ап. Получить b 1 , ... , b п , где

26. Вычислить: у= sin 1+ sin 1.1+sin 1.2+...+sin2.

Контрольные вопросы:

  1. Формат оператора цикла с пред- и постусловием.
  2. Чем отличается оператор цикла с предусловием от оператора цикла с постусловием?