ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ

Page 1

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ НАЧАЛА ПРОГРАММИРОВАНИЯ


Ключевые слова •вещественный тип данных •целочисленный тип данных •символьный тип данных •строковый тип данных •логический тип данных


Числовые типы данных

Стандартные функции языка Паскаль: Функция

Назначение

Тип аргумента

Тип результата

abs (x)

Модуль

x

integer, real

Такой же, как у аргумента

sqr (x)

Квадрат x

integer, real

Такой же, как у аргумента

sqrt (x)

Квадратный корень из x

integer, real

real

round (x)

Округление х до ближайшего целого

real

frac (x)

Целая часть x

real

int (x)

Дробная часть x

real

random

Случайное число от 0 до 1

-

real

random (x)

Случайное число от 0 до x

integer

integer


Исследование функций round, round int и frac program n_3; var x: real; begin writeln ('Исследование функций round, int, frac'); write ('Введите x>>'); readln (x); writeln ('Округление - ', round(x)); writeln ('Целая часть - ', int(x)); writeln ('Дробная часть - ', frac(x)) end. Выполните программу несколько раз для x∈ {10,2; 10,8; –10,2; –10,8}. Какой будет тип результата каждой из этих функций?

?


Целочисленный тип данных Операции над целыми числами в языке Паскаль: Операция

Обозначение

Тип результата

Сложение

+

integer

Вычитание

-

integer

Умножение

*

integer

div

integer

mod

integer

Получение целого частного Получение целого остатка деления Деление

/

real


