161.99K
Категория: ПрограммированиеПрограммирование

Программирование линейных алгоритмов. Начала программирования

1.

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

2.

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

3.

Числовые типы данных
Стандартные функции языка Паскаль:
Функция
Назначение
Тип аргумента
Тип результата
abs (x)
Модуль x
integer, real
Такой же, как у
аргумента
sqr (x)
Квадрат x
integer, real
Такой же, как у
аргумента
sqrt (x)
Квадратный корень
из x
integer, real
real
round (x)
Округление х до
ближайшего целого
real
integer
int (x)
Целая часть x
real
integer
frac (x)
Дробная часть x
real
real
random
Случайное число
от 0 до 1
-
real
random (x)
Случайное число
от 0 до x
integer
integer

4.

Исследование функций 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}.
Какой будет тип результата каждой из этих функций?
?

5.

Целочисленный тип данных
Операции над целыми числами в языке Паскаль:
Операция
Обозначение
Тип результата
Сложение
+
integer
Вычитание
-
integer
Умножение
*
integer
Получение целого частного
div
integer
Получение целого остатка
деления
mod
integer
Деление
/
real

6.

Операции 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.

7.

Символьный и строковый типы данных
Символы – это все буквы и значки, которые есть на клавиатуре.
Для ввода в программу символьных переменных необходимо
указать для них символьный тип данных 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%
с

8.

Символьный и строковый типы данных
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.
Вывод на экран
кода буквы,
введённой с
клавиатуры
Вывод на экран
строки из трёх
букв.
Каких?

9.

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

10.

Логический тип данных
Пусть ans - логическая переменная,
n - целая переменная.
В результате выполнения оператора присваивания
ans:=n mod 2=0
переменной ans будет присвоено значение true при
любом чётном n и false в противном случае.
program n_6;
var n: integer; ans: boolean;
begin
writeln ('Определение истинности высказывания о чётности числа');
write ('Введите исходное число>>');
readln (n);
ans:=n mod 2=0;
writeln ('Число ', n,' является четным - ', ans)
end.

11.

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

12.

Логический тип данных
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.

13.

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

14.

Вопросы и задания
Исследуйте
Разработайте
работу
программу,
функции
random
которая
, запустив
многократно
три
на
Запишите
на
языке
Паскаль
программу,
реализующую
ИдётДля
k-я
заданного
секунда
суток.
x вычислите
Разработайте
уB,запрашивает
по
формуле
программу,
Известны
координаты
вершин
A,
C
треугольника.
Если
Одна
сумма
компания
налога
выпустила
исчисляется
в рублях
билеты
и, копейках,
выполнение
программу:
По Составьте
заданным
программу,
координатам
вводящую
точек
Апокупателю
иtrue
В
вычислите
еслитрёх
строковые
величины
–лотерейные
взаимосвязанные
алгоритм
работы
кассира,
выдающего
сдачу
3 -й
2
которая
по на
введённой
k
секунде
суток
определяет,
Напишите
программу,
вычисляющую
площадь
этого
у
=
х
+
2,5
х

