donliolik
?>

В языке запросов поискового сервера для обозначения логических операций «ИЛИ»Используется символ | », а для обозначения логической операции «И» — символ «8».в таблице приведены запросыи количество найденных по ним страниц некоторогосегмента сети Интернет.Считается, что все запросывыполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполненияЗапросов, ЗапросНайдено страниц (в тысячах)Царевна е Лягушка700Царевна3200Цареева Лягушка5000Какое количество страниц е тысячах) будет найдено по запросу Wягушка?​

Информатика

Ответы

mashumi2170

import codecs #for UTF-8

def file_existence(filename): #check if source file exists

   try:

       f = open(filename, "r")

       f.close()

       print("File '" + filename + "' is opened\n")

       return 0

   except IOError:

       print("File '" + filename + "' is not accessible")

       return 1

def file_size(filename): #lines in source file

   with open(filename) as f:

       for i, l in enumerate(f):

           pass

       return i + 1

 

def main():

   fread_name = "source_data.txt"

   fwrite_name = "result.txt"

   if(file_existence(fread_name)==0):

       F1 = open(fread_name,"r")

       #F2 = open(fwrite_name, "w")

       F2=codecs.open(fwrite_name, "w", "utf-8-sig")

       size=file_size(fread_name)

       source_data=F1.readlines()

           

       x = [float(num.split('=')[1]) for num in source_data] #numbers from string only

       y=[0]*size #empty array for data

       for i in range (0,size):

           if x[i]<-5:

               y[i] = ((((80*x[i]**7)+(61*x[i]**2)+17)**5)+16*x[i]**7)/((((32*x[i]**3)+x[i]**3)**6)-((36*x[i]**2)+54)**4)

           elif x[i]>=-5 and x[i]<1:

               y[i] = (((((24*x[i]**7)+(44*x[i]**2)+93)**5)**(1/2))-(37*x[i]**4) )/( (((31*x[i]**5)+(x[i]**2))**5) + (((26*x[i]**2)-52))**5)

           elif x[i]>=1:

               y[i]=((((45*x[i]**8)+(33*x[i]**2)+12)**4)-(47*x[i]**5))/((((36*x[i]**8)-(x[i]**3))**4)+((91*x[i]-29)**3)**(1/2))

               

       

       for i in range (0,size):

           print(str(i+1)+") "+"X =  "+str(x[i]))

       print("\n")

       for i in range (0,size):

           print("If X="+ str(x[i])+ " Y= " + str(y[i]))

       for i in range (0,size):

           #F2.write("If X="+ str(x[i])+ " Y= " + str(y[i])+"\n")

           F2.write("При x = "+str(x[i])+" значение y = "+str(y[i])+"\n")

       F1.close()

       F2.close()

       print("\nAll data saved in " + fwrite_name)

       input("\nPress any key to exit...")

   else:

       decision=input("\nCreate a stock file 'source_data.txt' for this program with X from -15 to 7? (Y/N): ")

       if decision=="Y" or decision=="y":

           f = open(fread_name, "w")

           for i in range (-15,7):

               f.write('x='+str(i)+"\n")

           f.write('x='+str(i+1)) #without last empty line

           f.close()

           file_existence(fread_name)

           main()

       elif decision=="N" or decision=="n":

           input("Press any key to exit...")

       else:

           print("Wrong input\n")

           main()

if __name__== "__main__":

   main()

Объяснение:

В случае отсутствия source_data.txt программа спрашивает создать ли файл со значениями Х от -15 до 7, т.е. в принципе можно смело запускать программу без файла source_data.txt + программа сама все посчитает и создаст файл result.txt в этой же папке, где и сама программа. Единственное, чего не удалось реализовать - это округление до 3 знаков. Формулы проверены в wolframalpha, но 100% не могу сказать, что все верно, желательно проверить.

P.S. код не самый суперский, но работает почти как надо  :)


Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. дан интервал целых чи

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

В языке запросов поискового сервера для обозначения логических операций «ИЛИ»Используется символ | », а для обозначения логической операции «И» — символ «8».в таблице приведены запросыи количество найденных по ним страниц некоторогосегмента сети Интернет.Считается, что все запросывыполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполненияЗапросов, ЗапросНайдено страниц (в тысячах)Царевна е Лягушка700Царевна3200Цареева Лягушка5000Какое количество страниц е тысячах) будет найдено по запросу Wягушка?​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

AndrukhovichKonovalov
alexandergulyamov
nuralievelsh
isaev
testovvanya
anechcak
balabinatanya7174
sastakhova
Карева Даниил1537
verav75
abadaeva
pisikak999
Verakravez8790
vkaloshin
Иванов1813