Решение задачи на работу с целым типом данных. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Решение задачи на работу с целым типом данных.



Лабораторная работа № 1

Решение задачи на работу с целым типом данных.

Цель работы: Научиться записывать по правилам языка Pascal выражения с целым типом данных

 

Теория.

Числа, не имеющие дробной части в Паскале представляются целым типом. Целый тип описывается служебным словом INTEGER. Целые числа задаются в диапазоне от -32768 до +32767 и занимают два байта памяти. Формат описания:

VAR <имя переменной>: INTEGER; Операции над целыми числами: + - сложение; - - вычитание; * - умножение;

div - получение целой части от деления с отсечением дробной части;

mod - получение остатка от деления.

Так как в результате деления одного целого числа на другое не всегда получается целое число, поэтому применяют операции div и mod, результатом которых всегда является целое число. Примеры:

20 div3->6; 20 mod 3->2

33 div 3->3; 33 mod 3->3

20 div4->5; 20 mod 4->0

1 div 2->0; 1 mod 2->1

Стандартные функции с целыми числами:

Abs(x) ®модудь числа;

Sqr(x) ®квадрат числа;

Pred(x) ®предыдущее по значению число;

Succ(x)®последующее по значению число;

Inc(х) ®процедура увеличивает значение х на 1;

Dec(x) ®процедура уменьшает значение х на 1.

Inс(х, у)®процедура увеличивает значение х на у;

Dec(x, у)®процедура уменьшает значение х на у.

 

Задание 1

 

Вариант 1. Записать на Паскале следующие числа:

а) 55 × 10-6; б)0,00000006; в) 85,57;

г)-0,7546; д)11/4; е) -1/6;

ж) ; з) p; и) 5×106;

к) -24,8 × 10-7; л) 106; м) 1/100000.

Вариант2 Записать следующие числа без десятичного порядка:

а) -0.00027Е+4; б) 666Е-3; в) 1Е1

Вариант 3 Указать неправильные записи чисел:

а) 0006; б)-0; в) 7,0; г) 7.;
д)+0.3; е).3; ж) 2/3; з)Е-1;

и) 8Е0; к) 0Е-4; л) 2*Е5; м) е.

Вариант 4 Записать на Паскале следующие формулы:

а) a+bx+cyz; б) [(ax-b)x+c]x-d;
в) аb/с+с/аb; г) (х+у)/а1а2/(х-у);

д) 104a>31/5b; е) (1+х/2!+у/3!)/(1+2/(3+ху)).

Вариант 5 Записать в общепринятой форме:

a) (p+q)/(r+s)-p*q/(r*s);

б) 1E3+beta/(x2-gamma*delta).

Вариант 6 Вычислить: 24/(3*4)-24/3/4+24/3*4.

Вариант 7 Записать на Паскале следующие формулы.

a) (1+x)2; б) 1+x2; в) a+bx;

г) sin 8; д) cos2 x3; e) tg x;

ж) log 2 x/5; з) arctg 103; к) arcsin x.

Вариант 8. Записать на Паскале следующие формулы (х>0):

a) х-1; б)х4; в)х-2; г)х4; д)х100.

Вариант 9. Записать на Паскале следующие формулы:

a) ; б) ;

в) ; г) ;

д) ;

е) ;

ж) ;

з) .

Вариант 10. Записать в общепринятой форме:

а) (-b+sqrt(sqr (b)-4*a*c))/(2*a);

б) a/b(c+d)-(a-b)/b/c+1E -8;

в) x1+arctan (y2-alphal) /2*abs(x4-ln(5)*y5)/exp(-l);
Вариант 11 Вычислить значения выражений:

a) trunc (6.9); б) round (6.9);

в) tru а) 20 div 6; б) 20 mod 6; в) 20 div4;

г) 20 mod 4; д) 2 div 5; е) 2 mod 5;

ж) 123 div 0; з) 3.0 mod 3.

nc (6.2); г) round (6.2);

д) trunc (-1.8); е) round (-1.8);

ж) round (0.5); з) round (- 0.5)

Вариант 12 Вычислить значения выражений:

а) 20 div 6; б) 20 mod 6; в) 20 div4;

