М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
eligi2345
eligi2345
17.03.2021 14:19 •  Информатика

Практическая работа 7 «Организация данных. Обработка данных. Выражения. Функции» Цель: научиться использовать стандартные функции языка программирования при решении задач
Ход занятия
Теоретические основы
1) http://www.newscad.com/pascal-online - Паскаль-онлайн 2) Стандартные функции языка Pascal
Арифметические функции (основные)
Функция
abs (x) sqr (x) sqrt (x) cos (x) sin (x) arctan (x) exp (x) ln (x)
int (x) frac (x)
Назначение
абсолютное значение аргумента квадрат аргумента
квадратный корень аргумента косинус аргумента
синус аргумента арктангенс аргумента ex
натуральный логарифм целая часть числа дробная часть числа
Тип результата
совпадает с типом аргумента совпадает с типом аргумента вещественный вещественный вещественный вещественный вещественный вещественный вещественный вещественный
Функции преобразования типов
round (x) — округляет вещественное число до ближайшего целого.
trunc (x) — выдает целую часть вещественного числа, отбрасывая дробную.
Функция в Паскале — это подпрограмма, которая в отличие от процедуры всегда возвращает какое-либо значение. Для этого в теле функции её имени присваивается вычисленное значение — результат, который она возвращает.
Функция – это подпрограмма, результатом работы которой является определенное значение.
Функции используются для:
o выполнения одинаковых расчетов в различных местах программы; o для создания общедоступных библиотек функций.
К каждой задаче требуется блок-схема и программный код на языке Паскаль
Задачи для самостоятельного решения
1) Написать функцию, которая вычисляет наибольшее число из трех заданных значений. 2) При функции найти среднее арифметическое двух чисел.
3) Составить программу с функцией для вычисления факториала числа.

4) В правильном треугольнике проведена средняя линия. Найти площадь образовавшейся трапеции, дважды используя функцию вычисления площади правильного треугольника по формуле
5) Тариф предусматривает оплату телефонных разговоров следующим образом: при продолжительности разговора меньше P минут стоимость одной минуты составляет S1 копеек, в противном случае – S2 коп/мин (S1, S2, P - константы). Используя функцию вычисления стоимости одного разговора, найти суммарную стоимость трех звонков известной продолжительности.
6) Найти член последовательности, заданной формулой: Di=7+Di-1 при i>1, где D1 определяется пользователем.
7) Найти те натуральные числа, не превосходящие x, которые при делении на 10 дают в остатке 5.
8) По данным сторонам прямоугольника вычислить его периметр, площадь и длину диагонали
9) Составьте задачу на Паскале для определения дробной и целой части от значения выражения: y*sin(x)/cos(x+y).(Значения х и у вводятся с клавиатуры).
Контрольные вопросы
1. Напишите функции, которые использованы вами для решения задач. 2. Напишите операторы, которые использованы вами для решения задач.

👇
Открыть все ответы
Ответ:
Anna14124
Anna14124
17.03.2021
#include "math.h"#include "iostream"
using namespace std;
int main(){int a, n, max, min;int max_i, max_k, min_i, min_k;//ввод размера массиваcin>>a;cin>>n;
//объявление массиваint** a = new int* [a]; for(int i = 0; i < n; i++) { a[i] = new int [a]; }
//ввод первого массива for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { cin>>a[i][k]; } } //Инициализация max, min; max=a[0][0]; min=a[0][0]; //поиск максимума for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { if(max<a[i][k]) { max=a[i][k]; max_i=i; max_k=k; } } } //поиск минимума for(int i = 0; i < a; i++) { for(int k = 0; k < n; k++) { if(min>a[i][k]) { min=a[i][k]; min_i=i; min_k=k; } } }
//Max and Min меняются местамиswap(a[max_i][max_k],a[min_i][min_k]);getch();return 0;}
4,6(6 оценок)
Ответ:
Petersen
Petersen
17.03.2021
//Pascal ABC.NET v3.0 сборка 1111

var
 i,a,b:integer;
 ar:array[1..10] of integer;

 procedure oddDec(var a,b:integer);  //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;

procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;

begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
 begin;
  ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
  write(ar[i]:4); //вывод
  if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
  {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
 end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.

Пример ввода:
20
10
Пример вывода:
Array:
  10  16   0  60  23   4  22 -20   4  55
Final array:
   0  36 -10  80  13  24  12   0  -6  75  
4,4(9 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