С меня 35 баллов
Практическая работа №8
Тема: Использование логических высказываний и операций в алгоритмических конструкций. Примеры построения алгоритмов с использованием конструкций проверки условий, циклов и описания структур данных.
Цель: овладение навыками алгоритмического мышления и составление программ на алгоритмическом языке, реализующем логические операции.
Учебно-методическое оснащение рабочего места: инструкционно-технологическая карта.
Содержание работы.
Задания к работе.
Задание 1. Запишите в обычной математической форме арифметические выражения:
а) a/b*2;
б) a+b/c+1;
в) 1/a*b/c;
г) a*b*c/2;
д) (a*b)*c/2;
е) x*y*z/a/b;
ж) 4/3*3.14*r*3;
з) d*c/2/R+a**3.
Задание 2. Записать алгоритм в виде блок-схемы.
Определить среднее арифметическое двух чисел, если a положительное и частное (a/b) в противном случае.
Запись решения задачи на алгоритмическом языке:
алг числа
Задание 3. Записать решение задачи на
алгоритмическом языке (псевдокоде).
Определить площадь трапеции по введенным
значениям оснований (a и b) и высоты (h).
(Рисунок 1. Блок-схема линейного алгоритма)
Задание 4. Определить площадь трапеции по введенным значениям оснований (a и b) и высоты (h).
Запись решения задачи на алгоритмическом языке:
алг трапеция
вещ a,b,h,s
нач
ввод f,b,h
s:=((a+b)/2)*h
вывод s
кон
Запись алгоритма в виде блок-схемы (рис. 1):
Рисунок 1. Блок-схема линейного алгоритма
Задание 5. Определить среднее арифметическое двух чисел, если a положительное и частное (a/b) в противном случае.
Запись решения задачи на алгоритмическом языке:
алг числа
вещ a,b,c
нач
ввод a,b
если a>0
то с:=(a+b)/2
иначе с:=a/b
все
вывод с
кон
Запись алгоритма в виде блок-схемы (рис. 2):
Рисунок 2. Блок-схема алгоритма с ветвлением
Задание 6. Составить алгоритм нахождения суммы целых чисел в диапазоне от 1 до 10.
Запись решения задачи на алгоритмическом языке:
алг сумма
вещ a,s
нач
S:=0;
A:=1;
нц
пока a<=10
S:=S+a;
A:=a+1;
кц
вывод S
кон
Запись алгоритма в виде блок-схемы (рис. 3):
Рисунок 3. Циклический алгоритм с предусловием
В алгоритме с постусловием сначала выполняется тело цикла, а затем проверяется условие окончания цикла. Решение задачи нахождения суммы первых десяти целых чисел в данном случае будет выглядеть следующим образом:
алг сумма
вещ a,s
нач
S:=0;
A:=1;
нц Запись алгоритма в виде блок-схемы (рис.4):
S:=S+a;
A:=a+1;
пока a<=10
кц
вывод S
кон
В алгоритме с постусловием сначала выполняется тело цикла, а затем проверяется условие окончания цикла. Решение задачи нахождения суммы первых десяти целых чисел в данном случае будет выглядеть следующим образом:
алг сумма
вещ a,s
нач
S:=0;
A:=1;
нц Запись алгоритма в виде блок-схемы (рис.4):
S:=S+a;
A:=a+1;
пока a<=10
кц
вывод S
кон
Ответы на вопрос:
так как целевой язык программирования не указан, написал на c#.
в главном методе есть две переменные a и b, над которыми производнятся вычисления, а также метод преобразующий число в его строковую запись на языке.
результат работы на рисутке 1.
код:
using system;
using system.collections;
using system.collections.generic;
using system.linq;
using system.text;
namespace findpairs
{
class program
{
static void main(string[] args)
{
//*введи свои значения здесь! *//
int a = 46524;
int b = 7353;
int res = math.abs(a - b);
console.writeline("исходная запись результата |{0}-{1}| = {2},", a, b, res);
console.writeline("что на языке звучит как \"{0}\".", inttonaturalstring(res));
}
static string inttonaturalstring(int number, string sep = " ")
{
return inttonaturalstring(number.;
}
static string inttonaturalstring(string number, string sep = " ")
{
string result = "";
if (number.length > 3)
{
string[] numbersclassnames = { "", "тысяч", "миллионов", "биллионов", "триллионов", "квадрилионов", "квинтиллионов" };
int k = number.length / 3, d = number.length % 3;
if (d > 0)
result += (inttonaturalstring(number.substring(0, d)) + " " + numbersclassnames[k] + sep);
for (int i = 0; i < k; i++)
{
result += (inttonaturalstring(number.substring(d+3*i, 3)) + " " + numbersclassnames[k - 1 - i] + sep);
}
}
else
{
string[] hangred = { "", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот" };
string[] decades = { "", "десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто" };
string[] ones = { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };
string[] chst = { "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестрадцать", "восемнадцать", "девятнадцать" };
number = rightfillzeros(number);
int h = int.parse(number[0].;
int d = int.parse(number[1].;
int o = int.parse(number[2].;
result = hangred[h] + " ";
if (d == 1 & & o ! = 0)
result += chst[o];
else
result += decades[d] + " " + ones[o];
}
return result;
}
static string rightfillzeros(string number, int n = 3)
{
if (number.length < n)
{
number = new string('0', n - number.length) + number;
}
return number;
}
}
}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Kisylyaaa15.09.2021 23:41
-
SofiZ200501.02.2022 04:40
-
анора1028.10.2020 08:29
-
Taimy03.02.2023 11:33
-
ChocoPie1223.05.2022 05:34
-
yanaprosandeeva07.08.2021 19:20
-
лидия8718.03.2022 13:46
-
Yuliaddd27.08.2020 14:27
-
flint4040p070t010.03.2020 23:45
-
Vaprosic18.04.2022 15:09
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.