г) 20 mod 4; д) 2 div 5; е) 2 mod 5;

ж) 123 div 0; з) 3.0 mod 3.

Вариант 13 Указать порядок выполнения операций в выражении:

-a mod b+a div b*c

Вариант 14 Вычислить значения выражений:

а) 3*7 div 2 mod 7/3-trunc(sin(l));

б) succ (round (5/2)-pred(3))

Вариант 15 определить тип (целый или вещественный) выражения:

а) 1+0.0; 6)20/4; в) sqr(4); r) sqr(5.0);

д) sqrt(16); e) sin(0); ж) succ(-2); з) trunc(-3.14).

 

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

 

1. В каком диапазоне задаются целые числа типа Integer?

2. Какие операции можно применять над целыми числами?

3. В каком разделе программы должны быть описаны переменные?

 

 

Лабораторная работа № 2.

Теория.

Числа, имеющие десятичную точку в записи в Паскале представляются вещественным типом, который описывается служебным словом REAL. Вещественные числа задаются в диапазоне от 2.9*10-39 до 1.7*1038 и занимают шесть байтов памяти. Формат описания:

VAR <имя переменной>: REAL;

Вещественные числа могут быть представлены в двух видах: числом с фиксированной точкой и числом с плавающей точкой.

В числе с фиксированной точкой дробная часть отделяется от целой точкой, например 12.5, 33.56.

Числа с плавающей точкой представляются в экспоненциальной форме:

Число=мантисса * 10к

Мантисса задается обычным способом, а 10к заменяется на ЕК. Например,

0,000005=5 *10-6=5Е-6

Операции над вещественными числами:

 

+ - сложение;

- -вычитание;

* - умножение;

/ - деление.

Стандартные функции с вещественными числами: Abs(x) -модуль числа;

Sqr(x) -квадрат числа;

Sqrt(x)-квадратный корень от х;

Sin(x) -синус х;

Cos(x) -косинус х;

Arctan(x) -арктангенс х;

Ехр(х) -вычисление ех;

Ln(x) -натуральный логарифм х

В Паскале отсутствует операция возведения в степень. Для вычисления степени числа используется следующая формула:

АB=ехр(В*1n(А))

Функции преобразования типов:

Round(x) -преобразует вещественное число в целое округлением;

Тrunc(х) -преобразует вещественное число в целое отбрасыванием дробной части.

 

Задание 1.

 

Вариант 1. Даны два действительных числа а и в. Получить их сумму, разность и произведение.

Вариант 2. Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

Вариант 3. Даны 2 действительных числа х и y. Получить

Вариант 4. Даны 3 действительных отрицательных числа. Найти среднее арифметическое их модулей.

Вариант 5. Вычислить значение функции:

а) f=(х+1)2+3(х+1) при х=3;

б) f=(6х2+3(х3+1)2) при х=4;

в) f=x2(6x2+l)+5(x2+l)2 при х-2;

г) f=х3+Зх2+1 прих=4;

д) f=(x+l)2/3+(x3+l)2 при х=5;

е) f=х2/2+(х2/2)2+3 при х=5;

ж) f=-4х2+2(х4+1)2 при х=4;

Вариант 6 Вычислить дробную часть среднего геометрического трех заданных положительных чисел.

Вариант 7 По заданным коэффициентам и правым частям уравнений системы:

найти ее решение в предположении,что определитель системы не равен нулю;

Вариант 8. Вычислить длину окружности, площадь круга и объем шара одного и того же заданного радиуса.

Вариант 9. Вычислить периметр и площадь прямоугольного треугольника по длинам двух катетов.

Вариант 10 По координатам трех вершин некоторого треугольника найти его площадь и периметр.

Вариант 11 По длинам двух сторон некоторого треугольника и углу (в градусах) между ними найти длину третьей стороны и площадь этого треугольника.

Вариант 12 Дана сторона равностороннего треугольника. Найти его площадь.

Вариант 13 Известны две стороны треугольника а,b и угол между ними.Найти его площадь.

Вариант 14 Треугольник задан длинами сторон. Найти:

а) длины высот; б) длины медиан;

в) длины биссектрис.