Операции div и mod Трёхзначное число можно представить в виде следующей суммы: x = a·100 + b·10 + c, где а, b, с - цифры числа. Программа нахождения суммы цифр вводимого с клавиатуры целого трёхзначного числа. program n_4; var x, a, b, c, s: integer; begin writeln ('Нахождение суммы цифр трёхзначного числа'); write ('Введите исходное число>>'); readln (x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c; writeln ('s= ', s) end.


Символьный и строковый типы данных Символы – это все буквы и значки, которые есть на клавиатуре. Для ввода в программу символьных переменных необходимо указать для них символьный тип данных char . Функция ord преобразовывает букву в её числовой код. Функция chr преобразовывает числовой код символа в сам символ.

W % S 4

ord

87 37 52 83

ch r

W % S 4

Значением строковой величины (тип string ) является произвольная последовательность символов, заключенная в апострофы.

var c: string c:= chr(52)+chr(37)

4%

с


Символьный и строковый типы данных program n_5; var a: char; kod: integer; b: string; begin writeln ('Код и строка'); write ('Введите исходную букву>>'); readln (a); kod:=ord(a); b:=chr(kod–1)+a+chr(kod+1); writeln ('Код буквы ', a, '-', kod); writeln ('Строка: ', b) end.

Вывод на экран кода буквы, введённой с клавиатуры

Вывод на экран строки из трёх букв. Каких?


Логический тип данных Величины логического типа принимают всего два значения: false и true ;

false < true . Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. В Паскале логической переменной можно присваивать результат операции сравнения.


Логический тип данных Пусть ans - логическая переменная, n - целая переменная. В результате выполнения оператора присваивания

ans:=n mod 2=0 переменной ans будет присвоено значение любом чётном n и false в противном случае.

true

при

program n_6; var n: integer; ans: boolean; begin writeln ('Определение истинности высказывания о чётности числа');

write ('Введите исходное число>>'); readln (n); ans:=n mod 2=0; writeln ('Число ', n,' является четным - ', ans) end.


Логический тип данных Логическим переменным можно присваивать значения логических выражений, построенных с помощью логических функций и (and ) , или (or ), не (not ). Логическая операция в Паскале

and or not

Название операции конъюнкция (логическое умножение) дизъюнкция (логическое сложение) отрицание (инверсия)


Логический тип данных program n_7; var a, b, c: integer; ans: boolean; begin writeln ('Определение истинности высказывания о равнобедренном треугольнике'); ('Введите значения a, b, c>>');

write readln (a, b, c); ans:=(a=b) or (a=c) or (b=c); writeln ('Треугольник с длинами сторон ', a, ',', b, ',', c, ' является равнобедренным - ', ans)

end.


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


Вопросы и задания Разработайте Запишите Исследуйте на работу языке программу, функции Паскаль random которая ,B,запустив запрашивает реализующую многократно три на Для Идёт заданного k-я координаты секунда x вычислите суток. Разработайте упрограмму, по формуле программу, Известны вершин A, C треугольника. Если сумма налога исчисляется в рублях и вычислите копейках, выполнение программу: Одна компания выпустила лотерейные билеты Составьте По заданным программу, координатам вводящую точек А и В true , трёх если строковые алгоритм работы величины кассира, выдающего – покупателю взаимосвязанные сдачу 3 2 которая по введённой k -й секунде суток определяет, Напишите программу, вычисляющую площадь этого уналоговая = х + 2,5 хмолодежи, – х +1. Известны длины сторон треугольника a, b, стариков. c.а затем Запишите на языке Паскаль программу, которая для то служба округляет её до ближайшего program n_8; разрядов: для для взрослых и для прилагательное, существительное и глагол, высказывание отрезка АВ является . истинным, и false в(kпротивном (длину s)Даны наименьшим количеством банкнот по 500 500), этого 100с значения целочисленных переменных: треугольника. сколько целых часов h и целых минут m прошло Напишите программу, вычисляющую площадь произвольного двузначного числа определяет: При этом: var x, n: 50 integer; рубля (до копеек - с недостатком, свыше 50 копеек печатает все варианты фраз с использованием случае: Номера разряда лежат в пределах: (начала k100), abegin =сумму 10, 50 b(билетов k=и50) 20. и языке 10(каждого k10)Паскаль рублей. суток. треугольника. Запишите на программу, которая а) произведение его цифр; (включая 50) с избытком). а) операцию возведения в степень использовать введённых слов. Пример входных данных Пример выходных данных Запишите на языке Паскаль программу, которая а) сумма цифр трёхзначного числа x является чётным Чему будет равно значение логической переменной rez выводит на экран строку символов, коды которых б) число, образованное перестановкой цифр для молодёжи от 1 до 100; Например, если k =13257=3 х 3600 + 40 х 60 + 57, writeln ('Исследование функции random'); Используйте компьютер, чтобы ввести точную сумму запрещено; вычисляет сумму кодов букв ввыходных слове БАЙТ. Пример входных данных Пример данных числом; после выполнения операции присваивания? равны 66, 69, 71, 73, 78. исходного числа. randomize (*для генерации различных случайных чисел налога и вывести, сколько следует уплатить. то h =3 и m = 40. Пример входных данных Пример выходных данных для взрослых от 101 до 200; б) в одном со операторе присваивания можно xaб) = 2треугольник | AB *); | = 10.0 сторонами a, b, с является при каждом запуске программы а) rez:=(a=10) or (b>10) Выведите на экран фразу: It is … hours … minutes . использовать не более одной арифметической для стариков от 201 до 250. ya 1 xa = 2 16.0 a = 3 s = 6.0 разносторонним. write ('Введите x>>'); 845 Следует сдать: Пример входных данных Пример выходных данных операции (сложение, умножение, вычитание); б) rez:=(a>5) and (b>5) and (a<20) and (b<30) xb=С =410 ya 1 помощью readln (x); компьютера выберите случайным b Вместо многоточий программа должна выводить ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ банкнот по 500 руб. –более 1 шт. ЗЕЛЁНЫЕ в) в программе может быть использовано не write ('Введите n>>'); yb 7 лотерейный образом билет в каждом разряде. xb 6 сЛИСТЬЯ ==5rez:=( в) (not(a<15)) or (b>20) ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ значения h и m , отделяя их от слов ровно банкнот по 100 руб. –одним 3 шт. пяти операторов присваивания. readln (n); yb = 5 ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ РАСПУСКАЮТСЯ пробелом. банкнот по 50 руб. ЗЕЛЁНЫЕ – 0 шт. writeln ('random(', x, ')=', random(x)); ЛИСТЬЯ РАСПУСКАЮТСЯ Подсказка: преобразуйте выражение к следующему xc = 10 Пример входных x, данных Пример выходных writeln ('random(', ')+', n, РАСПУСКАЮТСЯ '=',банкнот random(x)+n) ЗЕЛЁНЫЕ ЛИСТЬЯ по 10 руб. –данных 4 шт. yc end. =1 виду: y =((x РАСПУСКАЮТСЯ + 2,5)x –1)x +ЛИСТЬЯ 1. ЗЕЛЁНЫЕ 13 257 It is 3 hours 40 minutes. Как Как можно можно получить получить случайное случайное число число изиз промежутка промежутка (n;(0; x+ x)? x]? n)?


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

Символьные Символьные Логические Логические

Целые Целые

ord, char and, or, not

abs (x),sqr (x), sqrt (x), +, -, *, /


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.