СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Программирование линейных алгоритмов

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Программирование линейных алгоритмов»

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

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

НАЧАЛА ПРОГРАММИРОВАНИЯ

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

Ключевые слова

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

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

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

Функция

Назначение

abs ( x )

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

Модуль x

sqr ( x )

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

Квадрат x

sqrt ( x )

i nteger, real

round ( x )

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

i nteger, real

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

int ( x )

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

i nteger, real

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

real

real

Целая часть x

frac ( x )

i nteger

real

random

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

i nteger

random ( x )

real

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

-

real

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

real

i nteger

i nteger

'); readln (x); writeln ( 'Округление: ', round(x)); writeln ( 'Целая часть: ', int(x)); writeln ( 'Дробная часть: ', frac(x)) end. Выполните программу несколько раз для x  {10,2; 10,8; –10,2; –10,8}. Какой будет тип результата каждой из этих функций? ? " width="640"

Исследование функций 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}.

Какой будет тип результата каждой из этих функций?

?

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

Целочисленный тип данных

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

Операция

Обозначение

Сложение

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

+

Вычитание

-

Умножение

i nteger

i nteger

*

Получение целого частного

div

i nteger

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

i nteger

mod

Деление

/

i nteger

r eal

'); readln (x); a:=x div 100; b:=x mod 100 div 10; c:=x mod 10; s:=a+b+c ; writeln ('s= ', s) end. " width="640"

Операции 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 преобразовывает числовой код символа в сам символ. S % 37 % 4 83 W 52 ord 87 ch r W S 4 Значением строковой величины (тип string ) является произвольная последовательность символов, заключенная в апострофы. var c:  string c:= chr(52)+chr(37) с 4%

Символьный и строковый типы данных

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

Функция ord преобразовывает букву в её числовой код.

Функция chr преобразовывает числовой код символа в сам символ.

S

%

37

%

4

83

W

52

ord

87

ch r

W

S

4

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

var c: string

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

с

4%

'); readln ( a ); kod := ord ( a ); b:=chr(kod–1)+a+chr(kod+1); writeln ( 'Код буквы ', a , '-', kod ); writeln ( 'Строка: ', b ) end. Вывод на экран кода буквы, введённой с клавиатуры Вывод на экран строки из трёх букв. Каких? " width="640"

Символьный и строковый типы данных

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 . Логические значения получаются в результате выполнения операций сравнения числовых, символьных, строковых и логических выражений. В Паскале логической переменной можно присваивать результат операции сравнения.

Логический тип данных

Величины логического типа принимают всего два значения:

false и true ;

false true .

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

В Паскале логической переменной можно присваивать результат операции сравнения.

'); readln (n); ans:=n mod 2=0; writeln ('Число ', n,' является четным - ', ans) end. " width="640"

Логический тип данных

Пусть 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.

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

Логический тип данных

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

Логическая операция

в Паскале

Название операции

and

конъюнкция

(логическое умножение)

or

дизъюнкция

(логическое сложение)

not

отрицание (инверсия)

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

Логический тип данных

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 .

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

Самое главное

Типы данных в языке Паскаль:

  • вещественный
  • целочисленный
  • символьный
  • строковый
  • логический и другие.

Для них определены соответствующие операции и функции.

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

Вопросы и задания

Исследуйте работу функции random , запустив многократно на выполнение программу:

program n_8;

var x, n: integer;

b egin

writeln ('Исследование функции random');

randomize (*для генерации различных случайных чисел

при каждом запуске программы *);

write ('Введите x');

readln (x);

write ('Введите n');

readln (n);

writeln ('random(', x, ')=', random(x));

writeln ('random(', x, ')+', n, '=', random(x)+n)

end.

Идёт k -я секунда суток. Разработайте программу, которая по введённой k -й секунде суток определяет, сколько целых часов h и целых минут m прошло с начала суток.

Например, если k =13257=3 х 3600 + 40 х 60 + 57,

то h =3 и m = 40.

Выведите на экран фразу : It is … hours … minutes .

Вместо многоточий программа должна выводить значения h и m , отделяя их от слов ровно одним пробелом.