Вариант 15. Вычислить расстояние между двумя точками с координатами xl,yl и х2,у2.

 

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

 

1. Сколько байт в памяти занимает вещественный тип?

2. Стандартные функции с вещественными числами?

3. Операции над вещественными числами?

 

 

Лабораторная работа № 3

 

Теория.

Процедуры ввода производят ввод данных с клавиатуры. Можно ввести любое количество значений переменных, идентификаторы которых перечислены в круглых скобках через запятую. Имеются две процедуры ввода:

READ(список переменных);

RЕАDLN(список переменных);

READ производит ввод данных, не переводя при этом курсор на следующую строку. READLN производит ввод данных, и переводит при этом курсор на следующую строку. Например, для ввода трех чисел в переменные А, В, С, надо записать READ(A, В, С).

Процедуру READLN можно использовать без параметров для перевода строки и задержки экрана.

Для вывода данных используются процедуры вывода:

WRITE(cписок выражений);

WRITELN(cписок выражений);

WRITE производит вывод данных, не переводя курсор на следующую строку, a WRITELN переводит курсор. При выводе данных можно управлять формой вывода т.е. указать сколько позиций нужно отвести для каждого выводимого значения. Для этого за переменной ставится двоеточие и указывается число занимаемых позиций (ширина поля вывода):

WRITE(X:n), где Х- выводимая переменная целого типа;

n - число позиций.

WRITE(X:m:n), где Х- выводимая переменная вещественного

типа;

m - общее число выводимых знаков вещественного

числа вместе с десятичной точкой,

n - число знаков после десятичной точки.

WRITE(‘ ’:n), число выводимых пробелов.

Пример:

Ввести две переменные а я b вещественного типа. Найти и вывести их сумму.

Программа:

Program sum;

Var a,b,s: real;

Begin

Writeln(*введите два вещественных числа'); Readln(a,b);

S:=a+b;

Writeln(‘сумма двух чисел = ‘,S:6:2); Readln

End.

 

Задание 1.

 

Вариант 1. В магазине продаются PC трёх наименований, цена их равна a, в и с тенге соответственно. Определить сколько PC каждого из наименований можно купить на сумму п.

Вариант 2. Дано вещественное число х.

а) выделить его целую часть (отбросить дробную часть);

б) округлить данное число до п значащих цифр после запятой.

Вариант 3. Найти остаток от деления целого числа а на целое число b.

Вариант 4. Вычислить координаты центра тяжести трёх материальных точек с массами m1, т2 т3 и координатами 11), (х22), (х33) по формулам:

;

Вариант 5. Вычислить координаты точки, делящей отрезок А1А2 в отношении щ:п2по формулам:

;

где , x1,y1 - координаты точки А1 x2 y2 - координаты точки А2.

Вариант 6. Определить время падения камня на поверхность Земли с высоты h.

Вариант 7. Даны действительные числа х, у, z. Вычислить а и b, если:

a) ; ;

б) ;

.

Вариант 8. Столбик термометра в Казахстане показывает t° С, а в США (штат Аляска) температура воздуха равна t° F, Используя соотношение t°F=9/5-t°C+32, определить на сколько градусов по Цельсию в Аляске холоднее, чем в Казахстане.

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

Вариант 10. Дано положительное вещественное число k. Определить:

а) п-ую от конца цифру целой части числа;

б) п-ую цифру дробной части этого числа.

Вариант 11. Шел n-й год (п - нечетное число). Язаметил, что цифры моего возраста совпадают с двумя последними цифрами года моего рождения, К огромному удивлению, оказалось, что с возрастом моего дедушки происходит то же самое. По вводимому п определить наши годы рождения.

Вариант 12. Дана некоторая сумма денег. Разменять эту сумму банкнотами 1, 3, 5, 10, 20 так, чтобы количество банкнот было минимальным.

Вариант 13. В девятиэтажном доме на каждом этаже расположено по 4 квартиры. Составить программу, которая по номеру этажа n (1< n <9) выводит номера квартир на этом этаже.

Вариант 14. Объём ЖМД составляет п Гбайт. На дискете размещаются два файла, состоящих из l1 и l2 знаков соответственно (считать, что один знак занимает 1Байт). Определить, сколько свободной памяти останется на ЖМД (Гб, Мб, Кб и б), если необходимо скопировать на него к таких дискет. Подразумевается, что к (l1+l2) <п Гбайт.

