Примеры решения простейших задач

Задание 1. Что будет выведено в результате выполнения программы, какой должен быть тип переменных a, c, b?

Begin a:=6; b:=18; c:= b/3*a - 5; b:=c+a; writeln(c); end. Ответим на первый вопрос. Смотрим на вывод. Какая переменная выводится? Переменная с.  Смотрим как она вычисляется: c:= b/3*a - 5; То есть она равна  18/3*6 - 5. 18/3 =6, 6*6=36, 36-5=31. Программа выведет 31.

Второй вопрос: переменной а присваивается целое число 6 и больше она не меняется, значит она целая, Переменная с вычисляется выражением, имеющим операцию деления, значит она вещественная, переменной b присваивается целое значение 18, но за тем она меняется, ей присваивается сумма вещественной переменной с и целой а. Исходя из первого правила определения типов, b должна быть вещественной. Итого: Var a:integer; c, b:real;

Задание 2. Найти объем аквариума в м3 со сторонами a, b, c. Стороны даны в метрах.

 С боку представлено окно кода, окно вывода и окно ввода данных. Обратите внимание, все переменные вещественные, так как нельзя гарантировать, что они могут быть только целые. В нашем случае введены размеры аквариума 30×50×40 см. Но нас просили в метрах!. Для получения результата нужно нажать Enter. Этим мы завершаем ввод. И программа должна выполнить вывод результатов своей работы (если написав программу вы это предусмотрели. Начинающие программисты зачастую забывают сделать вывод).

Разберем подробней код

vara,b,c,v: real; Объявляем (бронируем место в оперативной памяти) четыре переменных: a, b, c – для ввода данных, v – расчетов и получения результата.
begin  writeln (' введите через пробел размеры аквариума в метрах'); В блоке тела программы сначала выводим сообщение, что и как должен ввести пользователь.
readln (a,b,c); Затем вводим данные.
v:= a*b*c; Далее вычисляем объем.
writeln (v); end. Выводим результат, закрываем блок тела программы.

Задание 3. Найти расстояние между точками. Координаты точек заданы целочисленными числами.

Пусть координаты 1 точки: х1,у1, а координаты второй точки х2,у2. Тогда формула расстояния между двумя точками имеет вид: . Обратите внимание, все координаты - числа целые, значит их тип integer, а вот результат, получается функцией извлечения корня, а она всегда дает вещественный результат.

Когда вы пишите программы важно их протестировать на правильность работы. Например, в данной задаче мне нужно составить такие тесты, которые покажут точные результаты: вертикальные или горизонтальные Отрезки или как в данном примере взяты точки, образующие гипотенузу прямоугольного треугольника со сторонами 3, 4, 5.  

Практическая работа

Задание 1. Определить возможный тип переменных, хранящих следующие значения: 5,’123’, ‘true’, 125, 4.0, ‘1’,  false, 3.4, ‘Вася’, 0.45, '+'. Составьте таблицу из двух столбцов: «значение», «возможный тип». Для целых и вещественных типов достаточно указать один.

Задание 2. Вычислить:

36 div 5 = trunc (8.7) = abs(23) = a:= 5; b:= 7;
36 mod 5 = round(8.7) = abs(-2) =

a:= 2*b – 4;

b:= a - b;

c:= a + b

d:= sqrt(sqr(a)-sqr(2*b))

42 div 7 = trunc (8.3) = sqr (4) =
42 mod 7 = round(8.3) = sqr (5.0) =
5 div 12 = trunc (- 1.8) = sqrt (9) =
5 mod 12 = round(-1.8) = sqrt (100) = Чему равны a, b, c, d?

Задание 3. Определить тип:

а) 3+1.0;        б) sqr (2);                      

в) 25 /5;          г) sqr (10.0);

д) trunc(-15/4);  е) sqrt (100);

Задание 4. Если у вещественная переменная, а n – целая то какие из следующих операторов присваивания правильные, а какие нет и почему?

а) n:= 2*n + 4;         б) n: = trunc(5.4) + 3;

в) y: = 4.0 +2;          г) y: = 4+trunc(y);

д) y: = 3.0+ n div 2; e) n: = 2 mod y;

ж) n: = 2*2/n;           з) y: = sqrt (sqr (n)).

Задание 5. Что будет выведено в результате выполнения программ, для задания с укажите тип переменных:

a b c
Var a,b,c:integer; Begin a:=10; b:=20; c:= b div 2*5+a; b:=c+a; writeln(b); end. Var a:integer; c, b:real; Begin a:=3; b:=60; c:= b/2*a; b:=c+a; writeln(c); end. Begin a:=3; b:=60; c:= a - b/(2*a); c:=c+a; writeln(c); end.

  Задание 6. Напишите программу, которая вводит три целых числа и выводит их среднее арифметическое.

Задание 7. Дан участок прямоугольной формы, стороны которого заданы в метрах. Определите его площадь в сотках. Написать программу.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: