Задача - Найти в файле строки, содержащие определенные значения - программирование на разных языках

Задача — Найти в файле строки, содержащие определенные значения — программирование на разных языках

Задачи по программированию с решением для школьников
Want create site? Find Free WordPress Themes and plugins.

Задача — Найти в файле строки, содержащие определенные значения
— программирование на Pascal, Си, Кумир, Basic-256, Python

В текстовый файл построчно записаны фамилия и имя учащихся класса и его оценка за контрольную. Вывести на экран всех учащихся, чья оценка меньше 3 баллов и посчитать средний балл по классу.

Примерное содержание файла:

 Иванов О. 4 Петров И. 3 Дмитриев Н. 2 Смирнова О. 4 Керченских В. 5 Котов Д. 2 Бирюкова Н. 1 Данилов П. 3 Аранских В. 5 Лемонов Ю. 2 Олегова К. 4

До того, как будет считываться содержимое файла, надо присвоить двум переменным нули. В одной из них будет накапливаться сумма баллов, а в другой — количество строк (количество человек). Средний балл находится при делении суммы на количество.

После того, как файл будет открыт, его надо считывать построчно. Из каждой строки надо «вырезать» оценку. Это последний или предпоследний символ строки. Если оценка меньше, чем 3, то выводить всю строку на экран.

Полученную оценку из каждой строки, надо преобразовывать к целому числу и добавлять к сумме, а также при считывании каждой строки увеличивать на 1 счетчик человек.

После того, как будет достигнут конец файла, его надо закрыть, посчитать средний балл и вывести его на экран.

Pascal

var
f: text;
s: string;
sum,g,n: word;
begin
assign(f,’class8.txt’);
reset(f);
sum := 0;
n := 0;
while not eof(f) do begin
readln(f,s);
val(s[length(s)],g);
sum := sum + g;
n := n + 1;
if g < 3 then
writeln(s);
end;
writeln(‘Средний балл: ‘, sum/n:4:2);
end. Дмитриев Н. 2
Котов Д. 2
Бирюкова Н. 1
Лемонов Ю. 2
Средний балл: 3.18

Язык Си

#include <stdio.h>

main() {
FILE *f;
char s1[20], s2[3];
unsigned g, sum, n;
f = fopen(«class8.txt»,»r»);
sum = n = 0;
while (fscanf(f, «%s%s%u», s1, s2, &g) != EOF) {
if (g < 3) printf(«%s %s %dn»,s1,s2,g);
sum += g;
n += 1;
}
fclose(f);
printf(«Средний балл: %.2fn», (float)sum/n);
}

Python

f = open(‘class8.txt’)
suma = 0
n = 0
for i in f:
g = int(i[len(i)-2])
suma += g
n += 1
if g < 3:
print(i[:-1])
print(‘Средний балл: %.2f’ % (suma/n))

Basic-256

open «class8.txt»
sum = 0
n = 0
while not eof
s$ = readline
g = int(right(s$,2))
if g < 3 then print s$;
sum = sum + g
n = n + 1
endwhile
close
print «Средний балл: «;
print sum/n

Did you find apk for android? You can find new Free Android Games and apps.

Добавить комментарий