Вариант 15. Дано действительное число а. Не пользуясь ни какими другими арифметическими операциями, кроме умножить, получить

а) а4 за две операции;

б) а6 за три операции;

в) а7 за четыре операции;

г) а8 за три операции;

д) а9 за четыре операции;

е) а 10 за четыре операции;

ж) а13 за пять операций;

з) а15 за пять операций;

и) а21 а шесть операции;

к) а28 за шесть операции;

л) а64 за шесть операций.

 

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

 

1. Отличия в работе операторов read и readln?

2. Как задать размерность при выводе вещественных чисел?

3. Приоритет выполнения операций в выражениях?

Лабораторная работа № 4

 

Теория.

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

IF <логическое выражение> THEN <оператор 1 > ELSE <onepaтop2>;

Условный оператор работает по следующему алгоритму. Вначале вычисляется <логическое выражением Если результат - TRUE (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат - FALSE (ложь), то выполняется <оператор2>, а <оператор1> пропускается. В условном операторе ветвь ELSE может быть опущена. В этом случае при значении TRUE (истина) Логического выражения> выполняется <оператор1>, в противном случае этот весь условный оператор пропускается.

При применении условного оператора нужно соблюдать некоторые синтаксические правила. После служебных слов THEN и ELSE может присутствовать только один оператор. Если выполняется несколько операторов, их надо объединить в один составной оператор BEGIN.....END. Перед THEN и ELSE не ставится точка с запятой.

Пример

Заданы два числа х; у. Переменной z присвоить значение 1, если х<у, 0, если х=у, -1 в противном случае.

Текст программы:

Program primer;

Var x,y,z: real;

Begin

Writeln('введите два вещественных числа'); Readln(x,y);

If x<y then z:=l

Else

If x = y then z:=0

Else z:= -1;

Writeln('значение Z = ', z:6:2);

Readln

End

 

Задание 1.

 

Вариант 1. Даны действительные числах, у. Получить:

а) МАХ(х,у);

б) MlN(x,y);

в) МАХ(х,у), МIN(х,у);

Вариант 2. Переменной k присвоить номер четверти плоскости, в которой находится точка с координатами х и у (х,у ¹ 0).

Вариант 3. Известно, что из четырех чисел a1, a2, а3 и a4

одно отлично от трех других, равных между собой, присвоить номер этого числа переменной n.

Вариант 4. Записать последовательность операторов для решения указанной задачи:

а) по номеру у (у > 0) некоторого года определить с - номер его столетия (учесть, что, к примеру, началом XX столетия был 1901 год);

б) если уравнение ах2 +bх + с = 0 (а¹0) имеет вещественные корни, то логической переменой t присвоить значение true, a переменным x1 и х2 - сами корни, иначе же переменной t присвоить false, а значение переменных x1 и х2 не менять;

в) считая, что стандартные функции sin и cos применимы только к аргументам из отрезка [0, p/2], вычислить у = sin x для произвольного числах;

д) значения переменных а, b и с поменять местами так, чтобы оказалось a > b > с.

Вариант 5. Даны произвольные числа a, b и с. Если нельзя построить треугольник с такими длинами сторон, то напечатать 0, иначе напечатать 3, 2 или 1 в зависимости от того, равносторонний это треугольник, равнобедренный или какой-либо иной.

Вариант 6. Дано натуральное число п (п < 99). Выяснить верно ли, что п равно кубу суммы цифр числа п.

Вариант 7. Даны числа с, h, p, l, обозначающие длины четырёх стержней. Можно ли составить из этих стержней параллелограмм?

Вариант 8. Даны числа x1,y1, x2, y2, х3, у3 - координаты трёх каких-то вершин прямоугольника. Вычислить и напечатать координаты четвёртой вершины.

Вариант 9. Упорядочить три числа а, b, с по возрастанию.

Вариант 10. Дано четырёхзначное натуральное число п:

а) выяснить, является ли это число палиндромом (перевертышем);

б) верно ли, то, что это число содержит ровно три одинаковые цифры;

