Pascal ABC

 

ГЛАВНАЯ
УСТАНОВКА
ОКНО ПРОГРАММЫ
ЛИНЕЙНЫЕ АЛГОРИТМЫ
ЧЕРТЁЖНИК
GraphABC
    РОБОТ
АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ
АЛГОРИТМЫ С ПОВТОРЕНИЯМИ
ПРОЦЕДУРЫ И ФУНКЦИИ
ТЕСТЫ
ТВОРЧЕСКИЕ РАБОТЫ
ОЛИМПИАДНЫЕ ЗАДАНИЯ
 
 

 

 

 

 

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

Первая программа Простейшие программы Арифметические выражения Вычисление по формулам Целочисленная арифметикаЦелочисленные типы данных. Системы счисления   Самостоятельная работа Величины логического типа Вычисление логических выражений Задачи повышенной сложности

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

Целочисленная арифметика

Контроль знаний Тест: Вычисление по формулам

Вопросы для повторения:

1. Перечислите этапы решения задачи.

2. Каковы основные этапы алгоритма решения задачи?

3. Какой оператор предназначен для ввода данных  в Паскале ABC?

4. Какой оператор предназначен для вывода данных  в Паскале ABC?

5. Для чего применяются одинарные кавычки при использовании оператора вывода?

6. Зачем применяют двоеточие вместе с оператором вывода?

7. Чем отличается Write() от Writeln()?

8. Чем отличается Read() от Readln()?

9. Когда в алгоритме программы ставится ; (точка с запятой)?

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

Переменные целого типа описываются посредством идентификатора Integer. Они могут принимать значения в диапазоне от -32768 до 32767. К данным целого типа можно применить операции "+"-сложение, "-"-вычитание,  "*"-умножение и некоторые другие.

Так как в результате деления одного целого числа на другое не всегда получается целое число, то имеются операции:

div - целая часть от деления;

mod - остаток от деления.

  Примеры

   19 div 4=4

 12 div 4=3

-21 div 4=-5

 -7 div (-4)=1

 45 div 10=4

 19 mod 4=3

 12 mod 4=0

-21 mod 4=-1

 -7 mod(-4)=-3

 45 mod 10=5

Примечание. Переменной целого типа присваивать значение, получаемое в результате выполнения обычной операции деления "/", нельзя, так как при делении одного числа на другое целое число результат не всегда является целым числом. При использовании операторов div и mod переменные описываются как переменные целого типа, т.е. ,например, integer или longint.

Решение задач

  Пример 1. Заданы два целых числа k и d. Используя только арифметические операции, найдите целую и дробную части от деления k на d

Этапы выполнения задания.

I. Определение исходных данных: переменные k,d.

II. Определение результатов: переменные cel, drobn.

III. Алгоритм решения задачи.

1. Ввод исходных данных

2. Вычисление значений cel=k div d, a=k/d, drobn=a-cel.

3. Вывод результата.

IV. Описание переменных:

Переменные a,drobn имеют тип real, а переменные k,d,cel имеют тип integer..

V.  Программа:

var a,drobn:real;

k,d,cel:integer;

Begin

writeln('введите два числа'); readln(k,d);

cel:=k div d;                        {целочисленное деление}

a:=k/d;                               {обычное деление}

drobn:=a-cel;

writeln('целая часть - ',cel);

writeln('дробная часть - ',drobn);

Еnd.

Можешь загрузить!       Пример 1

VI. Тестирование

1. Запустите программу и введите значения

k=2, d=3

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

cel=  1,  drobn= 0.666666666667

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

2. Заполните таблицу

 

k

d

cel

drobn

1

20

 6

 

 

2

51

 13

 

 

3

123

 26

 

 

  Пример 2. Дано трехзначное число. Чему равны его цифры?

Этапы выполнения задания.

I. Определение исходных данных: переменная а (трехзначное число).

II. Определение результатов: переменные с1,с2,с3 (цифры числа).

III. Алгоритм решения задачи.

1. Ввод исходных данных

2. Выделение цифр числа:

c1:=a div 100;

c2:=(a mod 100) div 10;        {или  c2:=(a div 10) mod 10;}

c3:=a mod 10;

3. Вывод результата.

IV. Описание переменных:

Все переменные, определенные для решения задачи, имеют тип integer.

V.  Программа:

var a,с1,с2,с3:integer;

Begin

writeln('введите трёхзначное число '); readln(a);

c1:=a div 100;

c2:=(a mod 100) div 10;        {или  c2:=(a div 10) mod 10;}

c3:=a mod 10;

writeln('первая цифра -',c1);

writeln('вторая цифра -',c2);

writeln('третья цифра -',c3);

Еnd.

 

Можешь загрузить!       Пример 2

VI. Тестирование

1. Запустите программу и введите значения

a=234

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

первая цифра - 2

вторая цифра - 3

третья цифра - 4

2. Введите другие числа. Убедитесь в правильности работы программы.

 

  Пример 3. Дано действительное число a. Используя только пять операций умножения получить a15.

Этапы выполнения задания.

I. Определение исходных данных: переменная а (действительное число).

II. Определение результатов: переменная  s (результат).

III. Алгоритм решения задачи.

1. Ввод исходных данных

2. Вычисление степени по формуле

b:=a*a;                                     {вторая степень}

с:=b*b;                                     {4 степень}

d:=c*a;                                     {5 степень}

s:=d*d*d;                                  {15  степень}

3. Вывод результата.

IV. Описание переменных:

Все переменные, определенные для решения задачи, имеют тип integer.

V.  Программа:

var a,b,c,d,s:integer;

Begin

writeln('введите число  a'); readln(a);

b:=a*a;                                     {вторая степень}

с:=b*b;                                     {4 степень}

d:=c*a;                                     {5 степень}

s:=d*d*d;                                  {15  степень}

writeln('результат = ',s);

Еnd.

 

Можешь загрузить!       Пример 3

VI. Тестирование

1. Запустите программу и введите значение

а=2

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

s= 32768

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

2. Заполните таблицу

 

a

s

1

3  

2

4  

3

5  

3. Сравните полученное значение второй и третьей строки. Получилось 415>515. Согласны ли вы с компьютером? Почему так произошло? Потому что указанный вами тип не вмещает значение 515. Измените в алгоритме программы тип integer на real. Запустите программу на выполнение. Получим 515=s=30517578125.

  Пример 4. Дано шестизначное число а. Найти сумму цифр числа.

Этапы выполнения задания.

I. Определение исходных данных: переменная а (шестизначное число).

II. Определение результатов: переменные с1,с2,с3,c4,c5,c6 (цифры числа),sum (сумма цифр).

III. Алгоритм решения задачи.

1. Ввод исходных данных

2. Выделение цифр числа:

c1:=a div 100000;

c2:=(a div 10000) mod 10;

c3:=(a div 1000) mod 10;

c4:=(a div 100) mod 10;

c5:=(a div 10) mod 10;

c6:=a mod 10;

3. Нахождение суммы цифр числа:

sum:=c1+c2+c3+c4+c5+c6;

4. Вывод результата.

IV. Описание переменных:

Все переменные, определенные для решения задачи, имеют тип integer.

V.  Программа:

var a,с1,с2,с3,c4,c5,c6,sum:integer;

Begin

writeln('введите шестизначное число '); readln(a);

c1:=a div 100000;

c2:=(a div 10000) mod 10;

c3:=(a div 1000) mod 10;

c4:=(a div 100) mod 10;

c5:=(a div 10) mod 10;

c6:=a mod 10;

sum:=c1+c2+c3+c4+c5+c6;

writeln('Сумма цифр числа = ',sum);

Еnd.

 

Можешь загрузить!       Пример 4

VI. Тестирование

1. Запустите программу и введите значения

a=145879

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

Сумма цифр числа = 34

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

2. Заполните таблицу

 

a

s

1

333333  

2

456789  

3

654321  

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

Тест: Операторы целочисленной арифметики div и mod

Тест: Целочисленная арифметика

Тест: Линейные алгоритмы. Целочисленная арифметика

Задачи для самостоятельного решения

  1. Задано двухзначное число. Чему равна последняя цифра числа?

  2. Задано двухзначное число. Чему равна первая цифра числа?

  3. В двухзначное число вписать ноль в середину и получить трехзначное число.

  4. Найдите сумму цифр заданного трёхзначного  числа.

  5. Найдите цифры заданного четырёхзначного  числа.

  6. Задано  пятизначное число. Найдите цифры и сумму цифр пятизначного  числа.

  7. С начала суток прошло k минут. Определите сколько сейчас часов и минут.

  8. Идёт k-я секунда суток. Определить который сейчас час (в часах, минутах и секундах). Например, если k=13257=3*3600+40*60+57, то часов - 3, минут - 40, секунд - 57.

  9. Робинзон Крузо провёл на острове f дней. Сколько полных недель он пробыл на острове?

  10. Поезд перевозит s тонн груза. Сколько автомобилей грузоподъемностью  b тонн (b<<s) он способен заменить?

  11. Дано действительное число a. Не пользуясь никакими другими операциями кроме умножения, получить:

    a) a13 за пять операций;

    b) a21 за шесть операций;

    c) a3 и a10 за четыре операции;

    d) a4  и  a12  и  a28  за шесть операций.

 

СЕРВИС 

Copyright © 2008 СОШ №2 им. Н.П. Массонова г.Свислочь © Синица А.А.