х
+1.
Известны
длины
сторон
треугольника
a,
b,
c.
Запишите
языке
Паскаль
программу,
которая
для
то
налоговая
служба
округляет
её
до
ближайшего
рубля
program
n_8;
разрядов:
для
молодежи,
для
взрослых
и
для
стариков.
прилагательное,
существительное
и
глагол,
а
затем
является
длину
истинным,
отрезка
АВ
и. false
впрошло
(sвысказывание
) наименьшим
количеством
банкнот
по
500
(противном
k500),этого
100
Даны
значения
целочисленных
переменных:
треугольника.
сколько
целых
часов
h
и
целых
минут
m
с
Напишите
программу,
вычисляющую
площадь
произвольного
двузначного
числа
определяет:
При
этом:ссвыше
var(до
x, n:
50integer;
копеек
-варианты
скаждого
недостатком,
50вкопеек
печатает
все
фраз
использованием
случае:
Номера
билетов
разряда
лежат
пределах:
a
=
10,
b
=
20.
(
k
100),
50
(
k
50)
и
10(
k
10)
рублей.
начала
суток.
Запишите
на
языке
треугольника.
Паскаль
программу,
которая
а)
сумму
и
произведение
его
цифр;
begin
(включая
50)Паскаль
- с Пример
избытком).
а)
операцию
возведения
в
степень
использовать
введённых
слов.
Пример
входных
данных
выходных
данных
Запишите
на
языке
программу,
которая
а)
сумма
цифр
трёхзначного
числа
x
является
чётным
Чему
будет
равно
значение
логической
переменной
для
молодёжи
от
1
до
100;
выводит
на экран
строку
символов,
коды
б) число,
образованное
перестановкой
Например,
если
k запрещено;
=13257=3
хrandom');
3600
+ точную
40которых
х цифр
60 сумму
+ 57, rez
writeln
('Исследование
функции
Используйте
компьютер,
чтобы
ввести
вычисляет
сумму
кодов
букв
ввыходных
слове БАЙТ.
Пример
входных
данных
Пример
данных
числом;
после
выполнения
операции
присваивания?
равны
66,
69,
71,
73,
78.
исходного
числа.
randomize
(*для
генерации
различных
случайных
чисел
налога
и
вывести,
сколько
следует
уплатить.
то
h
=3
и
m
=
40.
для
взрослых
от
101
до
200;
Пример
входных
данных
Пример
выходных
данных
в одном операторе
можно
xa при
= 2 каждом
| присваивания
AB |*);= a,
10.0
б)б)треугольник
со
сторонами
b,
с
является
запуске
программы
а)стариков
rez:=(a=10)
or…(b>10)
на
экран
фразу:
It
is
hours

minutes
.
для
от
201
до
250.
использовать
не
более
одной
арифметической
операции
ya=Выведите
1
xa
=
2
s
=
16.0
a
3
6.0
разносторонним.
write ('Введите x>>');
845
Следует
сдать:
Пример
Вместо
входных
многоточий
данных
программа
Пример
должна
выходных
выводить
данных
(сложение,
умножение,
вычитание);
б)
rez:=(a>5)
and
(b>5)
and
(a<20)
and
(b<30)
С помощью
компьютера выберите случайным
xb=readln
10
(x);
ya
=41
b
ЗЕЛЁНЫЕ
ЛИСТЬЯ
РАСПУСКАЮТСЯ
банкнот
поровно
500
руб.
– 1 шт.
ЗЕЛЁНЫЕ
значения
h и n>>');
m,может
отделяя
их
от
слов
одним
в)
в
программе
быть
использовано
не
более
write
('Введите
образом
лотерейный
билет
в
каждом
разряде.
yb
7
xb
сЛИСТЬЯ
==56
в) rez:=( пробелом.
(not(a<15))
or (b>20)
ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ
ЛИСТЬЯ
банкнот
по
100
руб.
– 3 шт.
пяти операторов
присваивания.
readln
(n);
ЛИСТЬЯ
ЗЕЛЁНЫЕ
РАСПУСКАЮТСЯ
yb
=5
РАСПУСКАЮТСЯ
writeln
('random(',
x, ')=', random(x));
банкнот
по 50
руб.ЗЕЛЁНЫЕ
– 0 шт.
ЛИСТЬЯ
РАСПУСКАЮТСЯ
Подсказка:
преобразуйте
выражение
к
следующему
xcПример
=
10 ('random(',
входных данных
Пример
выходных
данных
writeln
x, ')+', n,РАСПУСКАЮТСЯ
'=',банкнот
random(x)+n)
ЗЕЛЁНЫЕ
по
10 руб. –ЛИСТЬЯ
4 шт.
ycend.
=1
виду: y =((xРАСПУСКАЮТСЯ
+ 2,5)x –1)x +
1.
ЛИСТЬЯ
ЗЕЛЁНЫЕ
13 257
It is 3 hours 40 minutes.
Как
Как
можно
можно
получить
получить
случайное
случайное
число
число
изиз
промежутка
промежутка
(n;(0;
x+
x)?
x]?
n)?

15.

Опорный конспект
Типы данных в языке Паскаль: вещественный,
целочисленный, символьный, строковый, логический.
Тип данных в Паскале
Вещественные
Числовые
Целые
Символьные
Логические
ord, char
and, or, not
abs (x),sqr (x),
sqrt (x), +, -, *, /
English     Русский Правила