в) верно ли, что все четыре цифры числа различны;

г) верно ли, что все цифры числа в порядке их следования составляют возрастающую последовательность?

 

Вариант 11. Даны действительные числа xl, yl, х2, у2 и r (r >0). Определить, лежит ли точка с координатами (xl,yl) вне круга радиуса r с центром в точке х2,у2.

Вариант 12. Три точки на плоскости заданы своими координатами: A(xl,yl), В(х2,у2), С(хЗ,уЗ). Определить, лежат ли они на одной прямой.

Вариант 13. Две точки задаются своими координатами. Определить, какая из них находится дальше от:

а) начала координат;

б) окружности заданного радиуса с центром в начале координат.

Вариант 14. Даны действительные положительные числа xl,x2, x3, y1,y2 уЗ. Выяснить, принадлежит ли начало координат треугольнику с вершинами (x1,y1), (x2,y2), (х3,у3).

Вариант 15. Выясните, в какой координатной четверти расположен треугольник, образованный прямой, заданной уравнением у=ах+b, и осями координат.

Вариант 16. Даны действительные положительные числа а, b, с, d. Выяснить, можно ли прямоугольник со сторонами а, b уместить внутри прямоугольника со сторонами с, d так, чтобы каждая из сторон одного прямоугольника была параллельной или перпендикулярной каждой стороне другого прямоугольника.

Вариант 17. Даны целые числа m, n (0< m < 12, 0 < n <60), указывающие момент времени: т часов, п минут. Определить наименьшее время (число полных минут), которое должно пройти до того момента, когда часовая и минутная стрелки на циферблате:

а) совпадут;

б) расположатся перпендикулярно друг к другу.

Вариант 18. Заданы координаты вершин треугольника A(x1,y1), B(x2,y2), С(х33) и точка О(х,у). Определить, принадлежит ли точка О треугольнику ABC. Погрешностями вычислений пренебречь.

Вариант 19. Даны координаты вершин треугольника A(x1,y1), B(x2,y2),

Вариант 20. С(х33) и точка О(х,у), находящаяся внутри треугольника. Найти кратчайшее расстояние от этой точки до каждой из сторон треугольника, указать также, до какой стороны треугольника расстояние является наибольшим. Считать, что данные корректны, погрешностями вычислений пренебречь.

 

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

 

1. В каком случае используется составной оператор BEGIN…END?

2. Может ли быть опущена ветвь ELSE в условном операторе?

3. Какого типа может быть выражение <селектор> в операторе выбора?

Лабораторная работа № 5

 

Теория.

 

Множества относятся к структурированным типам. Множество- совокупность различных элементов одинакового типа. В отличие от массива порядок перечисления элементов во множестве не имеет значения, и количество элементов заранее не определено. Количество элементов, входящих во множество, может меняться от 0 до 256. Значения множества задаются в квадратных скобках перечислением элементов через запятую. Например:

[] – пустое множество;

[2,3,7,11] – множество из целых чисел;

[‘a’, ‘c’, ‘f’] – множество из символов;

[1..10] – множество из элемента ограниченного типа;

[k..2*k] – элемент множества задается текущим значением переменной K.

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

<имя>: SET OF <тип компонент>;

<тип компонент> - является базовым типом, может быть простым типом, кроме вещественног.

Множество можно задавать 2-мя способами.

1) Сначала определить в разделе TYPE, затем в разделе VAR

2) Сразу определить в разделе VAR.

Значениями множества может быть только значение базового типа.

Операции над множествами

Для получения новых множественных значений используется 3 операции: объединение, пересечение и разность множеств.

1) Объединение: обозначается знаком «+». Объединением двух множеств является множество, составленное из элементов обоих множеств. [2,7,3]+[1,7,4,5,2]→[2,7,3,1,4,5]

2) Пересечением двух множеств является множество, состоящее из элементов, одновременно входящих в оба множества. Обозначается знаком «*».

[2,7,3]*[1,7,4,5,2] →[2,7]

3) Разностью двух множеств является множество,

состоящее из элементов 1-го множества, которые не являются

элементами второго множества. Обозначается знаком «-.».

[2,7,3] - [1,7,4,5,2] →[2,7]

C помощью множественных операций можно строить

Множественные выражения. Например:

[1,2,5,6,7] * [2..6] + [3,9] → [2,3,5,6,9]

К множествам применимы также операции отношения, которые приведены в таблице:

 

 

Операции отношения Значения
True False
A=B А и В совпадают
 

 

 

В противном

случае

A<>B А и В не совпадают
A<=B Элементы А принадлежат множеству В
A>=B Все элементы множества В принадлежат множеству А
X IN A Элемент Х входит в А Х- значение базового типа

 

 

Примеры описаний множеств:

M: Set of 1..10;

M: = [2,3,5,7]; {множеству М присваивается значение}

6 IN M→false {число 6 не входит во множество М}

[3,5,7]<=M→true {[3,5,7] принадлежит множеству М}

М=[1,2,3] → false {множество М не равно [1,2,3]}

[ ]<=M→true {пустое множество [ ] меньше множества М}

(7 in M) and ([7]<=M)→ true

Операцию проверки принадлежности IN удобно использовать для упрощения сложных условий в операторе IF. Например, оператор

IF (t=0) or (t=15) or (t=40) or (t=100) then ….

Может быть составлен более компактно и наглядно:

IF t in [0,15,40,100] then …

Пример программы.

Вводится последовательность букв латинского алфавита, оканчивающаяся точкой. Определить общее вхождение в эту последовательность букв f,a,y,e.

Program primer;

Var k: integer;

Litera: char;

Begin

K:=0

Read(litera);

While litera <> ‘.’ Do

Begin

If litera in [f,a,y,e] then k:=k+1;

Read(litera);

End;

Writeln(‘вхождение букв f,a,y,e в текст =’, K);

END.

 

Задание 1.

Вариант 1. Если в базовом типе n различных значений, то сколько различных значений в построенном на его основе множественном типе?

 

Вариант 2. Даны следующие описания переменных:

Type bits = set of 0..1;

Var x: bits;

y: set of (a,b,c);

z: set of ‘*’..’*’;

Ответить на следующие вопросы:

а) Каков базовый тип каждого из указанных множественных типов?

б) Сколько и какие значения может принимать каждая из переменных x, y, z?

 

Вариант 3. Даны следующие описания переменных:

Type день недели = (пн, вт, ср, чт, пт, сб, вс);

Описать множественный тип,включающий в себя множества из:

а) названия любых дней недели;

б) названия рабочих дней недели.

 

Вариант 4. Какие из следующих описаний не верны и почему?

Type точки = set of real;

байт = pasked Вариант [1..8] of 0..1;

данные = set of байт;

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

М1= set of месяц;

М2= set of июн..авг;

М3= set of дек..фев;

М4= set of (июн, июл, авг);

 

Вариант 5. Какие из следующих конструкций являются множествами (в смысле языка Паскаль), а какие нет и почему?

a) [9,6,3,0]; f) [true..false];

b) [2..3,5,7]; g) [2, sqrt(9)];

c) [1..15,4..18]; h) [‘=’,’>=’, ‘>’];

d) [‘*’, ‘*’]; i) [[], [5]];

e) [0..0]; j) [odd(7), 0<2].

Вариант 6. Вычислить значения отношений:

a) [2]<>[2,2,2];

b) [4,5,6] = [4..6];

c) [‘a’,’b’]=[‘b’,’a’];

d) [‘c’,’b’]=[‘c’..’b’];

e) [2,3,5,7]<=[1..9];

f) [3,6..8]<=[2..7,9];

g) []<=[‘0’..’9’];

h) ‘q’ in[‘a’..’z’];

i) trunc(3.9) in[1,3,5];

j) odd(4) in [];

k) [2]<[1..3];

 

Вариант 7. Вычислить значения выражений:

a) [1,3,5]+[2,4]; b) [1,3,5]*[2,4]; c) [1,3,5]-[2,4];

d) [1..6]+[3..8]; e) [1..6]*[3..8]; f) [1..6]-[3..8];

g) [2,4]+[1..5]; h) [2,4]*[1..5]; i) [2,4]-[1..5];

j) [ ]+[4]; k) [ ]*[4]; c) [ ]-[4];

 

