argent
?>

1. составить блок схему по нахождению произведению нечётных натуральных чисел от 33 до 55. 2. составить блок схему по нахождению суммы всех чисел от 9 до п.

Информатика

Ответы

Пронкина_TEST1682

Name : c_file_row_count.c

Author : UranFlex

Version : 0.1 alpha

Copyright : GNU GPL

Description : В файле input.txt записана информация из нескольких текстовых строк. Выводим содержимое этого файла на экран, посчитаем количество строк в файле.

#include <stdio.h>

#include <stdlib.h>

#define FNAME "input.txt" // имя исходного файла

int main( void ) {

// пробуем открыть файл для чтения

FILE* in = fopen( FNAME, "r" );

// обрабатываем ошибку открытия файла

if ( in == NULL ) {

perror( "Ошибка при открытии исходного файла" );

return EXIT_FAILURE;

}

size_t counter = 0; // предполагаем, что строк ноль в файле - т.е. пустой

int ch, pre = EOF; // текущий символ, последний считаный символ

printf( "%s %s\n", "Содержимое файла", FNAME );

// в цикле считаем сколько переводов строки в файле и запоминаем это в переменную counter

// а также выводим на экран каждый считаный символ.

// если файл пустой, то тело цикла не выполнится ни разу, так как первый считанный символ будет как раз EOF

// и в pre останется EOF

while ( ( ch = fgetc( in ) ) != EOF ) { // в цикле проходим весь файл посимвольно

pre = ch; // запоминаем последний считаный символ

if ( ch == '\n' ) // если нашли перевод строки,

++counter; // то увеличиваем счетчик строк

putchar( ch ); // выводим очередной символ на экран

}

// весь смысл переменной pre в том, чтобы запомнить какой символ мы считали перед тем как наткнулись на EOF в файле

// или в pre будет EOF - если тело цикла ни разу не выполнилось, это будет при пустом файле

// последняя строка файла может заканчиваться не \n, а строку посчитать надо - вот для этого и нужна переменная pre.

if ( pre == EOF ) // если файл пустой

puts( "Файл пустой!" ); // информация об этом.

else if ( pre != '\n' ) { // pre содержит в себе не перевод строки, и файл не пустой.

++counter; // увеличиваем

puts( "" );

}

puts( "" );

// выводим на экран информацию о количестве строк

printf( "%s %s %d", "строк в файле", FNAME, counter );

return EXIT_SUCCESS;

Объяснение:

Сейчас решаем такую же задачу, только на олимпиаде, вроде так.

bykovaam

Рассмотрим решение

код:

построчно пройдемся по коду, чтобы разобрать, как построить графики функций:

1. импортируем необходимые для построения графика библиотеки: numpy и matplot.pyplot

import matplotlib.pyplot as plt

import numpy as np

2. обработаем ось X

x = np.linspace(0, 10, 10)

numpi.linspace позволяет задать одномерный массив из указанного количества элементов внутри заданного интервала. Краткий общий синтаксис такой: (start, stop, num), аргументы start и stop соответственно служат для определения начала и конца, параметр num является необязательным (он определяет количество точек в последовательности, обычно ставят 50)

3. Поставим в соответствие нашим иксам заданные игреки:

y1 = [i**2 for i in x]

y2 = 2*x + 9

y1 задаем с list comprehension как квадратичную зависимость, y2 зададим просто как 2*x + 9

4. Наполним наш график информацией

plt.title("Функции: y1 = x ^ 2, y2 = 2*x + 9")  

plt.xlabel("x")          

plt.ylabel("y1, y2")  

5. Включим сетку для удобства восприятия:

plt.grid()  

6. Непосредственно построим графики:

plt.plot(x, y1, x, y2)  

Результат на втором скриншотеВажно: для работы данной программы нужно через pip установить numpy и matplot, если вы работаете не в среде облачного интерпретатора.
Построить график функций y1=x² и y2=2*x+9
Построить график функций y1=x² и y2=2*x+9

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

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

1. составить блок схему по нахождению произведению нечётных натуральных чисел от 33 до 55. 2. составить блок схему по нахождению суммы всех чисел от 9 до п.
Ваше имя (никнейм)*
Email*
Комментарий*

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

goodsled
mishapavlov9
alyans29
Neveselova
ddavydov1116
turovvlad
Алиференко_Елена342
Bondarev_Ayupova795
lakeeva90
MislitskiiSergei1403
margarita25061961
Nadegdasb
buleckovd8724
elenasnikitina84
russstep