где
a=1.3,b=6.5 z= a - b при
a
a
t 2/3
-
при
t>b,
12.
Для
x,
|e -2x
sin bx| при
x >1,
где
b=-2.9
y
= cos
bx
при x
= 1,
e -x
cos bx при
x < 1,
13.
Для
x
sin (cos a x)при
x >1,
где
a=-0.8
z
= tg
ax
при x
= 1,
a 2
x
при x < 1,
14.
Для x,
ln bx - 1/(bx+1) при x < 1.3,
где
b=1.3. y = bx + 1
при 1.3
x
1.7,
ln
bx
+1/(bx+1)
при x
> 1.7,
15.
Для x[-1,1],
ax 2 +bx 2/3
при x<0.1,
где
a=2.5,b=-0.9. z= a x 2
при
x=0.1,
b
x 2/3
при x>0.1.
16.
Ввести координаты точки (x,
y).
Напечатать, в каком квадранте или на
какой оси координат находится эта точка.
17.
Ввести радиусы R 1 ,
R 2
и высоту. Вычислить объем усеченного
конуса:
,
гдеS-
площадь оснований. Если R 1
= R 2 -
объем и площадь цилиндра, если R 1
= 0 или R 2
= 0 -
объем (hπr 2)
и площадь πr(
)
поверхности конуса.
18.
Ввести с клавиатуры цифру. Определить,
какой системе счисления она может
принадлежать.
19.
Ввести
число. Определить, делится ли оно нацело
на два, три или пять.
20.
Ввести a,
b,
h.
Если h=0,
вычислить площадь прямоугольника; при
a
= b,
найти площадь квадрата; в противном
случае подсчитать площадь трапеции.
Задание
2
(программа
2_2)
1. Определить
остаток от деления на восемь введенного
числа х и написать восьмиричную цифру
прописью.
2.
По цифре, введенной с клавиатуры,
напечатать
название этой цифры.
3. С клавиатуры
ввести число k (1..30). Определить, какому
дню недели оно соответствует, если
первое число -
понедельник.
4.
Ввести число и номер месяца. Напечатать
дату прописью.
5. Идет k секунда
суток. Вычислить, сколько прошло часов
и полных минут к этому моменту, при этом
согласовать со значением слова (час,
часа, часов, минута, минуты, минут).
6.
В зависимости от номера (N)
типа фигуры, организовать ввод необходимых
данных и вычислить при N
= 1 -
площадь круга, N
= 2 -
объем шара (4/3πR 3),
N=3
-объем
цилиндра, N
= 4 -
площадь поверхности сферы 4πr 2 .
7.
Ввести число N
(0 ≤ N
≤ 15). Определить и напечатать
шестнадцатеричную цифру, ему
соответствующую.
8.
Для целого
числа К (1…99) напечатать фразу « Мне К
лет », при определенных значениях К
слово «лет» заменить словом «год» или
«года».
9. В зависимости
от номера (N)
типа фигуры, организовать ввод необходимых
данных и вычислить при N
= 1 -
площадь прямоугольника, при N=2
-
площадь
параллелограмма, при N
= 3 -
площадь трапеции 1/2(a+b)h.
В последнем случае напечатать: является
ли трапеция параллелограммом или ромбом.
10. Перевести
число 0 ≤ х ≤ 31 в шестнадцатеричную
систему счисления.
11. Напечатать
прописью остаток от деления любого
целого числа на пять.
12. По введенному
номеру напечатать нужный цвет в радуге.
13. Спроектируйте
программу, которая показывает, что, если
сумма цифр двузначного числа кратна
трем, то и само число делится на три без
остатка.
14. Разработайте
программу, которая доказывает, что
квадрат двузначного числа k5
(последняя цифра -
5), равен k
* (
k
+ 1) * 100 + 25
(т.е.
может быть получен умножением старшей
цифры k
на следующую по порядку и припиской
«25»). Например, 35 * 11 = 3*4*100 + 25.
Для задания 2
номер варианта определяется остатком
от деления индивидуалного варианта на
число 12.
Лабораторная
работа 3
| § 3.3. Программирование линейных алгоритмов
Урок 26
§ 3.3. Программирование линейных алгоритмов
Ключевые слова:
Вещественный тип данных
целочисленный тип данных
символьный тип данных
строковый тип данных
логический тип данных
Программы, реализующие линейные алгоритмы, являются простейшими. Все имеющиеся в них операторы выполняются последовательно, один за другим.
Программируя линейные алгоритмы, рассмотрим более подробно целочисленные, логические, символьные и строковые типы данных.
3.3.1. Числовые типы данных
Вы уже знакомы с основными числовыми типами данных integer
и real
. К ним применимы стандартные функции, часть из которых приведена в табл. 3.3.
Таблица 3.3
Стандартные функции Паскаля
Исследуем работу функций round
, int
и frас
, применив их к некоторому вещественному х
. Соответствующая программа будет иметь вид:
Запустите программу несколько раз для каждого х ∈ {10,2; 10,8; -10,2; -10,8}. Что вы можете сказать о типе результата каждой из этих функций?
3.3.2. Целочисленный тип данных
Над целыми числами в языке Паскаль выполняются следующие операции: сложение (+), вычитание (-), умножение (*), получение целого частного (div), получение целого остатка деления (mod) и деление (/). Результаты первых пяти операций - целые числа. Результатом операции деления может быть вещественное число.
Рассмотрим пример использования операций div и mod, записав на языке Паскаль программу нахождения суммы цифр вводимого с клавиатуры натурального трёхзначного числа.
Используем тот факт, что положительное трёхзначное число можно представить в виде следующей суммы: х - а*100 + 6*10 + с, где а,Ь,с - цифры числа.
Чему равна сумма цифр числа 123? А числа -123? Совпадают ли ваши результаты с результатами работы программы? Как можно объяснить и исправить ошибку в программе?
3.3.3. Символьный и строковый типы данных
Значением символьной величины (тип char) в языке Паскаль является любой из символов, который можно получить на экране нажатием на клавиатуре одной из клавиш или комбинации клавиш, а также некоторых других символов, в том числе и невидимых. Множество таких символов состоит из 256 элементов, каждому из которых согласно используемой кодовой таблице поставлен в соответствие код - число 0 до 255.
Символы, соответствующие первым 32 кодам, являются управляющими, а остальные - изображаемыми. К изображаемым символам относится и пробел, имеющий код 32.
Знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. Буквам национального алфавита соответствуют коды с номерами 128 и далее.
В тексте программы константу символьного типа можно задать, заключив любой изображаемый символ в апострофы: "5", "В", "*".
Если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов.
Чтобы найти код символа, используют функцию ord, где в качестве параметра задают символ.
Чтобы по коду узнать символ, используют функцию chr, где в качестве параметра указывают код символа.
Значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы. В Паскале (как и в алгоритмическом языке) строки можно сцеплять.
Пример.
Запишем на языке Паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. Затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной.
3.3.4, Логический тип данных
Как известно, величины логического типа принимают всего два значения; в Паскале это false
и true
. Эти константы определены так, что false < true.
Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. Поэтому в Паскале логической переменной можно присваивать результат операции сравнения.
Пример. Напишем программу, определяющую истинность высказывания «Число п является чётным» для произвольного целого числа n.
Пусть ans
- логическая переменная, а n - целая переменная. Тогда в результате выполнения оператора присваивания
ans:=n mod 2 = 0
переменной ans
будет присвоено значение true
при любом чётном n и false
в противном случае.
Логическим переменным можно присваивать значения логических выражений, построенных с помощью известных вам логических функций и, или, не, которые в Паскале обозначаются соответственно and, or, not
.
Пример.
Напишем программу, определяющую истинность высказывания «Треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел а, Ь, с.
САМОЕ ГЛАВНОЕ
В языке Паскаль используются вещественный, целочисленный, символьный, строковый, логический и другие типы данных. Для них определены соответствующие операции и функции.
Вопросы и задания
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Используйте эти материалы при подготовке ответов на вопросы и выполнении заданий.
2. Для заданного х вычислите у по формуле у = х 3 + 2,5x 2 - х + 1.
При этом:
а) операцию возведения в степень использовать запрещено;
б) в одном операторе присваивания можно использовать не более одной арифметической операции (сложение, умножение, вычитание);
в) в программе может быть использовано не более пяти операторов присваивания.
Подсказка
: преобразуйте выражение к следующему виду: у = ((х + 2,5)х - 1)х + 1.
3. По заданным координатам точек А и. В вычислите длину отрезка АВ.
Подсказка
. Расстояние d между точками А (х а, у а) и В (х b , у b) выражается формулой .
4. Известны длины сторон треугольника а, b, с. Напишите программу, вычисляющую площадь этого треугольника.
5. Известны координаты вершин А, В, С треугольника. Напишите программу, вычисляющую площадь этого треугольника.
6. Если сумма налога исчисляется в рублях и копейках, то налоговая служба округляет её до ближайшего рубля (до 50 копеек - с недостатком, свыше 50 копеек (включая 50) - с избытком). Используйте компьютер, чтобы ввести точную сумму налога и вывести, сколько следует уплатить.
7. Исследуйте работу функции random, запустив многократно на выполнение программу:
Как можно получить случайное число из интервала (0, х)?
Как можно получить случайное число из интервала (0, x]?
Как можно получить случайное число из интервала (n, х + n)?
8. Одна компания выпустила лотерейные билеты трёх разрядов: для молодежи, для взрослых и для пенсионеров. Номера билетов каждого разряда лежат в пределах:
для молодёжи - от 1 до 100;
для взрослых - от 101 до 200;
для пенсионеров - от 201 до 250.
С помощью компьютера выберите случайным образом лотерейный билет в каждом разряде.
9. Запишите на языке Паскаль программу, которая для произвольного натурального двузначного числа определяет:
а) сумму и произведение его цифр;
б) число, образованное перестановкой цифр исходного числа.
10. Запишите на языке Паскаль программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим возможным количеством банкнот по 500 (k500), 100 (klOO), 50 (k50) и 10 (klO) рублей.
11. Идёт k
-я секунда суток. Разработайте программу, которая по введённой k
-й секунде суток определяет, сколько целых часов h
и целых минут m
прошло с начала суток. Например, если k
= 13 257 = 3 3600 + 40 60 + 57, то h
= 3 и m
= 40.
Выведите на экран фразу:
It is ... hours ... minutes
.
Вместо многоточий программа должна выводить значения hum, отделяя их от слов ровно одним пробелом.
12. Запишите на языке Паскаль программу, которая вычисляет сумму кодов букв в слове «БАЙТ».
13. Запишите на языке Паскаль программу, которая формирует и выводит на экран строку символов, коды которых равны 66, 69, 71, 73, 78.
14. Разработайте программу, которая запрашивает три строковые величины - взаимосвязанные прилагательное, существительное и глагол, а затем выводит все варианты фраз с использованием введённых слов.
15. Даны значения целочисленных переменных: а = 10, b = 20. Чему будет равно значение логической переменной rez
после выполнения операции присваивания?
а)rez:=(а=10) or (b>10)
б)rez: = (a>5) and (b>5) and (a<20) and (b<30)
в)rez: = (not(a<15)) or (b>20)
16. Составьте программу, вводящую true
, если высказывание является истинным, и false
в противном случае:
а) сумма цифр трёхзначного числа х
является чётным числом;
б) треугольник со сторонами а, b, с
является разносторонним.
Ключевые слова:
- вещественный тип данных
- целочисленный тип данных
- символьный тип данных
- строковый тип данных
- логический тип данных
Программы, реализующие линейные алгоритмы, являются простейшими. Все имеющиеся в них операторы выполняются последовательно, один за другим.
Программируя линейные алгоритмы, рассмотрим более подробно целочисленные, логические, символьные и строковые типы данных.
4.4.1. Числовые типы данных
Вы уже знакомы с основными числовыми типами данных integer и real. К ним применимы стандартные функции, часть из которых приведена в табл. 4.2.
Таблица 4.2
Стандартные функции Паскаля
Исследуем работу функций round, int и frac, применив их к некоторому вещественному х. Соответствующая программа будет иметь вид:
Запустите программу несколько раз для х={10,2; 10,8; -10,2; -10,8}. Что вы можете сказать о типе результата каждой из этих функций?
4.4.2. Целочисленный тип данных
Над целыми числами в языке Паскаль выполняются следующие операции: сложение (+), вычитание (-), умножение (*), получение целого частного (div), получение целого остатка деления (mod) и деление (/). Результаты первых пяти операций - целые числа. Результатом операции деления может быть вещественное число.
Рассмотрим пример использования операций div и mod, записав на языке Паскаль программу нахождения суммы цифр вводимого с клавиатуры целого трёхзначного числа.
Используем тот факт, что трёхзначное число можно представить в виде следующей суммы: х = а 100 + Ь 10 + с, где а, Ь, с - цифры числа.
4.4.3. Символьный и строковый типы данных
Значением символьной величины (тип char) в языке Паскаль является любой из символов, который можно получить на экране нажатием одной из клавиш или комбинации клавиш, а также некоторых других символов, в том числе и невидимых. Множество таких символов состоит из 256 элементов, каждому из которых в соответствии с используемой кодовой таблицей поставлен в соответствие код - число 0 до 255.
Символы, соответствующие первым 32 кодам, являются управляющими, а остальные - изображаемыми. К изображаемым символам относится и пробел, имеющий код 32.
Знакам препинания, знакам арифметических операций, цифрам, прописным и строчным латинским буквам соответствуют коды от 33 до 127. Буквам национального алфавита соответствуют коды с номерами 128 и далее.
В тексте программы константу символьного типа можно задать, заключив любой изображаемый символ в апострофы: "5", "В", "*".
Если значение символьной переменной считывается с клавиатуры, то его следует набирать без апострофов.
Чтобы найти код символа, используют функцию ord, где в качестве параметра задают символ.
Чтобы по коду узнать символ, используют функцию chr, где в качестве параметра указывают код символа.
Значением строковой величины (тип string) является произвольная последовательность символов, заключенная в апострофы. В Паскале (как и в алгоритмическом языке) строки можно сцеплять.
Пример
. Запишем на языке Паскаль программу, в которой для введённой с клавиатуры буквы на экран выводится её код. Затем на экран выводится строка, представляющая собой последовательность из трёх букв используемой кодовой таблицы: буквы, предшествующей исходной; исходной буквы; буквы, следующей за исходной.
4.4.4. Логический тип данных
Как известно, величины логического типа принимают всего два значения; в Паскале это false и true. Эти константы определены так,что false < true.
Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. Поэтому в Паскале логической переменной можно присваивать результат операции сравнения.
Пример
. Напишем программу, определяющую истинность высказывания «Число п является чётным» для произвольного целого числа п.
Пусть ans - логическая переменная, а n - целая переменная. Тогда в результате выполнения оператора присваивания
переменной ans будет присвоено значение true при любом чётном n и false в противном случае.
Логическим переменным можно присваивать значения логических выражений, построенных с помощью известных вам логических функций и, или, не, которые в Паскале обозначаются соответственно and, or, not.
Пример
. Напишем программу, определяющую истинность высказывания «Треугольник с длинами сторон а, b, с является равнобедренным» для произвольных целых чисел а, Ь, с.
Самое главное
В языке Паскаль используются вещественный, целочисленный, символьный, строковый, логический и другие типы данных. Для них определены соответствующие операции и функции.
Вопросы и задания