Вариант 8. Вычислить значения выражений:

a) [2..13] * [3,13..60]+[4..10]-[5..15]*[6];

b) [2..10]-[4,6]-[2..12]*[8..15];

c) ([‘0’..’7’]+[‘2’..’9’])*([‘a’]+[‘z’]);

Вариант 9. Упростить (А и В - множества):

a) A*B-A; b) A-(A-B);

b) A*B-A; b) A-(A-B);

 

Вариант 10. Эквивалентны ли выражения:

a) P in [0,5,19] и (p=0) or (p=5) or (p=19)?

b) P in [20..50] и (p>=20) and (p<=50)?

 

Вариант 11. Даны следующие описания переменных:

Var p: set of 0..9; I,j: integer

Если i=3 и j=5 то, какое значение получит переменная P при выполнении следующего оператора присваивания:

a) p:=[i+3, j div 2, j:sqr(i)-3];

b) p:=[2*i..j];

c) p:=[I, j, 2*I, 2*j].

Вариант 12. Даны следующие описания переменных:

Var s: set of char;

c, d: char;

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

а) пустое множество;

б) множество из строчных гласных латинских букв (a, e, I, o, u);

в) множество из всех цифр;

г) множество из литер,которые больше с, но меньше d (c<d)/

Вариант 13. Даны следующие описания переменных:

TYPE строка = pasked Вариант[1..100] of char;

Описать функцию счет(s), подсчитывающую общее количество цифр и знаков ‘+’, ‘-’, и ‘*’, входящих в строку s.

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

 

1. Операция принадлежности множеству?

2.Что будет являться разностью двух множеств?

3.Объединение множеств?

4.Как объявить множественный тип?

Лабораторная работа № 6

 

Теория.

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

- циклы с параметром;

- циклы с предусловием;

- циклы с постусловием.

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

FOR <переменная цикла>:= <выражение1> ТО <выражение2> DO <тело цикла>;

- <переменная цикла>- управляющая переменная, называется параметром цикла, должна быть любого скалярного типа, кроме вещественного;

- <выражение1> и <выражение2> определяют границу изменения параметра цикла (начальное и конечное'значение параметра цикла). Тип выражений 1,2 должен совпадать с типом переменной цикла. Начальное и конечное значение могут быть представлены также константами и переменными.

Можно использовать другой оператор цикла, в котором значение параметра уменьшается от <выражение 1 > до <выражение2>:

FOR <переменная цикла>:= <выражениё1> DOWNTO

<вырая£енне2> DO <тело цикла>;

В этом случае очередное значение параметра цикла будет уменьшаться на единицу и проверяться условие:

<переменная цикла> ≥ <выражение2>.

Если в теле цикла используется больше одного оператора, то операторы заключаются в операторные скобки begin... end.

Пример

Вычислить значение у=an.

Текст программы;

Program primer;

Var y,a: real;

I,n: integer;

Begin

Writeln('введите число для возведения в степень');

Readln(a);

Writeln('введите степень числа');

Readln(n);

Y:=l;

For I:= 1 to n do

Y:=Y*a;

Writem(n,'-a степень числа ', a,’=',y:8:2);

Readln

End.

 

Задание 1.

 

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

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

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

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

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

Вариант 6. Найти минимальное из n отрицательных чисел.

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

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

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

Вариант 10. Вычислить:

а) ; б) ;

в) ; г) .

Вариант 11. Найти все трехзначные числа, такие, что сумма цифр равна А, а само число делится на В (А и В вводятся с клавиатуры).

Вариант 12. Найти все трехзначные числа, которые при увеличении на 1 делятся на 2, при увеличении на 2 делятся на 3, при увеличении на 3 делятся на 4, а при увеличении на 4 делятся на 5.

Вариант 13.Найти количество трехзначных чисел, сумма цифр которых равна а, а само число заканчивается цифрой b (а и b вводятся с клавиатуры).

Вариант 14. Найти все симметричные натуральные числа из промежутка от а до b (а и b вводятся с клавиатуры).

Вариант 15. Найти все четырехзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27.

Вариант 16. Найти все четырехзначные числа, в которых есть две одинаковые цифры.

