Применение компьютерных технологий в различных сферах современного общества станет значительно эффективнее, если пользователи овладеют системным подходом в решении прикладных задач, будут иметь представление о методах разработки алгоритмов и составления программ, а значит - о компьютеризации различных видов деятельности.
Процессор электронно-вычислительной машины, это чудо техники, умеет, тем не менее, выполнять лишь простейшие команды. Каким же образом компьютер решает сложнейшие задачи обработки информации? Для решения этих задач программист должен составить подробное описание последовательности действий, которые необходимо выполнить центральному процессору компьютера.
8-3-3.ppt
Программирование линейных алгоритмов
ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ
АЛГОРИТМОВ
НАЧАЛА ПРОГРАММИРОВАНИЯ
Программирование линейных алгоритмов
Ключевые слова
•вещественный тип данных
•целочисленный тип данных
•символьный тип данных
•строковый тип данных
•логический тип данных
Программирование линейных алгоритмов
Числовые типы данных
Стандартные функции языка Паскаль:
Функция
Назначение
Тип аргумента
Тип
abs (x)
sqr (x)
sqrt (x)
Модуль x
Квадрат x
Квадратный
корень из x
round (x) Округление х до
ближайшего
целого
Целая часть x
Дробная часть x
Случайное число
от 0 до 1
Случайное число
int (x)
frac (x)
random
random
integer,
real
integer,
real
integer,
real
real
real
real
-
integer
результата
Такой же, как у
аргумента
Такой же, как у
аргумента
real
integer
integer
real
real
integer
Программирование линейных алгоритмов
Исследование функций round
round,
intint и frac
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}.
Какой будет тип результата каждой из этих функций?
?
Программирование линейных алгоритмов
Целочисленный тип данных
Операции над целыми числами в языке Паскаль:
Операция
Обозначение
Сложение
Вычитание
Умножение
Получение целого
частного
Получение целого остатка
деления
Деление
+
-
*
div
mod
/
Тип результата
integer
integer
integer
integer
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..
необходимо указать для них символьный тип данных char
Функция ordord преобразовывает букву в её числовой код.
Функция chrchr преобразовывает числовой код символа в
сам символ.
ordord
87
37
52
83
chchrr
W
%
4
S
W
%
4
S
Значением строковой величины (тип string
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
true;;
false
false < true
true.
false
получаются
значения
Логические
результате
выполнения операций сравнения числовых, символьных,
строковых и логических выражений.
в
В Паскале логической переменной можно присваивать
результат операции сравнения.
Программирование линейных алгоритмов
Логический тип данных
Пусть ansans - логическая переменная,
n целая переменная.
В результате выполнения оператора присваивания
переменной ans будет присвоено значение true при
ans:=n mod 2=0
любом чётном n и false в противном случае.
program n_6;
var n: integer; ans: boolean;
begin
writeln ('Определение истинности высказывания о
чётности числа');
write ('Введите исходное число>>');
readln (n);
ans:=n mod 2=0;
writeln ('Число ', n,' является четным - ', ans)
end.
Программирование линейных алгоритмов
Логический тип данных
Логическим переменным можно присваивать значения
логических выражений, построенных с помощью логических
функций и (andand)), или (oror), не (notnot).
Логическая операция
Название операции
в Паскале
and
or
not
конъюнкция
(логическое умножение)
дизъюнкция
(логическое сложение)
отрицание (инверсия)
Программирование линейных алгоритмов
Логический тип данных
program n_7;
var a, b, c: integer; ans: boolean;
begin
writeln ('Определение истинности высказывания
о равнобедренном треугольнике');
write ('Введите значения a, b, c>>');
readln (a, b, c);
ans:=(a=b) or (a=c) or (b=c);
writeln ('Треугольник с длинами сторон ', a, ',', b,
',', c, ' является равнобедренным - ', ans)
end.
Программирование линейных алгоритмов
Самое главное
Типы данных в языке Паскаль:
•вещественный
•целочисленный
•символьный
•строковый
•логический и другие.
Для них определены соответствующие операции и
функции.
Программирование линейных алгоритмов
на
программу,
величины
Вопросы и задания
Исследуйте работу функции random, запустив многократно на
Идёт kя секунда суток. Разработайте программу,
Разработайте программу, которая запрашивает три
Запишите
программу,
Для заданного x вычислите у по формуле
Известны координаты вершин A, B, C треугольника.
Если сумма налога исчисляется в рублях и копейках,
Одна компания выпустила лотерейные билеты трёх
true,
По заданным координатам точек А и В вычислите
Составьте
если
выполнение программу:
реализующую алгоритм работы кассира, выдающего
взаимосвязанные
строковые
которая по введённой kй секунде суток определяет,
Напишите программу, вычисляющую площадь этого
у = х3 + 2,5х2 – х +1.
Известны длины сторон треугольника a, b, c.
Запишите на языке Паскаль программу, которая для
то налоговая служба округляет её до ближайшего
program n_8;
разрядов: для молодежи, для взрослых и для
высказывание является истинным, и false в противном
длину отрезка АВ.
прилагательное, существительное и глагол, а затем
покупателю сдачу (s) наименьшим количеством банкнот
Даны значения целочисленных переменных:
сколько целых часов h и целых минут m прошло с
треугольника.
Напишите программу, вычисляющую площадь этого
произвольного двузначного числа определяет:
При этом:
var x, n: integer;
рубля (до 50 копеек с недостатком, свыше 50 копеек
стариков.
печатает все варианты фраз с использованием
случае:
a = 10, b = 20.
по 500 (k500), 100 (k100), 50 (k50) и 10(k10) рублей.
начала суток.
треугольника.
Запишите на языке Паскаль программу, которая
а) сумму и произведение его цифр;
begin
(включая 50) с избытком).
а) операцию возведения в степень использовать
введённых слов.
Пример выходных данных
Пример входных данных
Запишите на языке Паскаль программу, которая
а) сумма цифр трёхзначного числа x является чётным
Номера билетов каждого разряда лежат в
Чему будет равно значение логической переменной
Например, если k =13257=3 х 3600 + 40 х 60 + 57,
выводит на экран строку символов, коды которых
б) число, образованное перестановкой цифр
writeln ('Исследование функции random');
Используйте компьютер, чтобы ввести точную сумму
запрещено;
вычисляет сумму кодов букв в слове БАЙТ.
Пример выходных данных
Пример входных данных
Пример входных данных
Пример выходных данных
числом;
rez после выполнения операции присваивания?
пределах:
равны 66, 69, 71, 73, 78.
исходного числа.
то h =3 и m = 40.
randomize (*для генерации различных случайных чисел
налога и вывести, сколько следует уплатить.
Пример входных данных
Пример выходных данных
б)
в одном операторе присваивания можно
| AB | = 10.0
xa = 2
б) треугольник со сторонами a, b, с является
при каждом запуске программы *);
для молодёжи от 1 до 100;
Выведите на экран фразу: It is … hours …
а) rez:=(a=10) or (b>10)
использовать
одной
арифметической
не
s = 16.0
xa = 2
s = 6.0
a = 3
разносторонним.
ya = 1
write ('Введите x>>');
Следует сдать:
845
minutes.
для взрослых от 101 до 200;
Пример выходных данных
Пример входных данных
операции (сложение, умножение, вычитание);
б) rez:=(a>5) and (b>5) and (a<20) and (b<30)
readln (x);
ya = 1
b = 4
xb = 10
Вместо многоточий программа должна выводить
банкнот по 500 руб. – 1 шт.
ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ
ЗЕЛЁНЫЕ
для стариков от 201 до 250.
в) в программе может быть использовано не более
write ('Введите n>>');
в) rez:=( (not(a<15)) or (b>20)
xb = 6
с = 5
yb = 7
значения h и m, отделяя их от слов ровно одним
ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ
ЛИСТЬЯ
пяти операторов присваивания.
readln (n);
банкнот по 100 руб. – 3 шт.
С помощью компьютера выберите случайным
yb = 5
ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ
пробелом.
РАСПУСКАЮТСЯ
writeln ('random(', x, ')=', random(x));
Подсказка: преобразуйте выражение к следующему
образом лотерейный билет в каждом разряде.
банкнот по 50 руб. – 0 шт.
ЛИСТЬЯ РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ
writeln ('random(', x, ')+', n, '=', random(x)+n)
xc = 10
Пример входных данных
Пример выходных данных
банкнот по 10 руб. – 4 шт.
виду: y =((x + 2,5)x –1)x +1.
РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ ЛИСТЬЯ
end.
yc = 1
It is 3 hours 40 minutes.
13 257
РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ
Как можно получить случайное число из промежутка (0; x)?
Как можно получить случайное число из промежутка (0; x]?
Как можно получить случайное число из промежутка (n; x +
более
языке
Паскаль
вводящую
–
n)?
Программирование линейных алгоритмов
Опорный конспект
Типы данных в языке Паскаль: вещественный,
целочисленный, символьный, строковый, логический.
Тип данных в Паскале
Числовые
Вещественные
Целые
abs (x),sqr (x),
sqrt (x), +, , *, /
Символьные
ord, char
Логические
and, or, not
Тип данных в ПаскалеЦелыеЛогическиеЧисловыеСимвольныеВещественные
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.