Разработайте программу, которая запрашивает три строковые величины – взаимосвязанные прилагательное, существительное и глагол, а затем печатает все варианты фраз с использованием введённых слов.

Для заданного x вычислите у по формуле

Запишите на языке Паскаль программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ( s ) наименьшим количеством банкнот по 500 ( k 500), 100 ( k 100), 50 ( k 50) и 10( k 10) рублей.

у = х 3 + 2,5 х 2 – х +1.

При этом:

а) операцию возведения в степень использовать запрещено;

б) в одном операторе присваивания можно использовать не более одной арифметической операции (сложение, умножение, вычитание);

в) в программе может быть использовано не более пяти операторов присваивания.

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

виду: y =((x + 2,5 )x – 1 )x + 1.

Известны координаты вершин A, B, C треугольника.

Напишите программу, вычисляющую площадь этого треугольника.

По заданным координатам точек А и В вычислите длину отрезка АВ .

Составьте программу, вводящую true , если высказывание является истинным, и false в противном случае:

а) сумма цифр трёхзначного числа x является чётным числом;

б) треугольник со сторонами a, b, с является разносторонним.

Одна компания выпустила лотерейные билеты трёх разрядов: для молодежи, для взрослых и для стариков.

Номера билетов каждого разряда лежат в пределах:

для молодёжи - от 1 до 100;

для взрослых - от 101 до 200;

для стариков - от 201 до 250.

С помощью компьютера выберите случайным образом лотерейный билет в каждом разряде.

Если сумма налога исчисляется в рублях и копейках, то налоговая служба округляет её до ближайшего рубля (до 50 копеек - с недостатком, свыше 50 копеек (включая 50) - с избытком).

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

Известны длины сторон треугольника a, b, c.

Напишите программу, вычисляющую площадь этого треугольника.

Запишите на языке Паскаль программу, которая для произвольного двузначного числа определяет:

а) сумму и произведение его цифр;

б) число, образованное перестановкой цифр исходного числа.

Даны значения целочисленных переменных:

a = 10, b = 20.

Чему будет равно значение логической переменной rez после выполнения операции присваивания?

а) rez:=(a=10) or (b10)

б) rez:=(a5) and (b5) and (a

в) rez:=( (not(a20)

Запишите на языке Паскаль программу, которая выводит на экран строку символов, коды которых равны 66, 69, 71, 73, 78.

Запишите на языке Паскаль программу, которая

вычисляет сумму кодов букв в слове БАЙТ.

Пример входных данных

Пример выходных данных

xa = 2

ya = 1

xb = 10

yb = 7

| AB | = 10.0

Пример входных данных

Пример входных данных

xa = 2

ya = 1

xb = 6

yb = 5

xc = 10

yc = 1

Пример выходных данных

Пример выходных данных

a = 3

b = 4

с = 5

s = 6.0

s = 16.0

Пример входных данных

845

Пример выходных данных

Следует сдать:

банкнот по 500 руб. – 1 шт.

банкнот по 100 руб. – 3 шт.

банкнот по 50 руб. – 0 шт.

банкнот по 10 руб. – 4 шт.

Пример входных данных

ЗЕЛЁНЫЕ

ЛИСТЬЯ

РАСПУСКАЮТСЯ

Пример выходных данных

ЗЕЛЁНЫЕ ЛИСТЬЯ РАСПУСКАЮТСЯ

ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ ЛИСТЬЯ

ЛИСТЬЯ ЗЕЛЁНЫЕ РАСПУСКАЮТСЯ

ЛИСТЬЯ РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ

РАСПУСКАЮТСЯ ЗЕЛЁНЫЕ ЛИСТЬЯ

РАСПУСКАЮТСЯ ЛИСТЬЯ ЗЕЛЁНЫЕ

Пример входных данных

13 257

Пример выходных данных

It is 3 hours 40 minutes.

Как можно получить случайное число из промежутка (0; x)?

Как можно получить случайное число из промежутка (n; x + n)?

Как можно получить случайное число из промежутка (0; x]?

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

Опорный конспект

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

Тип данных в Паскале

abs ( x ) , sqr ( x ) ,

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

Вещественные

Числовые

Целые

ord, char

Символьные

and, or, not

Логические


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!