Вариант 17. Найти все симметричные четырёхзначные числа.

Например: 7667,1331.

Вариант 18. Найти все четырёхзначные числа, в которых ровно две одинаковые цифры.

Вариант 19. Найти все трёхзначные числа, которые состоят из разных цифр, а их сумма равна а (а вводится с клавиатуры).

 

Вариант 20. Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна s (s вводить с клавиатуры).

Вариант 21. Найти сумму целых чисел из промежутка от 1 до 200, у которых ровно 5 делителей.

Вариант 22. Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равна к (к вводить с клавиатуры).

 

 

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

 

1. В каких случаях используется цикл с параметром?

2. Какого типа может быть переменная счетчик?

3. Можно ли изменять значение счетчика от большего к меньшему?

4. Чему равен шаг счетчика?

 

 

Лабораторная работа № 7

Теория.

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

Оператор цикла с предусловием.

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

WHILE <условие> <тело цикла>; Условие - это выражение логического типа.

В цикле с предусловием проверка условия производится до начала очередной итерации. Оператор тела цикла выполняется до тех пор, пока условие истинно. Если условие ложно, то выполняется оператор, следующий за оператором WHILE. Если в теле цикла имеется несколько операторов, то они объединяются в составной оператор BEGIN... END.

Пример

Вычислить n!.

Текст программы:

Program primer 1;

Var F,K,N: integer;

Begin

Writeln(‘введите число для нахождения факториала');

Readln(N);

F;=l;

К:=0;

WhileK<>Ndo

Begin

K:=K+l;

F:=F*K

End;

Writeln('факториал числа ', N,* = ', F:8);

Readln

End.

Пример

Вычислить n!.

Текст программы: Program primer2;

Var F,K,N: integer;

Begin

Writeln(‘введите число для нахождения факториала’);

Readln(N);

F:=l;

К:=0;

Repeat

К:=К+1;

F:=F*K;

Until К <>N;

Writern('Факториал числа ', N,' = ', F:8); Readln

End.

 

Задание 1.

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

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

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

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

 

Вариант 5. Дана последовательность из п чисел. Определить, сохраняет ли она знак

Вариант 6. Вычислить:

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

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

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

Вариант 7. Напечатать таблицу значений функций sin х и cos х на отрезке [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

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

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

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

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

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

Вариант 12. Определить, является ли заданное натуральное число п
палиндромом, т.е. таким, десятичная запись которого читается
одинаково слева направо и справа налево.

Вариант 13. Дано натуральное число п. Определить:

а) Сколько цифр в числе п;

б) Чему равна сумма его цифр?

в) Найти первую цифру числа п.

Вариант 14. Даны натуральные числа п, т получить сумму т последних
цифр числа п.

Вариант 15. Дано натуральное число п:

а) Выяснить входит ли цифра 3 в запись числа п2;

б) Поменять порядок цифр числа п на обратный;

в) Переставить первую и последнюю цифры числа п;

г) Приписать по единице в начало и в конец записи числа п.

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

перевода формулу

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

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

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

Вариант 19. Вычислить значение функций y=4x5-2x3+5 для значения х, изменяющегося от -5 до 1 с шагом 0,1.

Вариант 20. Определить все делители натурального числа х и их количество.

 

Вариант 21. Пользователь внес в сберкассу вклад t. До какой суммы s возрастет через х лет вклад, если процент годовых начислений р%?

Вариант 22. Какой процент годовых начислений р должен обеспечить банк, чтобы первоначальный вклад s увеличился вдвое за х лет?

Вариант 23. Долгожитель, т.е. человек, проживший более 100 лет, обратил внимание, что если к сумме квадратов цифр его возраста прибавить число его дня рождения, то получится как раз его возраст. Определить, сколько этому человек лет.

Вариант 24. Три приятеля были свидетелями нарушения правил дорожного движения. Номер автомобиля (четырёхзначный) ни один из них не запомнил. Однако один заметил, что этот номер делится на 2, на 7 и на 11; другой заметил, что в записи номера участвуют только две цифры, а третий заметил, что сумма цифр числа равна 30. Каков номер автомашины нарушителя?



Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 773; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.34.146 (0.39 с.)